summaryrefslogtreecommitdiff
path: root/arch/arm
AgeCommit message (Collapse)AuthorFilesLines
2018-08-02ARM: use __inttype() in get_user()Russell King1-1/+8
Borrow the x86 implementation of __inttype() to use in get_user() to select an integer type suitable to temporarily hold the result value. This is necessary to avoid propagating the volatile nature of the result argument, which can cause the following warning: lib/iov_iter.c:413:5: warning: optimization may eliminate reads and/or writes to register variables [-Wvolatile-register-var] Acked-by: Mark Rutland <mark.rutland@arm.com> Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
2018-08-02ARM: oabi-compat: copy semops using __copy_from_user()Russell King1-3/+5
__get_user_error() is used as a fast accessor to make copying structure members as efficient as possible. However, with software PAN and the recent Spectre variant 1, the efficiency is reduced as these are no longer fast accessors. In the case of software PAN, it has to switch the domain register around each access, and with Spectre variant 1, it would have to repeat the access_ok() check for each access. Rather than using __get_user_error() to copy each semops element member, copy each semops element in full using __copy_from_user(). Acked-by: Mark Rutland <mark.rutland@arm.com> Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
2018-08-02ARM: vfp: use __copy_from_user() when restoring VFP stateRussell King3-24/+17
__get_user_error() is used as a fast accessor to make copying structure members in the signal handling path as efficient as possible. However, with software PAN and the recent Spectre variant 1, the efficiency is reduced as these are no longer fast accessors. In the case of software PAN, it has to switch the domain register around each access, and with Spectre variant 1, it would have to repeat the access_ok() check for each access. Use __copy_from_user() rather than __get_user_err() for individual members when restoring VFP state. Acked-by: Mark Rutland <mark.rutland@arm.com> Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
2018-08-02Merge branch 'perf/urgent' into perf/core, to pick up fixesIngo Molnar2-1/+2
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2018-08-02kconfig: include kernel/Kconfig.preempt from init/KconfigChristoph Hellwig1-2/+0
Almost all architectures include it. Add a ARCH_NO_PREEMPT symbol to disable preempt support for alpha, hexagon, non-coldfire m68k and user mode Linux. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2018-08-02Kconfig: consolidate the "Kernel hacking" menuChristoph Hellwig2-7/+0
Move the source of lib/Kconfig.debug and arch/$(ARCH)/Kconfig.debug to the top-level Kconfig. For two architectures that means moving their arch-specific symbols in that menu into a new arch Kconfig.debug file, and for a few more creating a dummy file so that we can include it unconditionally. Also move the actual 'Kernel hacking' menu to lib/Kconfig.debug, where it belongs. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2018-08-02kconfig: include common Kconfig files from top-level KconfigChristoph Hellwig1-23/+0
Instead of duplicating the source statements in every architecture just do it once in the toplevel Kconfig file. Note that with this the inclusion of arch/$(SRCARCH/Kconfig moves out of the top-level Kconfig into arch/Kconfig so that don't violate ordering constraits while keeping a sensible menu structure. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2018-08-02Merge branch 'fixes' of git://git.armlinux.org.uk/~rmk/linux-armLinus Torvalds1-1/+3
Pull ARM fix from Russell King: "Just a single fix this time around for recent binutils causing build problems when generating Thumb-2 code" * 'fixes' of git://git.armlinux.org.uk/~rmk/linux-arm: ARM: 8781/1: Fix Thumb-2 syscall return for binutils 2.29+
2018-08-01mm: do not initialize TLB stack vma's with vma_init()Linus Torvalds1-4/+1
Commit 2c4541e24c55 ("mm: use vma_init() to initialize VMAs on stack and data segments") tried to initialize various left-over ad-hoc vma's "properly", but actually made things worse for the temporary vma's used for TLB flushing. vma_init() doesn't actually initialize all of the vma, just a few fields, so doing something like - struct vm_area_struct vma = { .vm_mm = tlb->mm, }; + struct vm_area_struct vma; + + vma_init(&vma, tlb->mm); was actually very bad: instead of having a nicely initialized vma with every field but "vm_mm" zeroed, you'd have an entirely uninitialized vma with only a couple of fields initialized. And they weren't even fields that the code in question mostly cared about. The flush_tlb_range() function takes a "struct vma" rather than a "struct mm_struct", because a few architectures actually care about what kind of range it is - being able to only do an ITLB flush if it's a range that doesn't have data accesses enabled, for example. And all the normal users already have the vma for doing the range invalidation. But a few people want to call flush_tlb_range() with a range they just made up, so they also end up using a made-up vma. x86 just has a special "flush_tlb_mm_range()" function for this, but other architectures (arm and ia64) do the "use fake vma" thing instead, and thus got caught up in the vma_init() changes. At the same time, the TLB flushing code really doesn't care about most other fields in the vma, so vma_init() is just unnecessary and pointless. This fixes things by having an explicit "this is just an initializer for the TLB flush" initializer macro, which is used by the arm/arm64/ia64 people who mis-use this interface with just a dummy vma. Fixes: 2c4541e24c55 ("mm: use vma_init() to initialize VMAs on stack and data segments") Cc: Dmitry Vyukov <dvyukov@google.com> Cc: Oleg Nesterov <oleg@redhat.com> Cc: Andrea Arcangeli <aarcange@redhat.com> Cc: Kirill Shutemov <kirill.shutemov@linux.intel.com> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: John Stultz <john.stultz@linaro.org> Cc: Hugh Dickins <hughd@google.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2018-08-01ARM: multi_v7_defconfig: add CONFIG_UNIPHIER_THERMAL and CONFIG_SNI_AVEKunihiko Hayashi1-0/+2
Enable the thermal monitor driver and the AVE ethernet driver implemented on UniPhier SoCs. Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Signed-off-by: Olof Johansson <olof@lixom.net>
2018-08-01ARM: uniphier: select RESET_CONTROLLERMasahiro Yamada1-0/+1
The UniPhier platform highly relies on the reset controller. Select RESET_CONTROLLER to enable it forcibly. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Signed-off-by: Olof Johansson <olof@lixom.net>
2018-08-01ARM: uniphier: remove empty MakefileMasahiro Yamada2-1/+0
arch/arm/mach-uniphier/Makefile has been unused for a long time. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Signed-off-by: Olof Johansson <olof@lixom.net>
2018-08-01Merge tag 'aspeed-4.19-devicetree-no-fsi' of ↵Olof Johansson4-13/+65
git://git.kernel.org/pub/scm/linux/kernel/git/joel/aspeed into next/dt ASPEED device tree updates for 4.19 - New support for the ASPEED USB host controller and USB vhub (device) support - Descriptions for the ColdFire processor that is part of the ASPEED SoC - Small fixes: * pwm/tach clock * tag 'aspeed-4.19-devicetree-no-fsi' of git://git.kernel.org/pub/scm/linux/kernel/git/joel/aspeed: ARM: dts: aspeed: Add coprocessor interrupt controller ARM: dts: aspeed: Use 24MHz fixed clock for pwm ARM: dts: aspeed: Fix Romulus VGA frame buffer ARM: dts: aspeed: Enable vhub on port A of AST2500 EVB ARM: dts: aspeed: Add G5 USB Virtual Hub ARM: dts: aspeed: Add G4 USB Virtual Hub ARM: dts: aspeed: Add G5 USB host pinmux ARM: dts: aspeed: Add G4 USB pinmux Signed-off-by: Olof Johansson <olof@lixom.net>
2018-07-30ARM: 8785/1: use compiler built-ins for ffs and flsNicolas Pitre1-83/+9
On ARMv5 and above, it is beneficial to use compiler built-ins such as __builtin_ffs() and __builtin_ctzl() to implement ffs(), __ffs(), fls() and __fls(). The compiler does inline the clz instruction and even the rbit instruction when available, or provide a constant value when possible. On ARMv4 the compiler calls out to helper functions for those built-ins so it is best to keep the open coded versions in that case. Signed-off-by: Nicolas Pitre <nico@linaro.org> Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
2018-07-30ARM: 8784/1: NOMMU: Allow enter in Hyp modeVladimir Murzin2-3/+10
ARMv8R adds support for virtualisation extension (with some deviation from v8A). With this patch hyp-unaware boot code can offload to kernel setting up HYP stuff in a sane state. Signed-off-by: Vladimir Murzin <vladimir.murzin@arm.com> Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
2018-07-30ARM: 8783/1: NOMMU: Extend check for VBAR supportVladimir Murzin1-1/+2
ARMv8R adds support for VBAR and updates ID_PFR1 with the new filed Sec_frac (bits [23:20]): Security fractional field. When the Security field is 0000, determines the support for features from the ARMv7 Security Extensions. Permitted values are: 0000 No features from the ARMv7 Security Extensions are implemented. This value is not supported in ARMv8 if ID_PFR1 bits [7:4] are zero. 0001 The implementation includes the VBAR, and the TCR.PD0 and TCR.PD1 bits. 0010 As for 0001, plus the ability to access Secure or Non-secure physical memory is supported. All other values are reserved. This field is only valid when ID_PFR1[7:4] == 0, otherwise it holds the value 0000. Signed-off-by: Vladimir Murzin <vladimir.murzin@arm.com> Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
2018-07-30ARM: 8782/1: vfp: clean up arch/arm/vfp/MakefileMasahiro Yamada1-4/+1
Since commit 799c43415442 ("kbuild: thin archives make default for all archs"), $(AR) is used instead of $(LD) to combine object files. The following code in arch/arm/vfp/Makefile: LDFLAGS +=--no-warn-mismatch ... is no longer used. Also, arch/arm/Makefile already guards arch/arm/vfp/ by a boolean symbol, CONFIG_VFP, like this: core-$(CONFIG_VFP) += arch/arm/vfp/ So, $(CONFIG_VFP) is always evaluated to y in arch/arm/vfp/Makefile. There is no point to use pseudo object, vfp.o, which never becomes a module. Add all objects to obj-y directly. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
2018-07-30ARM: 8781/1: Fix Thumb-2 syscall return for binutils 2.29+Vincent Whitchurch1-1/+3
When building the kernel as Thumb-2 with binutils 2.29 or newer, if the assembler has seen the .type directive (via ENDPROC()) for a symbol, it automatically handles the setting of the lowest bit when the symbol is used with ADR. The badr macro on the other hand handles this lowest bit manually. This leads to a jump to a wrong address in the wrong state in the syscall return path: Internal error: Oops - undefined instruction: 0 [#2] SMP THUMB2 Modules linked in: CPU: 0 PID: 652 Comm: modprobe Tainted: G D 4.18.0-rc3+ #8 PC is at ret_fast_syscall+0x4/0x62 LR is at sys_brk+0x109/0x128 pc : [<80101004>] lr : [<801c8a35>] psr: 60000013 Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment none Control: 50c5387d Table: 9e82006a DAC: 00000051 Process modprobe (pid: 652, stack limit = 0x(ptrval)) 80101000 <ret_fast_syscall>: 80101000: b672 cpsid i 80101002: f8d9 2008 ldr.w r2, [r9, #8] 80101006: f1b2 4ffe cmp.w r2, #2130706432 ; 0x7f000000 80101184 <local_restart>: 80101184: f8d9 a000 ldr.w sl, [r9] 80101188: e92d 0030 stmdb sp!, {r4, r5} 8010118c: f01a 0ff0 tst.w sl, #240 ; 0xf0 80101190: d117 bne.n 801011c2 <__sys_trace> 80101192: 46ba mov sl, r7 80101194: f5ba 7fc8 cmp.w sl, #400 ; 0x190 80101198: bf28 it cs 8010119a: f04f 0a00 movcs.w sl, #0 8010119e: f3af 8014 nop.w {20} 801011a2: f2af 1ea2 subw lr, pc, #418 ; 0x1a2 To fix this, add a new symbol name which doesn't have ENDPROC used on it and use that with badr. We can't remove the badr usage since that would would cause breakage with older binutils. Signed-off-by: Vincent Whitchurch <vincent.whitchurch@axis.com> Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
2018-07-30BackMerge v4.18-rc7 into drm-nextDave Airlie19-18/+85
rmk requested this for armada and I think we've had a few conflicts build up. Signed-off-by: Dave Airlie <airlied@redhat.com>
2018-07-28ARM: at91: remove unused duplicated filechk_offsetsMasahiro Yamada1-25/+0
The filechk_offsets in arch/arm/mach-at91/Makefile is never used because it is always overridden by the equivalent one in scripts/Makefile.lib Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Acked-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2018-07-27Merge branch 'for-next/perf' of ↵Will Deacon3-13/+34
git://git.kernel.org/pub/scm/linux/kernel/git/will/linux into aarch64/for-next/core Pull in arm perf updates, including support for 64-bit (chained) event counters and some non-critical fixes for some of the system PMU drivers. Signed-off-by: Will Deacon <will.deacon@arm.com>
2018-07-27mm: use vma_init() to initialize VMAs on stack and data segmentsKirill A. Shutemov2-1/+2
Make sure to initialize all VMAs properly, not only those which come from vm_area_cachep. Link: http://lkml.kernel.org/r/20180724121139.62570-3-kirill.shutemov@linux.intel.com Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com> Acked-by: Linus Torvalds <torvalds@linux-foundation.org> Reviewed-by: Andrew Morton <akpm@linux-foundation.org> Cc: Dmitry Vyukov <dvyukov@google.com> Cc: Oleg Nesterov <oleg@redhat.com> Cc: Andrea Arcangeli <aarcange@redhat.com> Cc: <stable@vger.kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2018-07-26Merge tag 'v4.18-next-dts32' of ↵Olof Johansson5-163/+6
https://git.kernel.org/pub/scm/linux/kernel/git/matthias.bgg/linux into next/dt - mt7623 - delete unsupported reference board - fix pio leds - add missing cooling device * tag 'v4.18-next-dts32' of https://git.kernel.org/pub/scm/linux/kernel/git/matthias.bgg/linux: dt-bindings: arm: mediatek: cleanup MT7623N reference boards arm: dts: mt7623: cleanup MT7623N NAND dts file arm: dts: mediatek: Fix pio-leds for Bananapi-R2 arm: dts: mediatek: Add missing cooling device properties for CPUs Signed-off-by: Olof Johansson <olof@lixom.net>
2018-07-26Merge tag 'aspeed-4.19-defconfig' of ↵Olof Johansson3-47/+213
git://git.kernel.org/pub/scm/linux/kernel/git/joel/aspeed into next/defconfig ASPEED defconfig updates for 4.19 - Refresh the multi ARMv5 defconfig, and add AST2400 related drivers - Enable new ASPEED hardware that we've merged in the past few cycles. There are about 14 different drivers since we last refreshed the defconfig - Turn on features required by systemd, and other bits of OpenBMC userspace - Enable security related options * tag 'aspeed-4.19-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/joel/aspeed: ARM: config: aspeed: Enable new FSI drivers ARM: config: multi_v5: Enable ASPEED drivers ARM: config: multi_v5: Refresh configuration ARM: config: aspeed: Update defconfig arm: configs: Add USB gadget to Aspeed G5 defconfig arm: configs: Add USB gadget to Aspeed G4 defconfig Signed-off-by: Olof Johansson <olof@lixom.net>
2018-07-26ARM: signal: copy registers using __copy_from_user()Russell King1-17/+21
__get_user_error() is used as a fast accessor to make copying structure members in the signal handling path as efficient as possible. However, with software PAN and the recent Spectre variant 1, the efficiency is reduced as these are no longer fast accessors. In the case of software PAN, it has to switch the domain register around each access, and with Spectre variant 1, it would have to repeat the access_ok() check for each access. It becomes much more efficient to use __copy_from_user() instead, so let's use this for the ARM integer registers. Acked-by: Mark Rutland <mark.rutland@arm.com> Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
2018-07-26Merge tag 'samsung-soc-4.19' of ↵Olof Johansson3-3/+2
https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into next/soc Samsung mach/soc changes for v4.19 Minor cleanups and fixes. * tag 'samsung-soc-4.19' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux: ARM: exynos: Clear global variable on init error path ARM: exynos: Remove outdated maintainer information ARM: s3c24xx: Fix typo in guard macro of s3c2412.h Signed-off-by: Olof Johansson <olof@lixom.net>
2018-07-26Merge tag 'sunxi-h3-h5-for-4.19' of ↵Olof Johansson5-2/+46
https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into next/dt Allwinner H3/H5 changes for 4.19 Our usual bunch of changes shared between arm and arm64. This time, we have: - eMMC support for the ALL-H3-CC boards - EMAC support for the Beelink X2 * tag 'sunxi-h3-h5-for-4.19' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux: ARM: dts: sunxi-h3-h5: Remove unused address-cells/size-cells of dwmac-sun8i ARM: dts: sunxi: libretech-all-h3-cc: Enable eMMC module ARM: sun8i: h3: add SY8113B regulator on Banana Pi M2 Zero board ARM: dts: sun8i: h3: Enable dwmac-sun8i on the Beelink X2 ARM: dts: sun8i-h3: Add missing cooling device properties for CPUs Signed-off-by: Olof Johansson <olof@lixom.net>
2018-07-26Merge tag 'renesas-arm-defconfig-for-v4.19' of ↵Olof Johansson2-14/+4
https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/defconfig Renesas ARM Based SoC Defconfig Updates for v4.19 - Enable new RZN1D-DB board in multi_v7_defconfig and shmobile_defconfig - shmobile_defconfig: + Drop NET_VENDOR_<FOO>=n + Disable long deprecated /sbin/hotplug helper + Enable reset controller support * tag 'renesas-arm-defconfig-for-v4.19' of https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: multi_v7_defconfig: Enable support for RZN1D-DB ARM: shmobile: defconfig: Disable /sbin/hotplug fork-bomb ARM: shmobile: defconfig: Enable support for RZN1D-DB ARM: shmobile: defconfig: Enable reset controller support ARM: shmobile: defconfig: Drop NET_VENDOR_<FOO>=n Signed-off-by: Olof Johansson <olof@lixom.net>
2018-07-26Merge tag 'qcom-defconfig-for-4.19' of ↵Olof Johansson1-0/+2
git://git.kernel.org/pub/scm/linux/kernel/git/agross/linux into next/defconfig Qualcomm ARM Based defconfig Updates for v4.19 * Enable Qualcomm NAND config * tag 'qcom-defconfig-for-4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/agross/linux: ARM: qcom_defconfig: Enable QCOM NAND related configs Signed-off-by: Olof Johansson <olof@lixom.net>
2018-07-26Merge tag 'samsung-dt-4.19-2' of ↵Olof Johansson2-1/+39
https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into next/dt Samsung DTS ARM changes for v4.19, part 2 1. Add missing interrupts to PWM nodes on Exynos5. 2. Add missing interrupt pin pull up/down configuration on Exynos4412 Midas boards. The interrupts were mostly working thanks to initial configuration by bootloader. * tag 'samsung-dt-4.19-2' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux: ARM: dts: exynos: Configure Midas SD card CD pin ARM: dts: exynos: Configure max77686 IRQ pin on Midas ARM: dts: exynos: Add pinctrl for Midas fuelgauge IRQ pin ARM: dts: exynos: Add pinctrl config for Midas keys ARM: dts: exynos: Add max77693 pinctrl config for Midas ARM: dts: exynos: Add missing interrupts for pwm node on Exynos5 Signed-off-by: Olof Johansson <olof@lixom.net>
2018-07-26Merge tag 'sunxi-dt-for-4.19' of ↵Olof Johansson13-18/+534
https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into next/dt Allwinner DT changes for 4.19 There's a number of additions for the ARMv7 SoCs for this merge window, and especially: - Addition of the system controller for a number of SoCs, as part of the VPU effort - Addition of the R40 HDMI support - Addition of the Mali GPU node for the A10 * tag 'sunxi-dt-for-4.19' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux: (21 commits) ARM: dts: sun4i: Add GPU node ARM: dts: sun5i: Fix the SRAM A3-A4 declaration ARM: dts: sun8i: r40: Remove unused address-cells/size-cells of dwmac-sun8i ARM: dts: sun8i: a83t: Remove unused address-cells/size-cells of dwmac-sun8i dt-bindings: net: dwmac-sun8i: Remove unused address-cells/size-cells ARM: dts: sun8i: h3: Add SRAM controller node and C1 SRAM region ARM: dts: sun8i: a23-a33: Add SRAM controller node and C1 SRAM region ARM: dts: sun7i: Add support for the C1 SRAM region with the SRAM controller ARM: dts: sun5i: Add support for the C1 SRAM region with the SRAM controller ARM: dts: sun7i: Use most-qualified system control compatibles ARM: dts: sun5i: Use most-qualified system control compatibles ARM: dts: sun4i: Switch to new system control compatible string ARM: dts: sun8i: r40: Disable TCONs by default. ARM: dts: sun8i: r40: Add missing TCON-TOP - TCON connections ARM: dts: sun8i: r40: Remove fallback compatible for TCON TV ARM: dts: sun8i: r40: Add mixer ids to TCON TOP ARM: dts: sun8i: r40: Remove fallback display engine compatible ARM: dts: sun8i: a83t: Add CPU regulator supplies for A83T boards ARM: dts: sun8i: r40: Enable HDMI output on BananaPi M2 Ultra ARM: dts: sun8i: r40: Add HDMI pipeline ... Signed-off-by: Olof Johansson <olof@lixom.net>
2018-07-26Merge tag 'omap-for-v4.19/dt-pt3-signed' of ↵Olof Johansson4-781/+2513
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/dt Start using ti-sysc with device tree data for omap4 l4 devices With ti-sysc driver working for most use cases, we can start converting the omap variant SoCs to use device tree data for the interconnect target modules instead of the legacy hwmod platform data. We start with omap4 l4 devices excluding the ones that still depend on a reset controller driver like DSP MMU. And we don't yet convert the l4 ABE instance as that needs a bit more work. We also add a proper interconnect hierarchy for the devices while at it to make further work on genpd easier and to avoid most deferred probe issues. At this point we are not dropping any platform data, and we initially still use it to validate the dts data. Then in later merge cycles we can start dropping the related platform data. * tag 'omap-for-v4.19/dt-pt3-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: ARM: dts: omap4: Add l4 ranges for 4460 ARM: dts: omap4: Move l4 child devices to probe them with ti-sysc ARM: dts: omap4: Probe watchdog 3 with ti-sysc ARM: dts: omap4: Add l4 interconnect hierarchy and ti-sysc data dt-bindings: Update omap l4 binding for optional registers Signed-off-by: Olof Johansson <olof@lixom.net>
2018-07-26Merge tag 'renesas-arm-dt-for-v4.19' of ↵Olof Johansson48-186/+373
https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/dt Renesas ARM Based SoC DT Updates for v4.19 * RZ/G1C (r8a77470) SoC: Use r8a77470-cpg-mssr binding definitions * Add GR-Peach audio camera shield support with MT9V111 image sensor * Add initial support for RZ/N1D (r9a06g032) SoC and its RZN1D-DB board * Use SPDX identifiers in DT for all SoCs and boards * Add missing OPP properties for all CPUs on various SoCs * Add missing PMIC nodes to R-Car Gen2 M2-W (r8a7791) based porter board * tag 'renesas-arm-dt-for-v4.19' of https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: dts: r8a77470: Use r8a77470-cpg-mssr binding definitions ARM: dts: gr-peach: Add GR-Peach audiocamerashield support ARM: dts: Renesas R9A06G032 SMP enable method ARM: dts: Renesas RZN1D-DB Board base file ARM: dts: Renesas R9A06G032 base device tree file ARM: dts: convert to SPDX identifier for Renesas boards ARM: dts: r8a77(43|9[013]): Add missing OPP properties for CPUs ARM: dts: porter: Add missing PMIC nodes Signed-off-by: Olof Johansson <olof@lixom.net>
2018-07-26Merge tag 'qcom-dts-for-4.19' of ↵Olof Johansson3-17/+50
git://git.kernel.org/pub/scm/linux/kernel/git/agross/linux into next/dt Qualcomm Device Tree Changes for v4.19 * Add missing OPPs on IPQ4019 * Fix sdhci l20 load on Hammerhead * Use proper IRQ macros for IPQ8064 interrupts * tag 'qcom-dts-for-4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/agross/linux: ARM: dts: qcom: Add missing OPP properties for CPUs ARM: dts: qcom: msm8974-hammerhead: increase load on l20 for sdhci ARM: dts: qcom: Fix 'interrupts = <>' property to use proper macros Signed-off-by: Olof Johansson <olof@lixom.net>
2018-07-26ARM: config: aspeed: Enable new FSI driversJoel Stanley2-0/+4
This turns on the FSI-attached I2C bus driver, and the ColdFire offloaded FSI master which are new to 4.19. Signed-off-by: Joel Stanley <joel@jms.id.au>
2018-07-25arm/asm/tlb.h: Fix build error implicit func declarationAnders Roxell1-0/+8
Building on arm 32 with LPAE enabled we don't include asm-generic/tlb.h, where we have tlb_flush_remove_tables_local and tlb_flush_remove_tables defined. The build fails with: mm/memory.c: In function ‘tlb_remove_table_smp_sync’: mm/memory.c:339:2: error: implicit declaration of function ‘tlb_flush_remove_tables_local’; did you mean ‘tlb_remove_table’? [-Werror=implicit-function-declaration] ... This bug got introduced in: 2ff6ddf19c0e ("x86/mm/tlb: Leave lazy TLB mode at page table free time") To fix this issue we define them in arm 32's specific asm/tlb.h file as well. Signed-off-by: Anders Roxell <anders.roxell@linaro.org> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: dave.hansen@intel.com Cc: linux-arm-kernel@lists.infradead.org Cc: linux@armlinux.org.uk Cc: riel@surriel.com Cc: songliubraving@fb.com Fixes: 2ff6ddf19c0e ("x86/mm/tlb: Leave lazy TLB mode at page table free time") Link: http://lkml.kernel.org/r/20180725095557.19668-1-anders.roxell@linaro.org Signed-off-by: Ingo Molnar <mingo@kernel.org>
2018-07-25Merge branch 'perf/urgent' into perf/core, to pick up fixesIngo Molnar33-297/+298
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2018-07-25ARM: dts: aspeed: Add coprocessor interrupt controllerBenjamin Herrenschmidt2-2/+15
Add a node for the CVIC (the coprocessor interrupt controller) and add a label to the SRAM node so it can be referenced from the board device-tree file. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Joel Stanley <joel@jms.id.au>
2018-07-25ARM: config: multi_v5: Enable ASPEED driversJoel Stanley1-1/+13
This enables the devices used in the AST2400 family of BMC SoCs: - VUART - SPI NOR - LPC controller - LPC snoop (port 80) - Ethernet - GPIO - ADC - I2C - Random number generator - IPMI KCS - IPMI BT - Fan/Tach Acked-by: Andrew Jeffery <andrew@aj.id.au> Signed-off-by: Joel Stanley <joel@jms.id.au>
2018-07-25ARM: config: multi_v5: Refresh configurationJoel Stanley1-11/+5
This is the result of a make mutli_v5_defconfig && make savedefconfig. Acked-by: Andrew Jeffery <andrew@aj.id.au> Signed-off-by: Joel Stanley <joel@jms.id.au>
2018-07-25ARM: config: aspeed: Update defconfigJoel Stanley2-35/+157
- Enable new support: hardware random number generator FSI and client drivers DRM GFX driver - Disable unwanted features: ARM_APPENDED_DTB ARM_ATAG_DTB_COMPAT BLK_DEV_RAM - Sync G4 and G5 with OpenBMC configurations BLK_DEV_LOOP, for updater mechanic CRYPTO_HMAC, for libsdbus features CRYPTO_SHA256 CRYPTO_USER_API_HASH - Enable security related features: SLAB_FREELIST_RANDOM STRICT_KERNEL_RW CC_STACKPROTECTOR_STRONG HARDENED_USERCOPY FORTIFY_SOURCE - Increase kernel log buffer size Reviewed-by: Andrew Jeffery <andrew@aj.id.au> Signed-off-by: Joel Stanley <joel@jms.id.au>
2018-07-25Merge ra.kernel.org:/pub/scm/linux/kernel/git/davem/netDavid S. Miller2-7/+4
2018-07-24ARM: exynos: Define EINT_WAKEUP_MASK registers for S5Pv210 and Exynos5433Krzysztof Kozlowski1-1/+1
S5Pv210 and Exynos5433/Exynos7 have different address of EINT_WAKEUP_MASK register. Rename existing S5P_EINT_WAKEUP_MASK to avoid confusion and add new ones. Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org> Cc: Tomasz Figa <tomasz.figa@gmail.com> Cc: Sylwester Nawrocki <snawrocki@kernel.org> Acked-by: Tomasz Figa <tomasz.figa@gmail.com> Tested-by: Marek Szyprowski <m.szyprowski@samsung.com>
2018-07-24ARM: exynos: Clear global variable on init error pathKrzysztof Kozlowski1-0/+1
For most of Exynos SoCs, Power Management Unit (PMU) address space is mapped into global variable 'pmu_base_addr' very early when initializing PMU interrupt controller. A lot of other machine code depends on it so when doing iounmap() on this address, clear the global as well to avoid usage of invalid value (pointing to unmapped memory region). Properly mapped PMU address space is a requirement for all other machine code so this fix is purely theoretical. Boot will fail immediately in many other places after following this error path. Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2018-07-24ARM: exynos: Remove outdated maintainer informationKrzysztof Kozlowski1-2/+0
The current maintainers are specified in MAINTAINERS file, so remove in-sources information with outdated e-mail address (Thomas Abraham's email does not work, Kukjin Kim uses @kernel.org). Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2018-07-24ARM: dts: sun4i: Add GPU nodeSteven Vanden Branden1-0/+21
Add mali gpu node to sun4i a10 platforms. Tested with offscreen rendering with lima mesa (freedesktop gitlab) Signed-off-by: Steven Vanden Branden <stevenvandenbrandenstift@gmail.com> Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
2018-07-23ARM: dts: exynos: Configure Midas SD card CD pinSimon Shields1-1/+6
This pin is externally pulled up, so we need to disable the SoC's internal pull down resistor to allow it to function properly. Signed-off-by: Simon Shields <simon@lineageos.org> Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2018-07-23ARM: dts: exynos: Configure max77686 IRQ pin on MidasSimon Shields1-0/+7
This pin is externally pulled up, so we need to disable the SoC's internal pull-down. Signed-off-by: Simon Shields <simon@lineageos.org> Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2018-07-23ARM: dts: exynos: Add pinctrl for Midas fuelgauge IRQ pinSimon Shields1-0/+7
This pin is externally pulled up, so we should disable the SoC's pull down resistor in order for the interrupt to function properly. Signed-off-by: Simon Shields <simon@lineageos.org> Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2018-07-23ARM: dts: exynos: Add pinctrl config for Midas keysSimon Shields1-0/+7
This pins are externally pulled up, and so we should explicitly configure them to disable the SoC-internal pull-downs. Previously we relied on the bootloader doing this in order to allow the buttons to function properly. Signed-off-by: Simon Shields <simon@lineageos.org> Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>