summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2015-07-28ARM: appropriate __init annotation for const dataNicolas Pitre40-50/+50
Init data marked const should be annotated with __initconst for correctness and not __initdata. In some cases the array gathering references to that data has to be marked const as well. This fixes LTO builds that otherwise fail with section mismatch errors. Signed-off-by: Nicolas Pitre <nico@linaro.org> Signed-off-by: Olof Johansson <olof@lixom.net>
2015-07-27Merge tag 'renesas-cleanup2-for-v4.3' of ↵Olof Johansson1-2/+2
git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/cleanup Second Round of Renesas ARM Based SoC Cleanup for v4.3 * Silence APMU build warnings * tag 'renesas-cleanup2-for-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: apmu: silence build warnings Signed-off-by: Olof Johansson <olof@lixom.net>
2015-07-22Merge tag 'omap-for-v4.3/legacy-v2-signed' of ↵Olof Johansson4-905/+0
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/cleanup Merge "drop few more legacy boards for v4.3" from Tony Lindgren: Drop more omap3 legacy board-*.c files for v4.3. This time we're dropping the board files for omap3logic and omap3pandora. The reason for dropping these now rather than later is that now we can simply revert the patches in case of unexpected issues as we are not dropping any platform data at this point. This leaves us with only the following board-*.c files: BOARD REASON NEEDED board-ldp.c Still used in RMKs boot test system board-rx51-*.c Needs /proc/atags support for user space Once we have the n900 legacy user space issues sorted out for /proc/atags and system_rev, we can drop the remaining two board-*.c files. And then one merge window after that we can drop the legacy booting support assuming no unexpected issues are found. * tag 'omap-for-v4.3/legacy-v2-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: ARM: OMAP2+: Remove legacy booting support for Pandora ARM: OMAP2+: Remove legacy booting support for LogicPD Torpedo Signed-off-by: Olof Johansson <olof@lixom.net>
2015-07-17Merge tag 'ep93xx-cleanup' of ↵Olof Johansson8-187/+213
git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator into next/cleanup Merge "EP93xx cleanups for v4.3" from Linus Walleij: EP93xx cleanup and completing developments. This switches EP93xx to generic time and brings in a few out-of-tree small patches that were stalled for ages. It also removes the need for memory config options and instead moves over to using PATCH_PHYS_VIRT. * tag 'ep93xx-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator: ARM: ep93xx: simone: enable DMA on the SPI host ARM: ep93xx: vision_ep9307: add audio support ARM: ep93xx: vision_ep9307: enable DMA for SPI ARM: ep93xx: toss the device ID into the entropy pool ARM: ep93xx: remove memory configuration options ARM: ep93xx: update comment on timer usage ARM: ep93xx: switch clockevent to timer 3 ARM: ep93xx: use non-raw accessors for timer ARM: ep93xx: switch to GENERIC_CLOCKEVENTS ARM: ep93xx: move timer to its own file Signed-off-by: Olof Johansson <olof@lixom.net>
2015-07-17Merge tag 'arm-soc/for-4.3/soc' of http://github.com/broadcom/stblinux into ↵Olof Johansson4-29/+3
next/cleanup Merge "Broadcom SoC changes for 4.3 (part 1)" from Florian Fainelli: This pull request contains two fixes for the Broadcom BCM63xx SMP code: - Sudeep removes an invalid use of cpu_logical_map() which turned to be a no-op since we always boot from physical CPU 0 = logical CPU 0 - Florian removes the custom secondary_startup function and replaces it with the generic one * tag 'arm-soc/for-4.3/soc' of http://github.com/broadcom/stblinux: ARM: BCM63xx: Remove custom secondary_startup function ARM: BCM63xx: fix parameter to of_get_cpu_node in bcm63138_smp_boot_secondary Signed-off-by: Olof Johansson <olof@lixom.net>
2015-07-17Merge tag 'mvebu-cleanup-4.3-1' of git://git.infradead.org/linux-mvebu into ↵Olof Johansson3-8/+4
next/cleanup Merge "ARM: mvebu: cleanup changes for v4.3" from Gregory Clement: mvebu cleanup changes for v4.3 (part #1) - Use vsprintf %pM extension on orion5x board to format mac address - Add missing newline at end of messages on pr_warn when CPU Idle on Armada 38x is disabled * tag 'mvebu-cleanup-4.3-1' of git://git.infradead.org/linux-mvebu: ARM: orion5x: Use vsprintf %pM extension ARM: mvebu: add missing newline at end of messages Signed-off-by: Olof Johansson <olof@lixom.net>
2015-07-17Merge branch 'ARM/clkevt/set-state-4.3' of ↵Olof Johansson18-479/+522
git://git.kernel.org/pub/scm/linux/kernel/git/vireshk/linux into next/cleanup Merge "ARM: clockevents: Migrate to 'set-state' callbacks" from Viresh Kumar: This series migrates ARM clockevent drivers (present in arch/arm/ directory), to the new set-state interface. This would enable these drivers to use new states (like: ONESHOT_STOPPED, etc.) of a clockevent device (if required), as the set-mode interface is marked obsolete now and wouldn't be expanded to handle new states. * 'ARM/clkevt/set-state-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/vireshk/linux: ARM/orion/time: Migrate to new 'set-state' interface ARM/iop/time: Migrate to new 'set-state' interface ARM/w90x900/time: Migrate to new 'set-state' interface ARM/SPEAr/time: Migrate to new 'set-state' interface ARM/omap2/timer: Migrate to new 'set-state' interface ARM/omap1/timer32: Migrate to new 'set-state' interface ARM/omap1/time: Migrate to new 'set-state' interface ARM/netx/time: Migrate to new 'set-state' interface ARM/mmp/time: Migrate to new 'set-state' interface ARM/lpc32xx/timer: Migrate to new 'set-state' interface ARM/ks8695/time: Migrate to new 'set-state' interface ARM/ixp4xx/timer: Migrate to new 'set-state' interface ARM/imx/epit: Migrate to new 'set-state' interface ARM/gemini/time: Migrate to new 'set-state' interface ARM/dc21285-timer: Migrate to new 'set-state' interface ARM/davinci/time: Migrate to new 'set-state' interface ARM/cns3xxx/timer: Migrate to new 'set-state' interface ARM/smp_twd: Migrate to new 'set-state' interface Signed-off-by: Olof Johansson <olof@lixom.net>
2015-07-17ARM: ep93xx: simone: enable DMA on the SPI hostLinus Walleij1-0/+1
The SPI host on the SIM.ONE is used for the MMC/SD card and will badly need this turbo boost. Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2015-07-17ARM: ep93xx: vision_ep9307: add audio supportH Hartley Sweeten1-2/+56
Add I2S audio support to the vision_ep9307 system. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2015-07-17ARM: ep93xx: vision_ep9307: enable DMA for SPIH Hartley Sweeten1-1/+2
Enable the 'use_dma' flag in the SPI platform data to improve the speed of the mmc_spi driver. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2015-07-17ARM: ep93xx: toss the device ID into the entropy poolLinus Walleij1-0/+7
It doesn't hurt to add this random stuff into the entropy pool as is custom to do with device-unique numbers. Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2015-07-17ARM: ep93xx: remove memory configuration optionsH Hartley Sweeten3-73/+4
The ARM_PATCH_PHYS_VIRT option makes the ep93xx memory configuration options obsolete. This allows support for all the ep93xx variations to be built into a single kernel. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2015-07-17ARM: ep93xx: update comment on timer usageLinus Walleij1-7/+6
When refactoring the EP93xx timer some of the documentation git out of date. Update it. Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2015-07-17ARM/orion/time: Migrate to new 'set-state' interfaceViresh Kumar1-45/+48
Migrate orion driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Jason Cooper <jason@lakedaemon.net> Cc: Andrew Lunn <andrew@lunn.ch> Cc: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com> Cc: Gregory Clement <gregory.clement@free-electrons.com> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
2015-07-17ARM/iop/time: Migrate to new 'set-state' interfaceViresh Kumar1-27/+43
Migrate iop driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Russell King <linux@arm.linux.org.uk> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
2015-07-17ARM/w90x900/time: Migrate to new 'set-state' interfaceViresh Kumar1-23/+28
Migrate w90x900 driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Wan ZongShun <mcuos.com@gmail.com> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
2015-07-17ARM/SPEAr/time: Migrate to new 'set-state' interfaceViresh Kumar1-39/+50
Migrate SPEAr driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Also kill the unnecessary forward declaration of set-mode routine by moving 'struct clock_event_device clkevt' towards the bottom of the file. Cc: Shiraz Hashim <shiraz.linux.kernel@gmail.com> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
2015-07-17ARM/omap2/timer: Migrate to new 'set-state' interfaceViresh Kumar1-24/+24
Migrate omap2 driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Acked-by: Santosh Shilimkar <ssantosh@kernel.org> Acked-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
2015-07-17ARM/omap1/timer32: Migrate to new 'set-state' interfaceViresh Kumar1-17/+16
Migrate omap timer32 driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Acked-by: Santosh Shilimkar <ssantosh@kernel.org> Acked-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
2015-07-17ARM/omap1/time: Migrate to new 'set-state' interfaceViresh Kumar1-19/+16
Migrate omap driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Acked-by: Santosh Shilimkar <ssantosh@kernel.org> Acked-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
2015-07-17ARM/netx/time: Migrate to new 'set-state' interfaceViresh Kumar1-29/+32
Migrate netx driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. We aren't writing zero twice on the control register for shutdown or resume state now. Cc: Russell King <linux@arm.linux.org.uk> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
2015-07-17ARM/mmp/time: Migrate to new 'set-state' interfaceViresh Kumar1-18/+11
Migrate mmp driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. We weren't doing anything in set_mode(RESUME) except of local_irq_{save|restore}(), which isn't required and so ->tick_resume isn't implemented. Cc: Eric Miao <eric.y.miao@gmail.com> Cc: Haojian Zhuang <haojian.zhuang@gmail.com> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
2015-07-17ARM/lpc32xx/timer: Migrate to new 'set-state' interfaceViresh Kumar1-26/+14
Migrate lpc32xx driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Roland Stigge <stigge@antcom.de> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
2015-07-17ARM/ks8695/time: Migrate to new 'set-state' interfaceViresh Kumar1-22/+21
Migrate ks8695 driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. There is nothing to be done for oneshot or shutdown states and so are not implemented. Acked-by: Greg Ungerer <gerg@uclinux.org> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
2015-07-17ARM/ixp4xx/timer: Migrate to new 'set-state' interfaceViresh Kumar1-28/+40
Migrate ixp4xx driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. NOTE: ixp4xx_set_{oneshot|periodic} don't perform read operation on 'IXP4XX_OSRT1' register anymore. Cc: Imre Kaloz <kaloz@openwrt.org> Acked-by: Krzysztof Hałasa <khalasa@piap.pl> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
2015-07-17ARM/imx/epit: Migrate to new 'set-state' interfaceViresh Kumar1-32/+35
Migrate imx driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Also drop 'clockevent_mode': It was caching the last state of the clockevent device. The same behavior can be achieved by using clockevents state helpers. These helpers are only required for oneshot mode as shutdown/resume wouldn't be done twice by the core. Cc: Shawn Guo <shawnguo@kernel.org> Cc: Sascha Hauer <kernel@pengutronix.de> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
2015-07-17ARM/gemini/time: Migrate to new 'set-state' interfaceViresh Kumar1-35/+34
Migrate gemini driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Acked-by: Hans Ulli Kroll <ulli.kroll@googlemail.com> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
2015-07-17ARM/dc21285-timer: Migrate to new 'set-state' interfaceViresh Kumar1-25/+23
Migrate footbridge driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Russell King <linux@arm.linux.org.uk> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
2015-07-17ARM/davinci/time: Migrate to new 'set-state' interfaceViresh Kumar1-24/+30
Migrate davinci driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. We weren't doing anything in set_mode(RESUME) and so .tick_resume() isn't implemented. Cc: Sekhar Nori <nsekhar@ti.com> Cc: Kevin Hilman <khilman@deeprootsystems.com> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
2015-07-17ARM/cns3xxx/timer: Migrate to new 'set-state' interfaceViresh Kumar1-24/+31
Migrate cns3xxx driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. NOTE: We don't read TIMER1_2_CONTROL_OFFSET register on shutdown anymore. Acked-by: Krzysztof Hałasa <khalasa@piap.pl> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
2015-07-17ARM/smp_twd: Migrate to new 'set-state' interfaceViresh Kumar1-22/+26
Migrate smp_twd driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Russell King <linux@arm.linux.org.uk> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
2015-07-16ARM: OMAP2+: Remove legacy booting support for PandoraTony Lindgren2-634/+0
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. This board has support for device tree based booting, and we've been printing warnings about the legacy booting being deprecated for a few merge cycles now. Let's attempt to remove the legacy booting for it. The reason for removing the legacy booting support now rather than later is we can simply revert this patch if necessary if we run into some unexpected issues that are not trivial to fix for the device tree based booting. Cc: Grazvydas Ignotas <notasas@gmail.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
2015-07-14Merge tag 'renesas-pm-domain-for-v4.3' of ↵Olof Johansson5-54/+82
git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/cleanup Merge "Renesas ARM Based SoC PM Domain Updates for v4.3" from Simon Horman: * Make rcar_sysc_ch const for r8a779[09] SoCs * Get rid of on_off_fn() function pointer * Use BIT() macro instead of open coding * Make struct rcar_sysc_ch * parameters const * Break infinite loop * Shrink rcar_sysc_ch size * Improve documentation * tag 'renesas-pm-domain-for-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: r8a7790: Make struct rcar_sysc_ch const ARM: shmobile: r8a7779: Make struct rcar_sysc_ch const ARM: shmobile: R-Car: Get rid of on_off_fn() function pointer ARM: shmobile: R-Car: Use BIT() macro instead of open coding ARM: shmobile: R-Car: Make struct rcar_sysc_ch * parameters const ARM: shmobile: R-Car: Break infinite loop ARM: shmobile: R-Car: Shrink rcar_sysc_ch size ARM: shmobile: R-Car: Improve documentation Signed-off-by: Olof Johansson <olof@lixom.net>
2015-07-14Merge tag 'renesas-cleanup-for-v4.3' of ↵Olof Johansson30-6912/+15
git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/cleanup Merge "Renesas ARM Based SoC Cleanup for v4.3" from Simon Horman: * Remove non-multiplatform code from timer * Remove CONFIG_ARCH_SHMOBILE_MULTI check in setup-rcar-gen2.c as it is always true * Remove legacy (non-multiplatform) support for both sh73a0/kzm9g and r8a7740/armadillo800eva * Move to_rmobile_pd from header to source file where it is used * Use BIT() macro instead of open coding in r-mobile PM code * r8a7779: Remove usage of GENPD_FLAG_PM_CLK flag which has no effect * tag 'renesas-cleanup-for-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: timer: r8a73a4 and r8a7790 are multi-platform only ARM: shmobile: R-Car Gen2: CONFIG_ARCH_SHMOBILE_MULTI is always set ARM: shmobile: Remove obsolete zboot support ARM: shmobile: R-Mobile: Remove legacy PM Domain code ARM: shmobile: Remove unused dma-register.h ARM: shmobile: Remove legacy SoC code for R-Mobile A1 ARM: shmobile: Drop r8a7740-armadillo800eva.dtb for legacy builds ARM: shmobile: Remove legacy armadillo800eva_defconfig ARM: shmobile: Remove legacy board code for Armadillo-800 EVA ARM: shmobile: Remove legacy SoC code for SH-Mobile AG5 ARM: shmobile: Drop sh73a0-kzm9g.dtb for legacy builds ARM: shmobile: Remove legacy kzm9g_defconfig ARM: shmobile: Remove legacy board code for KZM-A9-GT ARM: shmobile: r8a7779: Remove GENPD_FLAG_PM_CLK flag ARM: shmobile: R-Mobile: Use BIT() macro instead of open coding ARM: shmobile: R-Mobile: Move to_rmobile_pd from header to source file Signed-off-by: Olof Johansson <olof@lixom.net>
2015-07-14ARM: shmobile: apmu: silence build warningsWolfram Sang1-2/+2
With shmobile_defconfig but SMP=n && SUSPEND=n, I get: arch/arm/mach-shmobile/platsmp-apmu.c:49:12: warning: 'apmu_power_off' defined but not used [-Wunused-function] arch/arm/mach-shmobile/platsmp-apmu.c:70:12: warning: 'apmu_wrap' defined but not used [-Wunused-function] Annotate those functions like the functions around it. Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2015-07-13ARM: OMAP2+: Remove legacy booting support for LogicPD TorpedoTony Lindgren3-271/+0
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. This board has support for device tree based booting, and we've been printing warnings about the legacy booting being deprecated for a few merge cycles now. Let's attempt to remove the legacy booting for it. The reason for removing the legacy booting support now rather than later is we can simply revert this patch if necessary if we run into some unexpected issues that are not trivial to fix for the device tree based booting. Cc: Tim Nordell <tim.nordell@logicpd.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
2015-07-12Linux 4.2-rc2v4.2-rc2Linus Torvalds1-1/+1
2015-07-12Revert "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-12Merge 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>
2015-07-129p: don't leave a half-initialized inode sitting aroundAl Viro2-4/+2
Cc: stable@vger.kernel.org # all branches Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2015-07-11Merge branch 'libnvdimm-fixes' of ↵Linus Torvalds8-27/+223
git://git.kernel.org/pub/scm/linux/kernel/git/djbw/nvdimm Pull libnvdimm fixes from Dan Williams: "1) Fixes for a handful of smatch reports (Thanks Dan C.!) and minor bug fixes (patches 1-6) 2) Correctness fixes to the BLK-mode nvdimm driver (patches 7-10). Granted these are slightly large for a -rc update. They have been out for review in one form or another since the end of May and were deferred from the merge window while we settled on the "PMEM API" for the PMEM-mode nvdimm driver (ie memremap_pmem, memcpy_to_pmem, and wmb_pmem). Now that those apis are merged we implement them in the BLK driver to guarantee that mmio aperture moves stay ordered with respect to incoming read/write requests, and that writes are flushed through those mmio-windows and platform-buffers to be persistent on media. These pass the sub-system unit tests with the updates to tools/testing/nvdimm, and have received a successful build-report from the kbuild robot (468 configs). With acks from Rafael for the touches to drivers/acpi/" * 'libnvdimm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/nvdimm: nfit: add support for NVDIMM "latch" flag nfit: update block I/O path to use PMEM API tools/testing/nvdimm: add mock acpi_nfit_flush_address entries to nfit_test tools/testing/nvdimm: fix return code for unimplemented commands tools/testing/nvdimm: mock ioremap_wt pmem: add maintainer for include/linux/pmem.h nfit: fix smatch "use after null check" report nvdimm: Fix return value of nvdimm_bus_init() if class_create() fails libnvdimm: smatch cleanups in __nd_ioctl sparse: fix misplaced __pmem definition
2015-07-11ARM: BCM63xx: Remove custom secondary_startup functionFlorian Fainelli4-28/+2
With commit 02b4e2756e01c623cc4dbceae4b07be75252db5b ("ARM: v7 setup function should invalidate L1 cache"), the default secondary_startup function for ARMv7 CPUs does invalidate the L1 cache, which was the sole reason why BCM63xx had to have its own secondary_startup implementation. Now that the secondary_startup takes care of this, we can completely remove that code. Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2015-07-11ARM: BCM63xx: fix parameter to of_get_cpu_node in bcm63138_smp_boot_secondarySudeep Holla1-1/+1
of_get_cpu_node provides the device node associated with the given logical CPU and cpu_logical_map contains the physical id for each CPU in the logical ordering. Passing cpu_logical_map(cpu) to of_get_cpu_node is incorrect. This patch fixes the issue by passing the logical CPU number to of_get_cpu_node Fixes: ed5cd8163da8 ("ARM: BCM63xx: Add SMP support for BCM63138") Cc: Florian Fainelli <f.fainelli@gmail.com> Cc: bcm-kernel-feedback-list@broadcom.com Signed-off-by: Sudeep Holla <sudeep.holla@arm.com> Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2015-07-11Merge branch 'i2c/for-current' of ↵Linus Torvalds4-8/+25
git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux Pull i2c fixes from Wolfram Sang: "Mostly slight adjusments for new drivers, but also one core fix for which finally the dependencies are now available as well" * 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: i2c: Mark instantiated device nodes with OF_POPULATE i2c: jz4780: Fix return value if probe fails i2c: xgene-slimpro: Fix missing mbox_free_channel call in probe error path i2c: I2C_MT65XX should depend on HAS_DMA