summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2015-08-13Merge tag 'v4.2-next-arm64-2' of https://github.com/mbgg/linux-mediatek into ↵Olof Johansson1-0/+13
next/arm64 Add SMP support for mt6795 SoC. * tag 'v4.2-next-arm64-2' of https://github.com/mbgg/linux-mediatek: ARM64: dts: mt6795: enable basic SMP bringup for MT6795 Signed-off-by: Olof Johansson <olof@lixom.net>
2015-08-07ARM64: dts: mt6795: enable basic SMP bringup for MT6795Scott Shu1-0/+13
This patch adds support SMP on MediaTek MT6795 Cortex-A53 Octa-core SoC. Signed-off-by: Scott Shu <scott.shu@mediatek.com> Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2015-08-06arm64: Enable Marvell Berlin SoC family in defconfigJisheng Zhang1-0/+1
Enable Marvell Berlin SoC family in arm64 defconfig. Signed-off-by: Jisheng Zhang <jszhang@marvell.com> Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com> Signed-off-by: Olof Johansson <olof@lixom.net>
2015-08-06arm64: Enable Marvell Berlin SoC family in KconfigJisheng Zhang1-0/+6
This patch introduces ARCH_BERLIN to enable Marvell Berlin SoC family in Kconfig. Signed-off-by: Jisheng Zhang <jszhang@marvell.com> Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com> Signed-off-by: Olof Johansson <olof@lixom.net>
2015-08-06Merge tag 'zynqmp-dt-for-4.3' of https://github.com/Xilinx/linux-xlnx into ↵Olof Johansson2-81/+241
next/arm64 arm: Xilinx ZynqMP dt patches for v4.3 - Add SATA, GPIO, CAN, SMMU, USB, SPI, I2C, watchdog and sdhci for zynqmp - Sort nodes in dtsi * tag 'zynqmp-dt-for-4.3' of https://github.com/Xilinx/linux-xlnx: ARM64: zynqmp: Move SPI nodes to the right location ARM64: zynqmp: Move uart and ttcs to the right location ARM64: zynqmp: Enable spi flashes on ep108 ARM64: zynqmp: Add eeprom memories on i2c bus ARM64: zynqmp: Enable sdhci on ep108 ARM64: zynqmp: Enable watchdog on ep108 ARM64: zynqmp: Add DWC3 usb support ARM64: zynqmp: Add SMMU support ARM64: zynqmp: Add CANs node for platform ARM64: zynqmp: Use zynqmp specific compatible string for gpio devicetree: xilinx: zynqmp: add sata node Signed-off-by: Olof Johansson <olof@lixom.net>
2015-08-05Merge tag 'qcom-arm64-for-4.3' of ↵Olof Johansson5-48/+708
git://codeaurora.org/quic/kernel/agross-msm into next/arm64 Qualcomm ARM64 Updates for v4.3 * Add BLSP and required pinctrl info for MSM8916 * Add SDHC aliases and nodes for MSM8916 * Add USB nodes for MSM8916 * Add APQ8016 SBC specific USB configuration * Add APQ8016 LED configuration * tag 'qcom-arm64-for-4.3' of git://codeaurora.org/quic/kernel/agross-msm: arm64: dts: qcom: Add apq8016-sbc board LED's related device nodes arm64: dts: qcom: Fix apq8016-sbc board USB related pin definitions arm64: dts: qcom: apq8016-sbc: Don't hog client driver pins arm64: dts: qcom: Add msm8916 USB configuration nodes arm64: dts: qcom: Add msm8916 sdhci configuration nodes arm64: dts: qcom: Add msm8916 BLSP device nodes arm64: dts: qcom: Extend msm8916 pinctrl device coverage Signed-off-by: Olof Johansson <olof@lixom.net>
2015-07-31ARM64: zynqmp: Move SPI nodes to the right locationMichal Simek1-24/+24
Keep nodes sorted. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2015-07-31ARM64: zynqmp: Move uart and ttcs to the right locationMichal Simek1-60/+60
Sort nodes in DTSI. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2015-07-31ARM64: zynqmp: Enable spi flashes on ep108Michal Simek1-0/+34
Enable spi flashes on ep108. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2015-07-31ARM64: zynqmp: Add eeprom memories on i2c busMichal Simek1-0/+18
Add i2c eeprom memories on i2c bus. Signed-off-by: Michal Simek <michal.simek@xilinx.com> Reviewed-by: Shubhrajyoti Datta <shubhraj@xilinx.com>
2015-07-31ARM64: zynqmp: Enable sdhci on ep108Michal Simek1-0/+8
Enable both sdhcis on ep108. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2015-07-31ARM64: zynqmp: Enable watchdog on ep108Michal Simek1-0/+4
Enable watchdog on ep108. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2015-07-31ARM64: zynqmp: Add DWC3 usb supportMichal Simek2-0/+32
Add usb nodes to DTSI and enable both of them on ep108. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2015-07-31ARM64: zynqmp: Add SMMU supportMichal Simek1-0/+12
Add SMMU DT node to DTSI. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2015-07-31ARM64: zynqmp: Add CANs node for platformMichal Simek2-0/+28
Also enable can0 for ep108. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2015-07-31ARM64: zynqmp: Use zynqmp specific compatible string for gpioMichal Simek2-1/+5
The patch: "gpio: Added support to Zynq Ultrascale+ MPSoC" (sha1: bdf7a4ae371894b4dc10b5820006b0a82d484929) added zynqmp specific features. This patch is switching the driver to use the zynqmp compatible string. Also enable the driver for ep108 platform. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2015-07-31devicetree: xilinx: zynqmp: add sata nodeSuneel Garapati2-0/+20
add sata node with sata fixed clock nodes in dtsi file. enable sata in zynqmp-ep108.dts with broken-gen2. Signed-off-by: Suneel Garapati <suneel.garapati@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2015-07-29PCI: iproc: Fix BCMA dependency in KconfigRay Jui1-1/+1
The current iProc BCMA front-end driver can only work on ARM32 based platforms; therefore its config option in Kconfig should be changed to reflect that. This fixes arm64 allmodconfig build failure when compiling the the iProc BCMA driver that contains struct pci_sys_data that is arm32 specific Signed-off-by: Ray Jui <rjui@broadcom.com> Signed-off-by: Olof Johansson <olof@lixom.net>
2015-07-29arm64: dts: Add Broadcom North Star 2 supportRay Jui5-0/+192
Add Broadcom NS2 device tree binding document. Also add initial device tree dtsi for Broadcom North Star 2 (NS2) SoC and board support for NS2 SVK board Signed-off-by: Jon Mason <jonmason@broadcom.com> Signed-off-by: Ray Jui <rjui@broadcom.com> Reviewed-by: Scott Branden <sbranden@broadcom.com> Signed-off-by: Olof Johansson <olof@lixom.net>
2015-07-29arm64: Add Broadcom iProc family supportRay Jui2-0/+6
This patch adds support to Broadcom's iProc family of arm64 based SoCs in the arm64 Kconfig and defconfig files Signed-off-by: Ray Jui <rjui@broadcom.com> Reviewed-by: Scott Branden <sbranden@broadcom.com> Signed-off-by: Olof Johansson <olof@lixom.net>
2015-07-29PCI: iproc: Fix ARM64 dependency in KconfigRay Jui1-1/+1
Allow Broadcom iProc PCIe core driver to be compiled for ARM64 Signed-off-by: Ray Jui <rjui@broadcom.com> Reviewed-by: Vikram Prakash <vikramp@broadcom.com> Reviewed-by: Scott Branden <sbranden@broadcom.com> Acked-by: Bjorn Helgaas <bhelgaas@google.com> Signed-off-by: Olof Johansson <olof@lixom.net>
2015-07-29PCI: iproc: enable arm64 support for iProc PCIeRay Jui2-8/+23
PCI: iproc: Add arm64 support Add arm64 support to the iProc PCIe driver. Note that on arm32, bus->sysdata points to the arm32-specific pci_sys_data struct, and pci_sys_data.private_data contains the iproc_pcie pointer. For arm64, there's nothing corresponding to pci_sys_data, so we keep the iproc_pcie pointer directly in bus->sysdata. In addition, arm64 does IRQ mapping in pcibios_add_device(), so it doesn't need pci_fixup_irqs() as arm32 does. Signed-off-by: Ray Jui <rjui@broadcom.com> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Reviewed-by: Scott Branden <sbranden@broadcom.com> Acked-by: Bjorn Helgaas <bhelgaas@google.com> Signed-off-by: Olof Johansson <olof@lixom.net>
2015-07-29arm64: dts: qcom: Add apq8016-sbc board LED's related device nodesIvan T. Ivanov3-8/+73
APQ8016 SBC board have 6 user controllable LED's. Add following devices: LED1 green LED triggered by system heartbeat. LED2 green LED triggered by access to eMMC device. LED3 green LED triggered by access to SD card. LED4 green LED no trigger assigned. LED5 yellow LED triggered by access to WLAN. LED6 blue LED triggered by access to Bluetooth. Signed-off-by: Ivan T. Ivanov <ivan.ivanov@linaro.org> Signed-off-by: Andy Gross <agross@codeaurora.org>
2015-07-29arm64: dts: qcom: Fix apq8016-sbc board USB related pin definitionsIvan T. Ivanov1-14/+8
USB2513B HUB reset line is connected to PMIC GPIO3 not GPIO1. Fix TC7USB40MU Dual SPDT Switch select input line control, which is connected to PMIC GPIO4 not GPIO2 and disable the pin. It is not used for now. Remove user LEDs definitions, because they clash with above numbers. Signed-off-by: Ivan T. Ivanov <ivan.ivanov@linaro.org> Signed-off-by: Andy Gross <agross@codeaurora.org>
2015-07-29arm64: dts: qcom: apq8016-sbc: Don't hog client driver pinsIvan T. Ivanov2-6/+0
Hogging pins from pinctrl driver prevents client drivers to probe. Signed-off-by: Ivan T. Ivanov <ivan.ivanov@linaro.org> Signed-off-by: Andy Gross <agross@codeaurora.org>
2015-07-29arm64: dts: qcom: Add msm8916 USB configuration nodesIvan T. Ivanov1-0/+39
Add Host, Device and OTG configuration nodes. Signed-off-by: Ivan T. Ivanov <ivan.ivanov@linaro.org> Signed-off-by: Andy Gross <agross@codeaurora.org>
2015-07-29arm64: dts: qcom: Add msm8916 sdhci configuration nodesSrinivas Kandagatla1-1/+33
Add sdhci1 and sdhci2 device configuration nodes. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Signed-off-by: Ivan T. Ivanov <ivan.ivanov@linaro.org> Signed-off-by: Andy Gross <agross@codeaurora.org>
2015-07-29arm64: dts: qcom: Add msm8916 BLSP device nodesIvan T. Ivanov1-0/+128
Add device nodes for SPI1, SPI2, SPI3, I2C4, SPI5, SPI6 and BAM(DMA) engine connected to them. Signed-off-by: Stanimir Varbanov <stanimir.varbanov@linaro.org> Signed-off-by: Ivan T. Ivanov <ivan.ivanov@linaro.org> Signed-off-by: Andy Gross <agross@codeaurora.org>
2015-07-29arm64: dts: qcom: Extend msm8916 pinctrl device coverageIvan T. Ivanov2-24/+432
Create separate file for MSM8916 pinctrl default/sleep pins state definitions. Move in UART2 states and add SPI, I2C and SDC configurations. Signed-off-by: Stanimir Varbanov <stanimir.varbanov@linaro.org> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Signed-off-by: Ivan T. Ivanov <ivan.ivanov@linaro.org> Signed-off-by: Andy Gross <agross@codeaurora.org>
2015-07-28Merge tag 'v4.2-next-arm64' of https://github.com/mbgg/linux-mediatek into ↵Olof Johansson8-18/+883
next/arm64 - arm64: dts: mediatek: add mt6795 support - Document: DT: Add bindings for mediatek MT6795 SoC Platform - arm64: dts: mediatek: Add MT8173 MMC dts - arm64: dts: mt8173: Add afe device node - arm64: dts: mt8173-evb: Add PMIC support - dts: mt8173-evb: Add da9211 to i2c1 - ARM: dts: mt8173: support arm64 cpuidle-dt - ARM64: MediaTek MT8173: Add SCPSYS device node - arm64: dts: mt8173: Add I2C device node - arm64: dts: mt8173: Add watchdog device node - arm64: dts: mt8173: Add PMIC wrapper device node - arm64: dts: mt8173: Use real clock for UARTs - arm64: dts: mt8173: Add clock controller device nodes * tag 'v4.2-next-arm64' of https://github.com/mbgg/linux-mediatek: arm64: dts: mediatek: add mt6795 support Document: DT: Add bindings for mediatek MT6795 SoC Platform arm64: dts: mediatek: Add MT8173 MMC dts arm64: dts: mt8173: Add afe device node arm64: dts: mt8173-evb: Add PMIC support dts: mt8173-evb: Add da9211 to i2c1 ARM: dts: mt8173: support arm64 cpuidle-dt ARM64: MediaTek MT8173: Add SCPSYS device node arm64: dts: mt8173: Add I2C device node arm64: dts: mt8173: Add watchdog device node arm64: dts: mt8173: Add PMIC wrapper device node arm64: dts: mt8173: Use real clock for UARTs arm64: dts: mt8173: Add clock controller device nodes Signed-off-by: Olof Johansson <olof@lixom.net>
2015-07-23arm64: dts: mediatek: add mt6795 supportMars Cheng3-0/+204
This adds basic chip support for MT6795 SoC Signed-off-by: Mars Cheng <mars.cheng@mediatek.com> Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2015-07-23Document: DT: Add bindings for mediatek MT6795 SoC PlatformMars Cheng3-5/+12
This adds DT binding documentation for Mediatek MT6795. Signed-off-by: Mars Cheng <mars.cheng@mediatek.com> Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2015-07-21arm64: dts: mediatek: Add MT8173 MMC dtsEddie Huang2-0/+170
Add node mmc0 ~ mmc3 for mt8173.dtsi Add node mmc0, mmc1 for mt8173-evb.dts Signed-off-by: Chaotian Jing <chaotian.jing@mediatek.com> Signed-off-by: Eddie Huang <eddie.huang@mediatek.com> Reviewed-by: Daniel Kurtz <djkurtz@chromium.org> Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2015-07-20arm64: fix Kconfig include pathOlof Johansson1-1/+1
They're not relative. My builder failed silently and never notified me of the error. Sigh. Signed-off-by: Olof Johansson <olof@lixom.net>
2015-07-18arm64: dts: mt8173: Add afe device nodeKoro Chen1-0/+32
This adds afe (audio front end) device node to the MT8173 dtsi file. Signed-off-by: Koro Chen <koro.chen@mediatek.com> Reviewed-by: Daniel Kurtz <djkurtz@chromium.org> Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2015-07-17arm64: dts: add Rockchip rk3368 core dtsi and board dts for the r88 boardHeiko Stübner4-0/+1260
In terms of peripherals the rk3368 is quite similar to the rk3288, which makes it possible to have a lot basic components working in the first go. More to follow once I tracked down all the tiny differences that still exist in some parts. With these dts files, the R88 board is able to boot from an attached usb device and most likely from its emmc too, if the emmc uses a standard partition table instead of Rockchip's own one - the emmc itself is detected correctly. Signed-off-by: Heiko Stuebner <heiko@sntech.de> Signed-off-by: Olof Johansson <olof@lixom.net>
2015-07-17Merge branch 'depends/clk-rk3368' into next/arm64Olof Johansson14-16/+1555
Merge in dependent stable branch with clk driver for RK3368, needed for the dt binding header files. * depends/clk-rk3368: clk: rockchip: add rk3368 clock controller clk: rockchip: add missing include guards clk: rockchip: add dt-binding header for rk3368 dt-bindings: add documentation of rk3668 clock controller clk: rockchip: define the inverters of rk3066/rk3188 and rk3288 clk: rockchip: fix issues in the mmc-phase clock clk: rockchip: add support for phase inverters clk: rockchip: add COMPOSITE_NOGATE_DIVTBL variant clk: rockchip: protect register macros against multipart values clk: rockchip: fix faulty vip parent name on rk3288 clk: rockchip: rk3288: add CLK_SET_RATE_PARENT to sclk_mac Signed-off-by: Olof Johansson <olof@lixom.net>
2015-07-17arm64: defconfig: enable ARCH_ROCKCHIPHeiko Stübner1-0/+2
Enable building Rockchip support in the defconfig. Signed-off-by: Heiko Stuebner <heiko@sntech.de> Signed-off-by: Olof Johansson <olof@lixom.net>
2015-07-17arm64: add Rockchip architecture entryHeiko Stübner1-0/+10
The rk3368 is Rockchip's first ARM64 soc, build around 8 Cortex-A53 cores. Signed-off-by: Heiko Stuebner <heiko@sntech.de> Signed-off-by: Olof Johansson <olof@lixom.net>
2015-07-17arm64: Split out platform options to separate KconfigOlof Johansson2-104/+105
Let's move out the platform Kconfig entries to a separate file, since these changes usually get moved through arm-soc instead of the arm64 arch tree, and this will lead to fewer conflicts Signed-off-by: Olof Johansson <olof@lixom.net> Acked-by: Will Deacon <will.deacon@arm.com> Acked-by: Catalin Marinas <catalin.marinas@arm.com>
2015-07-15arm64: dts: sprd: adding ETM entries to Spreadtrum SC9836Chunyan Zhang1-5/+94
Since ETMv4 driver has been merged, this patch adds ETM nodes for SC9836, and four funnel input ports to connect with ETM output ports. Signed-off-by: Chunyan Zhang <zhang.chunyan@linaro.org> Signed-off-by: Olof Johansson <olof@lixom.net>
2015-07-13Linux 4.2-rc2Linus Torvalds1-1/+1
2015-07-13Revert "drm/i915: Use crtc_state->active in primary check_plane func"Linus Torvalds1-1/+1
This reverts commit dec4f799d0a4c9edae20512fa60b0a36f3299ca2. Jörg Otte reports a NULL pointder dereference due to this commit, as 'crtc_state' very much can be NULL: crtc_state = state->base.state ? intel_atomic_get_crtc_state(state->base.state, intel_crtc) : NULL; So the change to test 'crtc_state->base.active' cannot possibly be correct as-is. There may be some other minimal fix (like just checking crtc_state for NULL), but I'm just reverting it now for the rc2 release, and people like Daniel Vetter who actually know this code will figure out what the right solution is in the longer term. Reported-and-bisected-by: Jörg Otte <jrg.otte@gmail.com> Cc: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com> Cc: Jani Nikula <jani.nikula@linux.intel.com> Cc: Daniel Vetter <daniel.vetter@intel.com> CC: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2015-07-13Merge branch 'for-linus' of ↵Linus Torvalds4-6/+10
git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs Pull VFS fixes from Al Viro: "Fixes for this cycle regression in overlayfs and a couple of long-standing (== all the way back to 2.6.12, at least) bugs" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: freeing unlinked file indefinitely delayed fix a braino in ovl_d_select_inode() 9p: don't leave a half-initialized inode sitting around
2015-07-12Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linusLinus Torvalds27-123/+214
Pull MIPS fixes from Ralf Baechle: "A fair number of 4.2 fixes also because Markos opened the flood gates. - Patch up the math used calculate the location for the page bitmap. - The FDC (Not what you think, FDC stands for Fast Debug Channel) IRQ around was causing issues on non-Malta platforms, so move the code to a Malta specific location. - A spelling fix replicated through several files. - Fix to the emulation of an R2 instruction for R6 cores. - Fix the JR emulation for R6. - Further patching of mindless 64 bit issues. - Ensure the kernel won't crash on CPUs with L2 caches with >= 8 ways. - Use compat_sys_getsockopt for O32 ABI on 64 bit kernels. - Fix cache flushing for multithreaded cores. - A build fix" * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: MIPS: O32: Use compat_sys_getsockopt. MIPS: c-r4k: Extend way_string array MIPS: Pistachio: Support CDMM & Fast Debug Channel MIPS: Malta: Make GIC FDC IRQ workaround Malta specific MIPS: c-r4k: Fix cache flushing for MT cores Revert "MIPS: Kconfig: Disable SMP/CPS for 64-bit" MIPS: cps-vec: Use macros for various arithmetics and memory operations MIPS: kernel: cps-vec: Replace KSEG0 with CKSEG0 MIPS: kernel: cps-vec: Use ta0-ta3 pseudo-registers for 64-bit MIPS: kernel: cps-vec: Replace mips32r2 ISA level with mips64r2 MIPS: kernel: cps-vec: Replace 'la' macro with PTR_LA MIPS: kernel: smp-cps: Fix 64-bit compatibility errors due to pointer casting MIPS: Fix erroneous JR emulation for MIPS R6 MIPS: Fix branch emulation for BLTC and BGEC instructions MIPS: kernel: traps: Fix broken indentation MIPS: bootmem: Don't use memory holes for page bitmap MIPS: O32: Do not handle require 32 bytes from the stack to be readable. MIPS, CPUFREQ: Fix spelling of Institute. MIPS: Lemote 2F: Fix build caused by recent mass rename.
2015-07-12Merge branch 'x86-urgent-for-linus' of ↵Linus Torvalds13-91/+116
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 fixes from Thomas Gleixner: - the high latency PIT detection fix, which slipped through the cracks for rc1 - a regression fix for the early printk mechanism - the x86 part to plug irq/vector related hotplug races - move the allocation of the espfix pages on cpu hotplug to non atomic context. The current code triggers a might_sleep() warning. - a series of KASAN fixes addressing boot crashes and usability - a trivial typo fix for Kconfig help text * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/kconfig: Fix typo in the CONFIG_CMDLINE_BOOL help text x86/irq: Retrieve irq data after locking irq_desc x86/irq: Use proper locking in check_irq_vectors_for_cpu_disable() x86/irq: Plug irq vector hotplug race x86/earlyprintk: Allow early_printk() to use console style parameters like '115200n8' x86/espfix: Init espfix on the boot CPU side x86/espfix: Add 'cpu' parameter to init_espfix_ap() x86/kasan: Move KASAN_SHADOW_OFFSET to the arch Kconfig x86/kasan: Add message about KASAN being initialized x86/kasan: Fix boot crash on AMD processors x86/kasan: Flush TLBs after switching CR3 x86/kasan: Fix KASAN shadow region page tables x86/init: Clear 'init_level4_pgt' earlier x86/tsc: Let high latency PIT fail fast in quick_pit_calibrate()
2015-07-12Merge branch 'timers-urgent-for-linus' of ↵Linus Torvalds8-74/+155
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull timer fixes from Thomas Gleixner: "This update from the timer departement contains: - A series of patches which address a shortcoming in the tick broadcast code. If the broadcast device is not available or an hrtimer emulated broadcast device, some of the original assumptions lead to boot failures. I rather plugged all of the corner cases instead of only addressing the issue reported, so the change got a little larger. Has been extensivly tested on x86 and arm. - Get rid of the last holdouts using do_posix_clock_monotonic_gettime() - A regression fix for the imx clocksource driver - An update to the new state callbacks mechanism for clockevents. This is required to simplify the conversion, which will take place in 4.3" * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: tick/broadcast: Prevent NULL pointer dereference time: Get rid of do_posix_clock_monotonic_gettime cris: Replace do_posix_clock_monotonic_gettime() tick/broadcast: Unbreak CONFIG_GENERIC_CLOCKEVENTS=n build tick/broadcast: Handle spurious interrupts gracefully tick/broadcast: Check for hrtimer broadcast active early tick/broadcast: Return busy when IPI is pending tick/broadcast: Return busy if periodic mode and hrtimer broadcast tick/broadcast: Move the check for periodic mode inside state handling tick/broadcast: Prevent deep idle if no broadcast device available tick/broadcast: Make idle check independent from mode and config tick/broadcast: Sanity check the shutdown of the local clock_event tick/broadcast: Prevent hrtimer recursion clockevents: Allow set-state callbacks to be optional clocksource/imx: Define clocksource for mx27
2015-07-12Merge branch 'irq-urgent-for-linus' of ↵Linus Torvalds3-6/+27
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull irq fix from Thomas Gleixner: "A single fix for a cpu hotplug race vs. interrupt descriptors: Prevent irq setup/teardown across the cpu starting/dying parts of cpu hotplug so that the starting/dying cpu has a stable view of the descriptor space. This has been an issue for all architectures in the cpu dying phase, where interrupts are migrated away from the dying cpu. In the starting phase its mostly a x86 issue vs the vector space update" * 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: hotplug: Prevent alloc/free of irq descriptors during cpu up/down
2015-07-12freeing unlinked file indefinitely delayedAl Viro1-2/+5
Normally opening a file, unlinking it and then closing will have the inode freed upon close() (provided that it's not otherwise busy and has no remaining links, of course). However, there's one case where that does *not* happen. Namely, if you open it by fhandle with cold dcache, then unlink() and close(). In normal case you get d_delete() in unlink(2) notice that dentry is busy and unhash it; on the final dput() it will be forcibly evicted from dcache, triggering iput() and inode removal. In this case, though, we end up with *two* dentries - disconnected (created by open-by-fhandle) and regular one (used by unlink()). The latter will have its reference to inode dropped just fine, but the former will not - it's considered hashed (it is on the ->s_anon list), so it will stay around until the memory pressure will finally do it in. As the result, we have the final iput() delayed indefinitely. It's trivial to reproduce - void flush_dcache(void) { system("mount -o remount,rw /"); } static char buf[20 * 1024 * 1024]; main() { int fd; union { struct file_handle f; char buf[MAX_HANDLE_SZ]; } x; int m; x.f.handle_bytes = sizeof(x); chdir("/root"); mkdir("foo", 0700); fd = open("foo/bar", O_CREAT | O_RDWR, 0600); close(fd); name_to_handle_at(AT_FDCWD, "foo/bar", &x.f, &m, 0); flush_dcache(); fd = open_by_handle_at(AT_FDCWD, &x.f, O_RDWR); unlink("foo/bar"); write(fd, buf, sizeof(buf)); system("df ."); /* 20Mb eaten */ close(fd); system("df ."); /* should've freed those 20Mb */ flush_dcache(); system("df ."); /* should be the same as #2 */ } will spit out something like Filesystem 1K-blocks Used Available Use% Mounted on /dev/root 322023 303843 1131 100% / Filesystem 1K-blocks Used Available Use% Mounted on /dev/root 322023 303843 1131 100% / Filesystem 1K-blocks Used Available Use% Mounted on /dev/root 322023 283282 21692 93% / - inode gets freed only when dentry is finally evicted (here we trigger than by remount; normally it would've happened in response to memory pressure hell knows when). Cc: stable@vger.kernel.org # v2.6.38+; earlier ones need s/kill_it/unhash_it/ Acked-by: J. Bruce Fields <bfields@fieldses.org> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2015-07-12fix a braino in ovl_d_select_inode()Al Viro1-0/+3
when opening a directory we want the overlayfs inode, not one from the topmost layer. Reported-By: Andrey Jr. Melnikov <temnota.am@gmail.com> Tested-By: Andrey Jr. Melnikov <temnota.am@gmail.com> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>