54878 Commits

Author SHA1 Message Date
13e091b6dd Merge branch 'x86-timers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull x86 timer updates from Thomas Gleixner:
 "Early TSC based time stamping to allow better boot time analysis.

  This comes with a general cleanup of the TSC calibration code which
  grew warts and duct taping over the years and removes 250 lines of
  code. Initiated and mostly implemented by Pavel with help from various
  folks"

* 'x86-timers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (37 commits)
  x86/kvmclock: Mark kvm_get_preset_lpj() as __init
  x86/tsc: Consolidate init code
  sched/clock: Disable interrupts when calling generic_sched_clock_init()
  timekeeping: Prevent false warning when persistent clock is not available
  sched/clock: Close a hole in sched_clock_init()
  x86/tsc: Make use of tsc_calibrate_cpu_early()
  x86/tsc: Split native_calibrate_cpu() into early and late parts
  sched/clock: Use static key for sched_clock_running
  sched/clock: Enable sched clock early
  sched/clock: Move sched clock initialization and merge with generic clock
  x86/tsc: Use TSC as sched clock early
  x86/tsc: Initialize cyc2ns when tsc frequency is determined
  x86/tsc: Calibrate tsc only once
  ARM/time: Remove read_boot_clock64()
  s390/time: Remove read_boot_clock64()
  timekeeping: Default boot time offset to local_clock()
  timekeeping: Replace read_boot_clock64() with read_persistent_wall_and_boot_offset()
  s390/time: Add read_persistent_wall_and_boot_offset()
  x86/xen/time: Output xen sched_clock time from 0
  x86/xen/time: Initialize pv xen time in init_hypervisor_platform()
  ...
2018-08-13 18:28:19 -07:00
6d43743e90 Uprobe: Additional argument arch_uprobe to uprobe_write_opcode()
Add addition argument 'arch_uprobe' to uprobe_write_opcode().
We need this in later set of patches.

Link: http://lkml.kernel.org/r/20180809041856.1547-3-ravi.bangoria@linux.ibm.com

Reviewed-by: Song Liu <songliubraving@fb.com>
Acked-by: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
Signed-off-by: Ravi Bangoria <ravi.bangoria@linux.ibm.com>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
2018-08-13 20:08:33 -04:00
203b4fc903 Merge branch 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull x86 mm updates from Thomas Gleixner:

 - Make lazy TLB mode even lazier to avoid pointless switch_mm()
   operations, which reduces CPU load by 1-2% for memcache workloads

 - Small cleanups and improvements all over the place

* 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  x86/mm: Remove redundant check for kmem_cache_create()
  arm/asm/tlb.h: Fix build error implicit func declaration
  x86/mm/tlb: Make clear_asid_other() static
  x86/mm/tlb: Skip atomic operations for 'init_mm' in switch_mm_irqs_off()
  x86/mm/tlb: Always use lazy TLB mode
  x86/mm/tlb: Only send page table free TLB flush to lazy TLB CPUs
  x86/mm/tlb: Make lazy TLB mode lazier
  x86/mm/tlb: Restructure switch_mm_irqs_off()
  x86/mm/tlb: Leave lazy TLB mode at page table free time
  mm: Allocate the mm_cpumask (mm->cpu_bitmap[]) dynamically based on nr_cpu_ids
  x86/mm: Add TLB purge to free pmd/pte page interfaces
  ioremap: Update pgtable free interfaces with addr
  x86/mm: Disable ioremap free page handling on x86-PAE
2018-08-13 16:29:35 -07:00
8603596a32 Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull perf update from Thomas Gleixner:
 "The perf crowd presents:

  Kernel updates:

   - Removal of jprobes

   - Cleanup and consolidatation the handling of kprobes

   - Cleanup and consolidation of hardware breakpoints

   - The usual pile of fixes and updates to PMUs and event descriptors

  Tooling updates:

   - Updates and improvements all over the place. Nothing outstanding,
     just the (good) boring incremental grump work"

* 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (103 commits)
  perf trace: Do not require --no-syscalls to suppress strace like output
  perf bpf: Include uapi/linux/bpf.h from the 'perf trace' script's bpf.h
  perf tools: Allow overriding MAX_NR_CPUS at compile time
  perf bpf: Show better message when failing to load an object
  perf list: Unify metric group description format with PMU event description
  perf vendor events arm64: Update ThunderX2 implementation defined pmu core events
  perf cs-etm: Generate branch sample for CS_ETM_TRACE_ON packet
  perf cs-etm: Generate branch sample when receiving a CS_ETM_TRACE_ON packet
  perf cs-etm: Support dummy address value for CS_ETM_TRACE_ON packet
  perf cs-etm: Fix start tracing packet handling
  perf build: Fix installation directory for eBPF
  perf c2c report: Fix crash for empty browser
  perf tests: Fix indexing when invoking subtests
  perf trace: Beautify the AF_INET & AF_INET6 'socket' syscall 'protocol' args
  perf trace beauty: Add beautifiers for 'socket''s 'protocol' arg
  perf trace beauty: Do not print NULL strarray entries
  perf beauty: Add a generator for IPPROTO_ socket's protocol constants
  tools include uapi: Grab a copy of linux/in.h
  perf tests: Fix complex event name parsing
  perf evlist: Fix error out while applying initial delay and LBR
  ...
2018-08-13 12:55:49 -07:00
de5d1b39ea Merge branch 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull locking/atomics update from Thomas Gleixner:
 "The locking, atomics and memory model brains delivered:

   - A larger update to the atomics code which reworks the ordering
     barriers, consolidates the atomic primitives, provides the new
     atomic64_fetch_add_unless() primitive and cleans up the include
     hell.

   - Simplify cmpxchg() instrumentation and add instrumentation for
     xchg() and cmpxchg_double().

   - Updates to the memory model and documentation"

* 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (48 commits)
  locking/atomics: Rework ordering barriers
  locking/atomics: Instrument cmpxchg_double*()
  locking/atomics: Instrument xchg()
  locking/atomics: Simplify cmpxchg() instrumentation
  locking/atomics/x86: Reduce arch_cmpxchg64*() instrumentation
  tools/memory-model: Rename litmus tests to comply to norm7
  tools/memory-model/Documentation: Fix typo, smb->smp
  sched/Documentation: Update wake_up() & co. memory-barrier guarantees
  locking/spinlock, sched/core: Clarify requirements for smp_mb__after_spinlock()
  sched/core: Use smp_mb() in wake_woken_function()
  tools/memory-model: Add informal LKMM documentation to MAINTAINERS
  locking/atomics/Documentation: Describe atomic_set() as a write operation
  tools/memory-model: Make scripts executable
  tools/memory-model: Remove ACCESS_ONCE() from model
  tools/memory-model: Remove ACCESS_ONCE() from recipes
  locking/memory-barriers.txt/kokr: Update Korean translation to fix broken DMA vs. MMIO ordering example
  MAINTAINERS: Add Daniel Lustig as an LKMM reviewer
  tools/memory-model: Fix ISA2+pooncelock+pooncelock+pombonce name
  tools/memory-model: Add litmus test for full multicopy atomicity
  locking/refcount: Always allow checked forms
  ...
2018-08-13 12:23:39 -07:00
d0daaeaf60 Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull genirq updates from Thomas Gleixner:
 "The irq departement provides:

   - A synchronization fix for free_irq() to synchronize just the
     removed interrupt thread on shared interrupt lines.

   - Consolidate the multi low level interrupt entry handling and mvoe
     it to the generic code instead of adding yet another copy for
     RISC-V

   - Refactoring of the ARM LPI allocator and LPI exposure to the
     hypervisor

   - Yet another interrupt chip driver for the JZ4725B SoC

   - Speed up for /proc/interrupts as people seem to love reading this
     file with high frequency

   - Miscellaneous fixes and updates"

* 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (23 commits)
  irqchip/gic-v3-its: Make its_lock a raw_spin_lock_t
  genirq/irqchip: Remove MULTI_IRQ_HANDLER as it's now obselete
  openrisc: Use the new GENERIC_IRQ_MULTI_HANDLER
  arm64: Use the new GENERIC_IRQ_MULTI_HANDLER
  ARM: Convert to GENERIC_IRQ_MULTI_HANDLER
  irqchip: Port the ARM IRQ drivers to GENERIC_IRQ_MULTI_HANDLER
  irqchip/gic-v3-its: Reduce minimum LPI allocation to 1 for PCI devices
  dt-bindings: irqchip: renesas-irqc: Document r8a77980 support
  dt-bindings: irqchip: renesas-irqc: Document r8a77470 support
  irqchip/ingenic: Add support for the JZ4725B SoC
  irqchip/stm32: Add exti0 translation for stm32mp1
  genirq: Remove redundant NULL pointer check in __free_irq()
  irqchip/gic-v3-its: Honor hypervisor enforced LPI range
  irqchip/gic-v3: Expose GICD_TYPER in the rdist structure
  irqchip/gic-v3-its: Drop chunk allocation compatibility
  irqchip/gic-v3-its: Move minimum LPI requirements to individual busses
  irqchip/gic-v3-its: Use full range of LPIs
  irqchip/gic-v3-its: Refactor LPI allocator
  genirq: Synchronize only with single thread on free_irq()
  genirq: Update code comments wrt recycled thread_mask
  ...
2018-08-13 10:47:26 -07:00
400439275d Merge branch 'efi-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull EFI updates from Thomas Gleixner:
 "The EFI pile:

   - Make mixed mode UEFI runtime service invocations mutually
     exclusive, as mandated by the UEFI spec

   - Perform UEFI runtime services calls from a work queue so the calls
     into the firmware occur from a kernel thread

   - Honor the UEFI memory map attributes for live memory regions
     configured by UEFI as a framebuffer. This works around a coherency
     problem with KVM guests running on ARM.

   - Cleanups, improvements and fixes all over the place"

* 'efi-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  efivars: Call guid_parse() against guid_t type of variable
  efi/cper: Use consistent types for UUIDs
  efi/x86: Replace references to efi_early->is64 with efi_is_64bit()
  efi: Deduplicate efi_open_volume()
  efi/x86: Add missing NULL initialization in UGA draw protocol discovery
  efi/x86: Merge 32-bit and 64-bit UGA draw protocol setup routines
  efi/x86: Align efi_uga_draw_protocol typedef names to convention
  efi/x86: Merge the setup_efi_pci32() and setup_efi_pci64() routines
  efi/x86: Prevent reentrant firmware calls in mixed mode
  efi/esrt: Only call efi_mem_reserve() for boot services memory
  fbdev/efifb: Honour UEFI memory map attributes when mapping the FB
  efi: Drop type and attribute checks in efi_mem_desc_lookup()
  efi/libstub/arm: Add opt-in Kconfig option for the DTB loader
  efi: Remove the declaration of efi_late_init() as the function is unused
  efi/cper: Avoid using get_seconds()
  efi: Use a work queue to invoke EFI Runtime Services
  efi/x86: Use non-blocking SetVariable() for efi_delete_dummy_variable()
  efi/x86: Clean up the eboot code
2018-08-13 10:25:08 -07:00
c61b466d4f Merge branches 'fixes', 'misc' and 'spectre' into for-linus
Conflicts:
	arch/arm/include/asm/uaccess.h

Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
2018-08-13 16:28:50 +01:00
062a585ec2 KVM: arm: Use true and false for boolean values
Return statements in functions returning bool should use true or false
instead of an integer value.

This code was detected with the help of Coccinelle.

Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
2018-08-12 12:17:51 +01:00
3e8a8a50c7 KVM: arm: vgic-v3: Add support for ICC_SGI0R and ICC_ASGI1R accesses
In order to generate Group0 SGIs, let's add some decoding logic to
access_gic_sgi(), and pass the generating group accordingly.

Reviewed-by: Eric Auger <eric.auger@redhat.com>
Reviewed-by: Christoffer Dall <christoffer.dall@arm.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
2018-08-12 12:06:35 +01:00
6249f2a479 KVM: arm/arm64: vgic-v3: Add core support for Group0 SGIs
Although vgic-v3 now supports Group0 interrupts, it still doesn't
deal with Group0 SGIs. As usually with the GIC, nothing is simple:

- ICC_SGI1R can signal SGIs of both groups, since GICD_CTLR.DS==1
  with KVM (as per 8.1.10, Non-secure EL1 access)

- ICC_SGI0R can only generate Group0 SGIs

- ICC_ASGI1R sees its scope refocussed to generate only Group0
  SGIs (as per the note at the bottom of Table 8-14)

We only support Group1 SGIs so far, so no material change.

Reviewed-by: Eric Auger <eric.auger@redhat.com>
Reviewed-by: Christoffer Dall <christoffer.dall@arm.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
2018-08-12 12:06:34 +01:00
4aa5db22d3 Merge branch 'asoc-4.19' into asoc-next 2018-08-09 14:47:05 +01:00
9e90c79852 irqchip updates for 4.19
- GICv3 ITS LPI allocation revamp
 - GICv3 support for hypervisor-enforced LPI range
 - GICv3 ITS conversion to raw spinlock
 -----BEGIN PGP SIGNATURE-----
 
 iQJJBAABCAAzFiEEn9UcU+C1Yxj9lZw9I9DQutE9ekMFAltoBXMVHG1hcmMuenlu
 Z2llckBhcm0uY29tAAoJECPQ0LrRPXpDyUYP/1feAq3F7ZmhCIZka4c6y/m4EBpq
 BjWEEgOAGMEyyB4s98flsRtZcEUxxp6CqEXo2FgCsd1Nj+og7oA7vwOlqy3aGzsi
 9f/Z5Wi6SlG06lH5tmYNkyVbGk2tE3s2FzkH5Rg8qZGk+X3OCOdNs/+G20pYAkSp
 ESePWSapbQUJSExJ1MqzfdHFidtVA1V+ev8BKdIp2ykl1NRae8LJeKHIbqac49Ym
 JclfCLFpQM1M1ElB9j0E8hAvZhz10oOz7TtBR737O/1QEifVyFqGBckPzldvwIJM
 zZ+nR+Yzj1ruD109xwaF1iKy9AinZWhiqrtN7UXJ3jwHtNih+sy0R6FQ38GMNoOC
 0K02n/qStR5xglGr4BmAcWlOuFtBYWfz6HpSVMqaTWWmOxHEiqS6pXtEA+dV/YyI
 wHLbo0YzpWTQm6t1+b/PoByAJ0/hOcD1nOD57b+NGjX7tZV0sGjpGsecvFhTSywh
 BN3COBi9k/FOBrOTGDX1qUAI+mEf76vc2BAC+BkkoiiMg3WlY0E9qfQJguUxHdrb
 0LS3lDZoHCNoz8RZLrUyenTT0NYGcjPGUTinMDJWG79VGXOWFexTDdCuX0kF90CK
 1Zie3O6lrTYolmaiyLUxwukKp1SVUyoA5IpKVwfDJQYUhEfk27yvlzg2MBMcHDRA
 uy3QSkmjx9vw/sAu
 =gKw8
 -----END PGP SIGNATURE-----

Merge tag 'irqchip-4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms into irq/core

Pull irqchip updates from Marc Zyngier:

- GICv3 ITS LPI allocation revamp
- GICv3 support for hypervisor-enforced LPI range
- GICv3 ITS conversion to raw spinlock
2018-08-06 12:45:42 +02:00
4c301f9b6a ARM: Convert to GENERIC_IRQ_MULTI_HANDLER
Converts the ARM interrupt code to use the recently added
GENERIC_IRQ_MULTI_HANDLER, which is essentially just a copy of ARM's
existhing MULTI_IRQ_HANDLER.  The only changes are:

* handle_arch_irq is now defined in a generic C file instead of an
  arm-specific assembly file.
 
* handle_arch_irq is now marked as __ro_after_init.

Signed-off-by: Palmer Dabbelt <palmer@sifive.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: linux@armlinux.org.uk
Cc: catalin.marinas@arm.com
Cc: Will Deacon <will.deacon@arm.com>
Cc: jonas@southpole.se
Cc: stefan.kristiansson@saunalahti.fi
Cc: shorne@gmail.com
Cc: jason@lakedaemon.net
Cc: marc.zyngier@arm.com
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: nicolas.pitre@linaro.org
Cc: vladimir.murzin@arm.com
Cc: keescook@chromium.org
Cc: jinb.park7@gmail.com
Cc: yamada.masahiro@socionext.com
Cc: alexandre.belloni@bootlin.com
Cc: pombredanne@nexb.com
Cc: Greg KH <gregkh@linuxfoundation.org>
Cc: kstewart@linuxfoundation.org
Cc: jhogan@kernel.org
Cc: mark.rutland@arm.com
Cc: ard.biesheuvel@linaro.org
Cc: james.morse@arm.com
Cc: linux-arm-kernel@lists.infradead.org
Cc: openrisc@lists.librecores.org
Link: https://lkml.kernel.org/r/20180622170126.6308-3-palmer@sifive.com
2018-08-03 12:14:08 +02:00
4e34e51f48 crypto: arm/chacha20 - always use vrev for 16-bit rotates
The 4-way ChaCha20 NEON code implements 16-bit rotates with vrev32.16,
but the one-way code (used on remainder blocks) implements it with
vshl + vsri, which is slower.  Switch the one-way code to vrev32.16 too.

Signed-off-by: Eric Biggers <ebiggers@google.com>
Acked-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2018-08-03 18:06:05 +08:00
c5f5aeef9b Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux
Merge mainline to pick up c7513c2a2714 ("crypto/arm64: aes-ce-gcm -
add missing kernel_neon_begin/end pair").
2018-08-03 17:55:12 +08:00
89b1698c93 Merge ra.kernel.org:/pub/scm/linux/kernel/git/davem/net
The BTF conflicts were simple overlapping changes.

The virtio_net conflict was an overlap of a fix of statistics counter,
happening alongisde a move over to a bonafide statistics structure
rather than counting value on the stack.

Signed-off-by: David S. Miller <davem@davemloft.net>
2018-08-02 10:55:32 -07:00
a3c0f84765 ARM: spectre-v1: mitigate user accesses
Spectre variant 1 attacks are about this sequence of pseudo-code:

	index = load(user-manipulated pointer);
	access(base + index * stride);

In order for the cache side-channel to work, the access() must me made
to memory which userspace can detect whether cache lines have been
loaded.  On 32-bit ARM, this must be either user accessible memory, or
a kernel mapping of that same user accessible memory.

The problem occurs when the load() speculatively loads privileged data,
and the subsequent access() is made to user accessible memory.

Any load() which makes use of a user-maniplated pointer is a potential
problem if the data it has loaded is used in a subsequent access.  This
also applies for the access() if the data loaded by that access is used
by a subsequent access.

Harden the get_user() accessors against Spectre attacks by forcing out
of bounds addresses to a NULL pointer.  This prevents get_user() being
used as the load() step above.  As a side effect, put_user() will also
be affected even though it isn't implicated.

Also harden copy_from_user() by redoing the bounds check within the
arm_copy_from_user() code, and NULLing the pointer if out of bounds.

Acked-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
2018-08-02 17:41:38 +01:00
b1cd0a1480 ARM: spectre-v1: use get_user() for __get_user()
Fixing __get_user() for spectre variant 1 is not sane: we would have to
add address space bounds checking in order to validate that the location
should be accessed, and then zero the address if found to be invalid.

Since __get_user() is supposed to avoid the bounds check, and this is
exactly what get_user() does, there's no point having two different
implementations that are doing the same thing.  So, when the Spectre
workarounds are required, make __get_user() an alias of get_user().

Acked-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
2018-08-02 17:41:38 +01:00
d09fbb327d ARM: use __inttype() in get_user()
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-02 17:41:38 +01:00
8c8484a1c1 ARM: oabi-compat: copy semops using __copy_from_user()
__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-02 17:41:38 +01:00
42019fc50d ARM: vfp: use __copy_from_user() when restoring VFP state
__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-02 17:41:37 +01:00
16e0e6a83b Merge branch 'perf/urgent' into perf/core, to pick up fixes
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2018-08-02 09:59:20 +02:00
87a4c37599 kconfig: include kernel/Kconfig.preempt from init/Kconfig
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-02 08:06:54 +09:00
06ec64b84c Kconfig: consolidate the "Kernel hacking" menu
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-02 08:06:48 +09:00
1572497cb0 kconfig: include common Kconfig files from top-level Kconfig
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-02 08:03:23 +09:00
6b47037682 Merge branch 'fixes' of git://git.armlinux.org.uk/~rmk/linux-arm
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-01 15:01:26 -07:00
8b11ec1b5f mm: do not initialize TLB stack vma's with vma_init()
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-01 13:43:38 -07:00
c8f8a0b50b ARM: multi_v7_defconfig: add CONFIG_UNIPHIER_THERMAL and CONFIG_SNI_AVE
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-07-31 19:05:31 -07:00
f0fc40aff6 ARM: uniphier: select RESET_CONTROLLER
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-07-31 19:04:41 -07:00
f61513f724 ARM: uniphier: remove empty Makefile
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-07-31 19:04:39 -07:00
61c22946ad 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
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEE+nHMAt9PCBDH63wBa3ZZB4FHcJ4FAltacAgACgkQa3ZZB4FH
 cJ7VIg//S1Df+le7rn4LYqF4OSXoDDTU4oDTkQtjvMIBoTjGnWbwhtaMYKzSsE82
 nNgo+BXFuKufNc27zNCiK2aGrWMbFqjcvC3OKE6V/qERMsyE5g1b41oAb8sbusJJ
 NnbvHL1g9UE3fojwOyHNkQG5pfUAv/+Dj3P0hdmKa3Jsk+pVHlKN1mB1z5tM80Ab
 MR+/MaGnNHqj1giTdubLvh8Bhp+sOS3XymVsvZfKjadloLO4qcIbQnxpTJB3GyRE
 xa4KhXv1oSSzAIsfwtR/iTyvuc3Klr/K1ePdlObeFVmc+IH75GrPYZEJznhuKUau
 JKhZlgIpfFoeDbEIO9Os/tejobHh30W+/FjsVvaZ353sqzx1r7i5limw5Hip0j1w
 PgxZAdYBTAGSRRK5n43N6aK6IsrNxGiHzFlzU/gBFUAIJfZUHtJ4Kn0eO61Ee3FJ
 fsVyxtosx5LBhV+rjkoZBB4wfoMmuI0YoKc+o3/wb4zYEUq9HitoBq7KasCBi9/L
 20e+Qf0YNZ4r2STeLIeY0/1wkmUrH4Z3nthhlIjySnuscAEX8utGFEobGUf3WYnR
 mN1Kk4ur+j9b7Yv77MseQheFXn9MtyCqI3sElJPaOjnkUUZBDLPJ65sW75OOPW9u
 SmdvV6am7ndo8LSmIFH34lmLEwEt6b3r+zzgCpu1ZTw9YznWmsc=
 =aigP
 -----END PGP SIGNATURE-----

Merge tag 'aspeed-4.19-devicetree-no-fsi' of 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-31 19:02:51 -07:00
001a30c4d0 ARM: 8785/1: use compiler built-ins for ffs and fls
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-30 11:45:53 +01:00
cbfc5619e0 ARM: 8784/1: NOMMU: Allow enter in Hyp mode
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-30 11:45:52 +01:00
c803ce3f18 ARM: 8783/1: NOMMU: Extend check for VBAR support
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-30 11:45:51 +01:00
35f5a6acfb ARM: 8782/1: vfp: clean up arch/arm/vfp/Makefile
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-30 11:45:50 +01:00
afc9f65e01 ARM: 8781/1: Fix Thumb-2 syscall return for binutils 2.29+
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-30 11:45:19 +01:00
3fce461827 BackMerge v4.18-rc7 into drm-next
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-30 10:39:22 +10:00
6b0709f5a5 ARM: at91: remove unused duplicated filechk_offsets
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-28 10:34:06 +09:00
ba70ffa7d2 Merge branch 'for-next/perf' of 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-27 14:39:04 +01:00
2c4541e24c mm: use vma_init() to initialize VMAs on stack and data segments
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-26 19:38:03 -07:00
34fbee109b - mt7623
- delete unsupported reference board
 - fix pio leds
 - add missing cooling device
 -----BEGIN PGP SIGNATURE-----
 
 iQJLBAABCAA1FiEEiUuSfQSYnG8EMsBltDliWyzx00MFAltZhhoXHG1hdHRoaWFz
 LmJnZ0BnbWFpbC5jb20ACgkQtDliWyzx00NVYg//XCBIAvsKUNaC2U6DKdvnS4Hc
 wL9IHGicH81C6lQbHBKZM6lpx7vb6ANldj33ioc6q/5a68h21UW0kwi/jfkFpCPv
 ALQJGieMd32IMz4zo5Kkk30joqt7wx9JEs/ijqHLIx9N6oyxzwSsjJxTAUhNt9x0
 Yh+dTEUL0FW3dRIyq3f5m7AWMDSOeDSc6n1dxMpOveLSPHRLRqRU6kVzBxlOvv/x
 Izhi8RXDVnH+mjLlsO7cb8THrYbUGMGx5SFxzyCP6Ag6WPF9FPuAHzXxcoQwoDmE
 +vFs9L9hq8G6jANLsRP75nCsacsLVeDLgFmU7nb0Ok4LMwDU+9dzBf+9LYe4sZQO
 JcqzMjmULBmDAWVL6+SXKX+SSGFyCOZ85YR0WB9gBYsxyVbmSRkuGjI7WMeN893t
 N+3WYIlt0CLxmXUiFkaut1tKtzLyYgRf/71kp4DkonrJXd9PvGpQpZXdEJ49s6hf
 4rdmX1NeU8LntcvAIeZ9hXhLhZiH6aYr9WkiRxPr2q4sBZG5Zp7uFFZEoYgENvlS
 9e7E/eMG4UTFNmWBXo+fzA5yNDEPjenvWWRLL/dYt6X9RnjX8gAy8mv6xCHHsGa7
 3xQw7gCc1NANO0g3imlim4XuW+Ap/a7Atz+mR+OoOc4ZNMeTXC2ubmIQd6aLJXsW
 9YPDRT2fndHOl/NLwTo=
 =P5yi
 -----END PGP SIGNATURE-----

Merge tag 'v4.18-next-dts32' of 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-26 13:04:44 -07:00
02c8547ca2 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
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEE+nHMAt9PCBDH63wBa3ZZB4FHcJ4FAltZSiEACgkQa3ZZB4FH
 cJ42bRAAkqwL2sS2TdHmx2XD12OdMNZUcGRl16wJ+GaQzeyuk0KzZ3B8ETm+VrO7
 3ySMeajXbWC+dGpd6lHa7fWWX7vF9fAScY7v/guD/3R0l2c7y2kVM/+e7t7ZW12B
 iLj+e+bcmtp39rzLaVrzT6+pz8XmzOaghfTe/y0JkeO4oeC7fAOSb4wKsXcq8PC+
 iBUbMnKus2ina37bXMyjq6cAbjeLv5c+ZwhhCX3lZN5H4fNcS+IJo0YsU2QRyXTA
 v6ssA2hjlpZpUoL5ApGRsGxfLtyHyjkVdta88/oCefdo4Tjm+G0TT0Xj8GBccuWf
 27Mpc6gbus73Jj+4ZKH8U8f39OS0kq7rkooJhcmKdjOSzF6t1zgBcthMgHLIAX7+
 N82dta5EYHPwHdLOIuqwbwFTWQ4ST5l9GMVKim7pNDZ5umLF1huO/p/t6SsNuRhA
 8gZOiJZyOnApfcW7WQOO41jZIe6/sYlnxQiFB5z/6kX/ba6ax3Hm09aEd53dHQ2c
 FpqT0QXslWJ4Cp58O3b5JMAxqes+S7CDGjJt3O00MIPsan+zJDvTBu2u7EZvhYCs
 1Gqzt+/QVXaZqCXJI+buSK6gH25xzmk9w9dnzUacPq7YkmyCIg6VtlfNRisveeR5
 /OOnb1xg0i796r2DVRFLY7kcTg7hpk/EO0SulFw9qZ4Cx661slg=
 =Icyg
 -----END PGP SIGNATURE-----

Merge tag 'aspeed-4.19-defconfig' of 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-26 12:22:10 -07:00
c32cd419d6 ARM: signal: copy registers using __copy_from_user()
__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-26 17:00:28 +01:00
5acdc77014 Samsung mach/soc changes for v4.19
Minor cleanups and fixes.
 -----BEGIN PGP SIGNATURE-----
 
 iQItBAABCAAXBQJbWJ83EBxrcnprQGtlcm5lbC5vcmcACgkQwTdm5oaLg9d+7xAA
 j2yiTMIXwDRuT61odTKE7TDoIkJUYmWGfnEWfDmeNyYEQmSaZNSbOP97LQI1u8mv
 /xCMS1RjO+G54HLpKBet3Xk/ZR+aGp/mkDN9hrGwCgfVvo9eiaSAWTw160lLumhB
 DbP3jgsmmsCId0nmXMh3hn23/kV17g/JHGrHI0Mug02ZT8giyfZesXSue2sHHkGk
 erl/gQ5Lj0W/sMFwaI1bu5ai/ALWzq0huzaCMEGVV+2SOPtrCHKtoiBu01DmMf6u
 ug+uBsJeFS/NL4+S3Iw6//6l8o3sihtCR+HmqNpIv+N5zqCri1dc6GyhRH4hFcdG
 Per8qo//V/6vQtle+HYeJBLwTkWdAcad9WfBwMncdIvKimC3nOk89T3DYQ3cDk8E
 nIiqz9i8c2TYSIGwv05YcBzlY+kpBwQ/mbdW7G11kvwGteddJwVVTbAscwGWXQ1R
 Yrc426I2w/tB/2EdUB28Pn4gp1C9Jco0dMRJnml1BOl4kfZkmI/0APllbGKSsUl8
 O8T4ERsZUGZEgMGFKTJfdwAYnqM3RIoxBExfe0/0CyO+QNC0USKqBG2JgUQkEq9J
 CzTFplxZMW5cRfBWK6uPsH1d2waGg73ifEeGwznche+cGwxHbTUFdzHWQbldLWS0
 1cJnSVSTkvyFj8SFM/zSmt6SmGQvIDcy8DPiRm9ix6Y=
 =1puh
 -----END PGP SIGNATURE-----

Merge tag 'samsung-soc-4.19' of 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-26 00:18:25 -07:00
31342a2150 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
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEE0VqZU19dR2zEVaqr0rTAlCFNr3QFAltXJHsACgkQ0rTAlCFN
 r3TrXQ//ai4SQCdkx9sWvbmVll3qhoFWT4cRE5S8bWI/9nJmoYGmlIW94PgLXi3f
 ck5lMgkL1yNLDD66ym+YW57fcXjAVkySsqySMOwFkhKCFKVeZnT69om3jl7dWXou
 8ieJblWO7MZUhQ7IFZdq/+KAzmQKw9H0He27Pe1x0KEEbOHgkjsWBZPnSvRMbnyC
 wBt3ItecbtK/5wNmgvGrQr6yLooXnsfLS8tq/je/mP+/260FfZcvt5J73mvi/JVX
 k4WISVHB+QL3tIS+/8jijYG+PD3Is9OxXcQdmGVACGyPxKQQpgmUqakn2IGwpXWv
 gTc5CPOAigDKhICgbGaeiHNM/9+UEA9kqQQmweUpM0dd5p2O+mIbdOAstvQCD41y
 iK5NmBrr9Q/XaobeogtQNVxDmcyFtjEp4vftHIRSt9kijIN1yhCKlC/SiRIP6hlr
 t/lsXiIDyfh1eo5ZZdIltcCxKD6LpWwUqs9tRRGCXQOEz6tLivF/VFIgpvDsthLO
 N/tPHeqA9VMBybyEavJsq7hs+Ckt5YbriOW+nWZRqgek0r9BHcZ2nFBg5nMhqIWw
 jCZ62PXmIdJJNtaDcO/ZidWAZMIeoiTmm4VJzyhIwMMQG8DT4ONWsxxsT1aHCGk8
 k7MT1/RLDHFBuj2dJKbwPIsyF8ivZAodtWdNu67zeXs+8l7vd04=
 =Blyi
 -----END PGP SIGNATURE-----

Merge tag 'sunxi-h3-h5-for-4.19' of 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-26 00:02:45 -07:00
8b0c9a9810 Renesas ARM Based SoC Defconfig Updates for v4.19
multi_v7_defconfig and shmobile_defconfig Enhancement:
 
 * Enable support for recently upstreamed RZN1D-DB board
   in multi_v7_defconfig and shmobile_defconfig. This is
   to give better test coverage.
 
 shmobile_defconfig Clean-Up:
 
 * Drop NET_VENDOR_<FOO>=n
 
   This reduces the size of the defconfig without any change in the
   resulting kernel config.
 
 shmobile_defconfig Enhancements:
 
 * Disable long deprecated /sbin/hotplug helper
 
 * Enable reset controller support
 
   This is to give better test coverage.
   This may be used by reset controller support in the Renesas CPG/MSSR
   driver when used by R-Car Gen2 and RZ/G1 SoCs.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEE4nzZofWswv9L/nKF189kaWo3T74FAltVwNgACgkQ189kaWo3
 T77n0A//RJDW4z+u4NqA9iQb9TXxFMQ+VTVtqGU0KkkNU5WMAIH8IeDTzm23aS0U
 A7R7AQwqyT231UlLseRlYIzU/wZeHzyZmqZFueGXiTUdp2Nr1dlTeRy4we1ZIbBj
 POOb9G68qygZXceb93BAZ13oS1BwIpD4dM4KM05eeVztOQVYzZDXUisZyThP5YkJ
 ytN68X5y32mjUtnPKj4s3daKxNanlkDrzsNWRLuy+5nxE8Fxhau/ua1/GI6YLc8p
 jomTUaYOuLIiNasKDlkYZCi6+LyTpXO98yvPJh5q0ULyr9nJhUyj4uWowJTAdAFl
 5pFW7av6znH+zwtz/g5jIHodvLHI4i2N40L9JHCe1NCpE4yNkFnfCKrr1Xi35g8z
 DQ4Vk8wvXW0aaIvJa/fXUNvMqRdex4lKTII/R5d3p7ktck+7hA7JTUqY3lCjiIH3
 MjEnjx5tKZYQ+9eGFBNMYgZvgdV08vth3NUEX+n1I4HT/w5wtOLaWNcZqcSp1YaN
 rxopQBIgu2sjJ4mEzzg3iJMyCDqKouHJqYVT4Vr+VO+AMpQUmT8XOu8Jpl//U/kc
 cdbB7LVS5sNCvQc9hKAue88AviNDJBuBcUeL8/TtmS3S07RaoPMhxft9+bE7yOdp
 U88far+cSxix0DJCC49HcbBSj00MJGbcQVxxyebtukVl104Rh84=
 =tQ3T
 -----END PGP SIGNATURE-----

Merge tag 'renesas-arm-defconfig-for-v4.19' of 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-25 23:59:13 -07:00
6672e8d50c Qualcomm ARM Based defconfig Updates for v4.19
* Enable Qualcomm NAND config
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJbU6XPAAoJEFKiBbHx2RXVt10P/2blmyMjeOiWNhCKYbhDINWT
 aqqYqnigTdlds/uZnUEE7mf+dr3EEq29zmg02z9r3lIGBJzuPO4moQ4gDKPCz975
 pfLHQCImiwx3NnUqcpg6+R+ba7QfPn4BCJGJkc4QUXwButDRwxJJ3OHRrB3o9hr0
 iQQeJf86Jdp+N6OSAiRuuZkt1XCIJP45pkAP9hBGzMRiC2qQVkK87Reb11zLeGXt
 IuE3afovHPsLiNpxlPzsLnMzKsfSfBXfZxarUklQ30mnrJCritr1hCylphHU8kIN
 bQEz1vxpLl9Bm9FbBZ2VZvE5IfTpqmxxwaslcw9XC0Y8gdOKnhriVqlojfE/tBdO
 VUr69PdoEGF2ojGLXJ7Uz8US2vJSaZGr6G4fioK8z2J46A8YAWIYh6rzq5C/jdtI
 NESg/KmdWJnfhsm2VwxuDnH1xzQ50GJgmGsxO5cFBnbfM1cvZEze8kLIeAkPrIRM
 CU5L9gEq4xaPILEpplyHVzSWIqX19mKBWGRuRDG28P5g8djLswtLLDTI6KXT4xyK
 /dbBxcXNIvRU3QSu8qawd+e9K2m35HsH5Thxz4CTmGDtW6Dh3qHoNyx19JxANQei
 rAAUvchBd3uBNbYHdU52kiWEXqfJwd9GEoHTAV7ADdXnMQ91VaUCpDGsiNZsbaUw
 jlTdmqwXN4AmE3YIE87n
 =UGXo
 -----END PGP SIGNATURE-----

Merge tag 'qcom-defconfig-for-4.19' of 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-25 23:58:32 -07:00
ee57dd5af7 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.
 -----BEGIN PGP SIGNATURE-----
 
 iQItBAABCAAXBQJbWKM3EBxrcnprQGtlcm5lbC5vcmcACgkQwTdm5oaLg9eYgQ/8
 CNCkdyy+bobLVPQRgLT4buOD+Di1HUOlhYE1f0hSoJlqXO5WOY+wFBDdIeIftMJc
 5IElUV4NBWpXVeiiWC2965D7V4nYGTuHu57u2c026HbWMHFAILGOLJ5zLQiWiDsh
 quci2U5XB3Nik275gpUDLsah9Ef/ELVHfS89XRR6P9fKPf0UBhUg3IQqPMyGVUsm
 ltRA1SekTbeFpDRzbhneEMNsbnhHZHd+WmDifHO88SRA3kbfc5E8QFiJYx9JEwNY
 og+qj31LyqIh32DaZzzNCbYm1+5ln7YrbMQ4Pwmel5J/UzW80JukPKJrt/mDysxe
 d9YgzrCiD//l/mjhpzsx1vamfAPGn9XCQ0fsOGm5JJfg8HcSowgeeg7B9EqndfLo
 3EW2niu0vHZ+3OKLDWToDuyTlubLWtidBHwWw3djICay3ncxshYWjRNYvYDzbDnG
 3lNQOh4Da1Sa64Qbf/cIx2fzCRmZBHP2+sXcZfETR+njlbbA4uyj7UM22qt+0pwP
 1TJ/bwwmDeyENQVnqFgT1Dy9j7XoPKhobZO2vxGog4vUWRJPZ+FpnwL0H6Wc+B9D
 9caRdhvHhlV/CTugxYjzVbO6MDp2/9ubjAMiZXy9gjjkj/wdPzu5/HzIu7KSYq28
 nmzrFh9deggzKtgc8IV5iLlooH75bmhyy5JDcSV5cwY=
 =ziUf
 -----END PGP SIGNATURE-----

Merge tag 'samsung-dt-4.19-2' of 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-25 23:57:24 -07:00
ba8e2b94d9 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
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEE0VqZU19dR2zEVaqr0rTAlCFNr3QFAltXI44ACgkQ0rTAlCFN
 r3TA1A//YKpmLTWhqTayqh7evsBtUvNET6sF21KG8NwMWShQoCpAFya9itS3ACc/
 kFwguBtTdiefHRSwOYNJhl94YTb6xBYFv4dk47NaxuHLMpLHFXr+YmYypeIZ/wNc
 P19R3s84n4HEvrhfyrsmA4FaLPLgRTzV23qLwPZrZHbKNv1mABuD3pruyGblbnKS
 hCHSw9Gaw8AmEFxFbTwqeYZR4k8+TAFwYoYZPrdyPDtOhEaa5+hqVmfOSiorEtHG
 OekbAj54rOYYPUPnEjEyj+sFtv4vK54h3qoWYH8B+XTr0svL5V8EQWooPzsnPTlE
 OrgIXN9hPmz81WrdVBFf+nJnmuvACS1jpQX1U54WctGtyM/U4lFh2EoQFBfSDl9Q
 cLzd6yyy/aG/YldFxtFImO7VSoVQWnIF7EDV6kKSvtWRyxc30fQz+SVW2Yh193Jj
 bPi0SikBeekv9/XwBWTjY+ZDvoypJ10LQ8FqMuupB3v6TwsSTVIciZmcZpyxyp61
 uEx4VGhGqoRc9GeQgJqLMAcUfAU1irUAaDePsD3eBRwn6Xla723M4QUhFPthnWZW
 mANMz7WVLQXgsPl77m7SEU+ES8xma3ilgTC6Nm55NpG7bq4/icQp8vXHNClxPNvk
 LoeXSpVWrnenP7DxLJFSldyPTrJAkDaije7eg5J0SJ5dJxpa+TY=
 =3J2I
 -----END PGP SIGNATURE-----

Merge tag 'sunxi-dt-for-4.19' of 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-25 23:55:23 -07:00