11 Nov, 2015

2 commits

  • Pull ARM SoC cleanups from Olof Johansson:
    "Again we have a sizable (but not huge) cleanup branch with a net delta
    of about -3k lines.

    Main contents here is:

    - A bunch of development/cleanup of a few PXA boards
    - Removal of bockw platforms on shmobile, since the platform has now
    gone completely multiplatform. Whee!
    - move of the 32kHz timer on OMAP to a proper timesource
    - Misc cleanup of older OMAP material (incl removal of one board
    file)
    - Switch over to new common PWM lookup support for several platforms

    There's also a handful of other cleanups across the tree, but the
    above are the major pieces"

    * tag 'armsoc-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (103 commits)
    ARM: OMAP3: hwmod data: Remove legacy mailbox data and addrs
    ARM: DRA7: hwmod data: Remove spinlock hwmod addrs
    ARM: OMAP4: hwmod data: Remove spinlock hwmod addrs
    ARM: DRA7/AM335x/AM437x: hwmod: Remove gpmc address space from hwmod data
    ARM: Remove __ref on hotplug cpu die path
    ARM: Remove open-coded version of IRQCHIP_DECLARE
    arm: omap2: board-generic: use omap4_local_timer_init for AM437x
    ARM: DRA7/AM335x/AM437x: hwmod: Remove elm address space from hwmod data
    ARM: OMAP: Remove duplicated operand in OR operation
    clocksource: ti-32k: make it depend on GENERIC_CLOCKSOURCE
    ARM: pxa: remove incorrect __init annotation on pxa27x_set_pwrmode
    ARM: pxa: raumfeld: make some variables static
    ARM: OMAP: Change all cpu_is_* occurences to soc_is_* for id.c
    ARM: OMAP2+: Rename cpu_is macros to soc_is
    arm: omap2: timer: limit hwmod usage to non-DT boots
    arm: omap2+: select 32k clocksource driver
    clocksource: add TI 32.768 Hz counter driver
    arm: omap2: timer: rename omap_sync32k_timer_init()
    arm: omap2: timer: always call clocksource_of_init() when DT
    arm: omap2: timer: move realtime_counter_init() around
    ...

    Linus Torvalds
     
  • Pull dmaengine updates from Vinod Koul:
    "This time we have a very typical update which is mostly fixes and
    updates to drivers and no new drivers.

    - the biggest change is coming from Peter for edma cleanup which even
    caused some last minute regression, things seem settled now
    - idma64 and dw updates
    - iotdma updates
    - module autoload fixes for various drivers
    - scatter gather support for hdmac"

    * tag 'dmaengine-4.4-rc1' of git://git.infradead.org/users/vkoul/slave-dma: (77 commits)
    dmaengine: edma: Add dummy driver skeleton for edma3-tptc
    Revert "ARM: DTS: am33xx: Use the new DT bindings for the eDMA3"
    Revert "ARM: DTS: am437x: Use the new DT bindings for the eDMA3"
    dmaengine: dw: some Intel devices has no memcpy support
    dmaengine: dw: platform: provide platform data for Intel
    dmaengine: dw: don't override platform data with autocfg
    dmaengine: hdmac: Add scatter-gathered memset support
    dmaengine: hdmac: factorise memset descriptor allocation
    dmaengine: virt-dma: Fix kernel-doc annotations
    ARM: DTS: am437x: Use the new DT bindings for the eDMA3
    ARM: DTS: am33xx: Use the new DT bindings for the eDMA3
    dmaengine: edma: New device tree binding
    dmaengine: Kconfig: edma: Select TI_DMA_CROSSBAR in case of ARCH_OMAP
    dmaengine: ti-dma-crossbar: Add support for crossbar on AM33xx/AM43xx
    dmaengine: edma: Merge the of parsing functions
    dmaengine: edma: Do not allocate memory for edma_rsv_info in case of DT boot
    dmaengine: edma: Refactor the dma device and channel struct initialization
    dmaengine: edma: Get qDMA channel information from HW also
    dmaengine: edma: Merge map_dmach_to_queue into assign_channel_eventq
    dmaengine: edma: Correct PaRAM access function names (_parm_ to _param_)
    ...

    Linus Torvalds
     

04 Nov, 2015

1 commit

  • Pull irq updates from Thomas Gleixner:
    "The irq departement delivers:

    - Rework the irqdomain core infrastructure to accomodate ACPI based
    systems. This is required to support ARM64 without creating
    artificial device tree nodes.

    - Sanitize the ACPI based ARM GIC initialization by making use of the
    new firmware independent irqdomain core

    - Further improvements to the generic MSI management

    - Generalize the irq migration on CPU hotplug

    - Improvements to the threaded interrupt infrastructure

    - Allow the migration of "chained" low level interrupt handlers

    - Allow optional force masking of interrupts in disable_irq[_nosysnc]

    - Support for two new interrupt chips - Sigh!

    - A larger set of errata fixes for ARM gicv3

    - The usual pile of fixes, updates, improvements and cleanups all
    over the place"

    * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (71 commits)
    Document that IRQ_NONE should be returned when IRQ not actually handled
    PCI/MSI: Allow the MSI domain to be device-specific
    PCI: Add per-device MSI domain hook
    of/irq: Use the msi-map property to provide device-specific MSI domain
    of/irq: Split of_msi_map_rid to reuse msi-map lookup
    irqchip/gic-v3-its: Parse new version of msi-parent property
    PCI/MSI: Use of_msi_get_domain instead of open-coded "msi-parent" parsing
    of/irq: Use of_msi_get_domain instead of open-coded "msi-parent" parsing
    of/irq: Add support code for multi-parent version of "msi-parent"
    irqchip/gic-v3-its: Add handling of PCI requester id.
    PCI/MSI: Add helper function pci_msi_domain_get_msi_rid().
    of/irq: Add new function of_msi_map_rid()
    Docs: dt: Add PCI MSI map bindings
    irqchip/gic-v2m: Add support for multiple MSI frames
    irqchip/gic-v3: Fix translation of LPIs after conversion to irq_fwspec
    irqchip/mxs: Add Alphascale ASM9260 support
    irqchip/mxs: Prepare driver for hardware with different offsets
    irqchip/mxs: Panic if ioremap or domain creation fails
    irqdomain: Documentation updates
    irqdomain/msi: Use fwnode instead of of_node
    ...

    Linus Torvalds
     

29 Oct, 2015

1 commit


14 Oct, 2015

1 commit


10 Oct, 2015

1 commit


03 Oct, 2015

3 commits

  • When highmem is enabled, there's little reason not to also enable
    highpte support as well. Rather than leaving this to chance, make
    it an expert option, and default it to be enabled if highmem is
    enabled. Add some help text to the option while we're here.

    Signed-off-by: Russell King

    Russell King
     
  • Mimicking the same config option on x86, this allows for 1GB systems to
    have their RAM entirely mapped as low memory.

    Signed-off-by: Nicolas Pitre
    Signed-off-by: Russell King

    Nicolas Pitre
     
  • This reverts commit 904464b91eca8c665acea033489225af02eeb75a.

    The problem pointed out by commit 904464b91eca ("ARM: 7655/1:
    smp_twd: make twd_local_timer_of_register() no-op for nosmp")
    doesn't exist anymore.

    We can safely boot with nosmp and the warning won't show up.

    The other side benefit of this patch is that TWD has a chance
    to probe on single-core A9 systems such as AM437x which sport
    TWD.

    While at that, also drop SMP dependency from TWD's Kconfig entry.

    Cc: Shawn Guo
    Cc: Dirk Behme
    Acked-by: Tony Lindgren
    Signed-off-by: Felipe Balbi
    Signed-off-by: Russell King

    Felipe Balbi
     

28 Sep, 2015

1 commit

  • RiscPC fails to build if MMU is disabled:

    arch/arm/mach-rpc/ecard.c: In function 'ecard_init_pgtables':
    arch/arm/mach-rpc/ecard.c:229:2: error: implicit declaration of function 'pgd_offset' [-Werror=implicit-function-declaration]

    arrange for RiscPC to depend on MMU.

    Signed-off-by: Russell King

    Russell King
     

14 Sep, 2015

1 commit


11 Sep, 2015

1 commit

  • There are two kexec load syscalls, kexec_load another and kexec_file_load.
    kexec_file_load has been splited as kernel/kexec_file.c. In this patch I
    split kexec_load syscall code to kernel/kexec.c.

    And add a new kconfig option KEXEC_CORE, so we can disable kexec_load and
    use kexec_file_load only, or vice verse.

    The original requirement is from Ted Ts'o, he want kexec kernel signature
    being checked with CONFIG_KEXEC_VERIFY_SIG enabled. But kexec-tools use
    kexec_load syscall can bypass the checking.

    Vivek Goyal proposed to create a common kconfig option so user can compile
    in only one syscall for loading kexec kernel. KEXEC/KEXEC_FILE selects
    KEXEC_CORE so that old config files still work.

    Because there's general code need CONFIG_KEXEC_CORE, so I updated all the
    architecture Kconfig with a new option KEXEC_CORE, and let KEXEC selects
    KEXEC_CORE in arch Kconfig. Also updated general kernel code with to
    kexec_load syscall.

    [akpm@linux-foundation.org: coding-style fixes]
    Signed-off-by: Dave Young
    Cc: Eric W. Biederman
    Cc: Vivek Goyal
    Cc: Petr Tesarik
    Cc: Theodore Ts'o
    Cc: Josh Boyer
    Cc: David Howells
    Cc: Geert Uytterhoeven
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dave Young
     

04 Sep, 2015

1 commit

  • Pull ARM development updates from Russell King:
    "Included in this update:

    - moving PSCI code from ARM64/ARM to drivers/

    - removal of some architecture internals from global kernel view

    - addition of software based "privileged no access" support using the
    old domains register to turn off the ability for kernel
    loads/stores to access userspace. Only the proper accessors will
    be usable.

    - addition of early fixup support for early console

    - re-addition (and reimplementation) of OMAP special interconnect
    barrier

    - removal of finish_arch_switch()

    - only expose cpuX/online in sysfs if hotpluggable

    - a number of code cleanups"

    * 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm: (41 commits)
    ARM: software-based priviledged-no-access support
    ARM: entry: provide uaccess assembly macro hooks
    ARM: entry: get rid of multiple macro definitions
    ARM: 8421/1: smp: Collapse arch_cpu_idle_dead() into cpu_die()
    ARM: uaccess: provide uaccess_save_and_enable() and uaccess_restore()
    ARM: mm: improve do_ldrd_abort macro
    ARM: entry: ensure that IRQs are enabled when calling syscall_trace_exit()
    ARM: entry: efficiency cleanups
    ARM: entry: get rid of asm_trace_hardirqs_on_cond
    ARM: uaccess: simplify user access assembly
    ARM: domains: remove DOMAIN_TABLE
    ARM: domains: keep vectors in separate domain
    ARM: domains: get rid of manager mode for user domain
    ARM: domains: move initial domain setting value to asm/domains.h
    ARM: domains: provide domain_mask()
    ARM: domains: switch to keeping domain value in register
    ARM: 8419/1: dma-mapping: harmonize definition of DMA_ERROR_CODE
    ARM: 8417/1: refactor bitops functions with BIT_MASK() and BIT_WORD()
    ARM: 8416/1: Feroceon: use of_iomap() to map register base
    ARM: 8415/1: early fixmap support for earlycon
    ...

    Linus Torvalds
     

03 Sep, 2015

2 commits


02 Sep, 2015

1 commit

  • Pull ARM SoC cleanups from Olof Johansson:
    "A large cleanup branch this release, with a healthy 10k negative line
    delta.

    Most of this is removal of legacy (non-DT) support of shmobile
    platforms. There is also removal of two non-DT platforms on OMAP, and
    the plat-samsung directory is cleaned out by moving most of the
    previously shared-location-but-not-actually-shared files from there to
    the appropriate mach directories instead.

    There are other sets of changes in here as well:

    - Rob Herring removed use of set_irq_flags under all platforms and
    moved to genirq alternatives

    - a series of timer API conversions to set-state interface

    - ep93xx, nomadik and ux500 cleanups from Linus Walleij

    - __init annotation fixes from Nicolas Pitre

    + a bunch of other changes that all add up to a nice set of cleanups"

    * tag 'armsoc-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (108 commits)
    ARM/fb: ep93xx: switch framebuffer to use modedb only
    ARM: gemini: Setup timer3 as free running timer
    ARM: gemini: Use timer1 for clockevent
    ARM: gemini: Add missing register definitions for gemini timer
    ARM: ep93xx/timer: Migrate to new 'set-state' interface
    ARM: nomadik: push accelerometer down to boards
    ARM: nomadik: move l2x0 setup to device tree
    ARM: nomadik: selectively enable UART0 on boards
    ARM: nomadik: move hog code to use DT hogs
    ARM: shmobile: Fix mismerges
    ARM: ux500: simplify secondary CPU boot
    ARM: SAMSUNG: remove keypad-core header in plat-samsung
    ARM: SAMSUNG: local watchdog-reset header in mach-s3c64xx
    ARM: SAMSUNG: local onenand-core header in mach-s3c64xx
    ARM: SAMSUNG: local irq-uart header in mach-s3c64xx
    ARM: SAMSUNG: local backlight header in mach-s3c64xx
    ARM: SAMSUNG: local ata-core header in mach-s3c64xx
    ARM: SAMSUNG: local regs-usb-hsotg-phy header in mach-s3c64xx
    ARM: SAMSUNG: local spi-core header in mach-s3c24xx
    ARM: SAMSUNG: local nand-core header in mach-s3c24xx
    ...

    Linus Torvalds
     

27 Aug, 2015

1 commit

  • Provide a software-based implementation of the priviledged no access
    support found in ARMv8.1.

    Userspace pages are mapped using a different domain number from the
    kernel and IO mappings. If we switch the user domain to "no access"
    when we enter the kernel, we can prevent the kernel from touching
    userspace.

    However, the kernel needs to be able to access userspace via the
    various user accessor functions. With the wrapping in the previous
    patch, we can temporarily enable access when the kernel needs user
    access, and re-disable it afterwards.

    This allows us to trap non-intended accesses to userspace, eg, caused
    by an inadvertent dereference of the LIST_POISON* values, which, with
    appropriate user mappings setup, can be made to succeed. This in turn
    can allow use-after-free bugs to be further exploited than would
    otherwise be possible.

    Signed-off-by: Russell King

    Russell King
     

22 Aug, 2015

1 commit


21 Aug, 2015

1 commit

  • Since v3.18, attempts to deliver IRQ0 are rejected, breaking orion5x.
    Fix this by increasing all interrupts by one, as did 5d6bed2a9c8b for
    dove. Also, force MULTI_IRQ_HANDLER for all orion platforms (including
    dove) as the specific handler is needed to shift back IRQ numbers by
    one.

    [gregory.clement@free-electrons.com]: moved the select
    MULTI_IRQ_HANDLER from PLAT_ORION_LEGACY to ARCH_ORION5X as it broke
    the build for dove.

    Fixes: a71b092a9c68 ("ARM: Convert handle_IRQ to use __handle_domain_irq")
    Signed-off-by: Benjamin Cama
    Signed-off-by: Gregory CLEMENT
    Cc:
    Tested-by: Detlef Vollmann

    Benjamin Cama
     

18 Aug, 2015

1 commit

  • Add early fixmap support, initially to support permanent, fixed
    mapping support for early console. A temporary, early pte is
    created which is migrated to a permanent mapping in paging_init.
    This is also needed since the attributes may change as the memory
    types are initialized. The 3MiB range of fixmap spans two pte
    tables, but currently only one pte is created for early fixmap
    support.

    Re-add FIX_KMAP_BEGIN to the index calculation in highmem.c since
    the index for kmap does not start at zero anymore. This reverts
    4221e2e6b316 ("ARM: 8031/1: fixmap: remove FIX_KMAP_BEGIN and
    FIX_KMAP_END") to some extent.

    Cc: Mark Salter
    Cc: Kees Cook
    Cc: Laura Abbott
    Cc: Arnd Bergmann
    Cc: Ard Biesheuvel
    Signed-off-by: Rob Herring
    Signed-off-by: Stefan Agner
    Signed-off-by: Russell King

    Stefan Agner
     

10 Aug, 2015

1 commit


03 Aug, 2015

1 commit

  • Now that the common PSCI client code has been factored out to
    drivers/firmware, and made safe for 32-bit use, move the 32-bit ARM code
    over to it. This results in a moderate reduction of duplicated lines,
    and will prevent further duplication as the PSCI client code is updated
    for PSCI 1.0 and beyond.

    The two legacy platform users of the PSCI invocation code are updated to
    account for interface changes. In both cases the power state parameter
    (which is constant) is now generated using macros, so that the
    pack/unpack logic can be killed in preparation for PSCI 1.0 power state
    changes.

    Signed-off-by: Mark Rutland
    Acked-by: Rob Herring
    Cc: Catalin Marinas
    Cc: Ashwin Chaugule
    Cc: Lorenzo Pieralisi
    Cc: Russell King
    Cc: Will Deacon
    Signed-off-by: Will Deacon

    Mark Rutland
     

31 Jul, 2015

1 commit

  • To enable sharing of the arm_pmu code with arm64, this patch factors it
    out to drivers/perf/. A new drivers/perf directory is added for
    performance monitor drivers to live under.

    MAINTAINERS is updated accordingly. Files added previously without a
    corresponsing MAINTAINERS update (perf_regs.c, perf_callchain.c, and
    perf_event.h) are also added.

    Cc: Arnaldo Carvalho de Melo
    Cc: Greg Kroah-Hartman
    Cc: Ingo Molnar
    Cc: Linus Walleij
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Russell King
    Cc: Will Deacon
    Signed-off-by: Mark Rutland
    [will: augmented Kconfig help slightly]
    Signed-off-by: Will Deacon

    Mark Rutland
     

18 Jul, 2015

1 commit

  • …sw/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>

    Olof Johansson
     

17 Jul, 2015

1 commit


08 Jul, 2015

1 commit


07 Jul, 2015

1 commit


29 Jun, 2015

1 commit


27 Jun, 2015

2 commits

  • Pull ARM updates from Russell King:
    "Bigger items included in this update are:

    - A series of updates from Arnd for ARM randconfig build failures
    - Updates from Dmitry for StrongARM SA-1100 to move IRQ handling to
    drivers/irqchip/
    - Move ARMs SP804 timer to drivers/clocksource/
    - Perf updates from Mark Rutland in preparation to move the ARM perf
    code into drivers/ so it can be shared with ARM64.
    - MCPM updates from Nicolas
    - Add support for taking platform serial number from DT
    - Re-implement Keystone2 physical address space switch to conform to
    architecture requirements
    - Clean up ARMv7 LPAE code, which goes in hand with the Keystone2
    changes.
    - L2C cleanups to avoid unlocking caches if we're prevented by the
    secure support to unlock.
    - Avoid cleaning a potentially dirty cache containing stale data on
    CPU initialisation
    - Add ARM-only entry point for secondary startup (for machines that
    can only call into a Thumb kernel in ARM mode). Same thing is also
    done for the resume entry point.
    - Provide arch_irqs_disabled via asm-generic
    - Enlarge ARMv7M vector table
    - Always use BFD linker for VDSO, as gold doesn't accept some of the
    options we need.
    - Fix an incorrect BSYM (for Thumb symbols) usage, and convert all
    BSYM compiler macros to a "badr" (for branch address).
    - Shut up compiler warnings provoked by our cmpxchg() implementation.
    - Ensure bad xchg sizes fail to link"

    * 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm: (75 commits)
    ARM: Fix build if CLKDEV_LOOKUP is not configured
    ARM: fix new BSYM() usage introduced via for-arm-soc branch
    ARM: 8383/1: nommu: avoid deprecated source register on mov
    ARM: 8391/1: l2c: add options to overwrite prefetching behavior
    ARM: 8390/1: irqflags: Get arch_irqs_disabled from asm-generic
    ARM: 8387/1: arm/mm/dma-mapping.c: Add arm_coherent_dma_mmap
    ARM: 8388/1: tcm: Don't crash when TCM banks are protected by TrustZone
    ARM: 8384/1: VDSO: force use of BFD linker
    ARM: 8385/1: VDSO: group link options
    ARM: cmpxchg: avoid warnings from macro-ized cmpxchg() implementations
    ARM: remove __bad_xchg definition
    ARM: 8369/1: ARMv7M: define size of vector table for Vybrid
    ARM: 8382/1: clocksource: make ARM_TIMER_SP804 depend on GENERIC_SCHED_CLOCK
    ARM: 8366/1: move Dual-Timer SP804 driver to drivers/clocksource
    ARM: 8365/1: introduce sp804_timer_disable and remove arm_timer.h inclusion
    ARM: 8364/1: fix BE32 module loading
    ARM: 8360/1: add secondary_startup_arm prototype in header file
    ARM: 8359/1: correct secondary_startup_arm mode
    ARM: proc-v7: sanitise and document registers around errata
    ARM: proc-v7: clean up MIDR access
    ...

    Linus Torvalds
     
  • Pull ARM SoC platform support updates from Kevin Hilman:
    "Our SoC branch usually contains expanded support for new SoCs and
    other core platform code. Some highlights from this round:

    - sunxi: SMP support for A23 SoC
    - socpga: big-endian support
    - pxa: conversion to common clock framework
    - bcm: SMP support for BCM63138
    - imx: support new I.MX7D SoC
    - zte: basic support for ZX296702 SoC"

    * tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (134 commits)
    ARM: zx: Add basic defconfig support for ZX296702
    ARM: dts: zx: add an initial zx296702 dts and doc
    clk: zx: add clock support to zx296702
    dt-bindings: Add #defines for ZTE ZX296702 clocks
    ARM: socfpga: fix build error due to secondary_startup
    MAINTAINERS: ARM64: EXYNOS: Extend entry for ARM64 DTS
    ARM: ep93xx: simone: support for SPI-based MMC/SD cards
    MAINTAINERS: update Shawn's email to use kernel.org one
    ARM: socfpga: support suspend to ram
    ARM: socfpga: add CPU_METHOD_OF_DECLARE for Arria 10
    ARM: socfpga: use CPU_METHOD_OF_DECLARE for socfpga_cyclone5
    ARM: EXYNOS: register power domain driver from core_initcall
    ARM: EXYNOS: use PS_HOLD based poweroff for all supported SoCs
    ARM: SAMSUNG: Constify platform_device_id
    ARM: EXYNOS: Constify irq_domain_ops
    ARM: EXYNOS: add coupled cpuidle support for Exynos3250
    ARM: EXYNOS: add exynos_get_boot_addr() helper
    ARM: EXYNOS: add exynos_set_boot_addr() helper
    ARM: EXYNOS: make exynos_core_restart() less verbose
    ARM: EXYNOS: fix exynos_boot_secondary() return value on timeout
    ...

    Linus Torvalds
     

13 Jun, 2015

1 commit


02 Jun, 2015

1 commit

  • The ARM Dual-Timer SP804 module is peripheral found not only on ARM32
    platforms but also on ARM64 platforms.

    This patch moves the driver out of arch/arm to driver/clocksource
    so that it can be used on ARM64 platforms also.

    Cc: Daniel Lezcano
    Cc: Rob Herring
    Cc: Arnd Bergmann
    Cc: Catalin Marinas
    Cc: Olof Johansson
    Acked-by: Thomas Gleixner
    Signed-off-by: Sudeep Holla
    Signed-off-by: Russell King

    Sudeep Holla
     

01 Jun, 2015

2 commits

  • STM32 clocksource driver needs to be selected if ARCH_STM32.

    Signed-off-by: Maxime Coquelin
    Signed-off-by: Arnd Bergmann

    Maxime Coquelin
     
  • Merge "changes for Broadcom SoCs":

    - Dan fixes an error path in the BCM63xx SMP code

    - Ray adds the relevant Kconfig selects to enable the Broadcom NAND driver on Cygnus

    - Kevin provides a change to the Broadcom GISB arbiter driver to make it work with
    MIPS-based big-endian STB SoCs (this was a long-standing change that had dependencies on
    code in drivers/of/*)

    - Gregory enables the use of GPIOLIB for brcmstb SoCs and bumps the number of GPIOs for
    these platforms

    * tag 'arm-soc/for-4.2/soc-part2' of http://github.com/broadcom/stblinux:
    ARM: brcmstb: Add default gpio number
    ARM: brcmstb: Select ARCH_WANT_OPTIONAL_GPIOLIB
    bus: brcmstb_gisb: Honor the "big-endian" and "native-endian" DT properties
    ARM: BCM: Enable NAND support for iProc SoCs
    ARM: BCM63xx: fix an error path in bcm63xx_pmb_power_on_cpu()

    Arnd Bergmann
     

30 May, 2015

1 commit

  • Out of the brcmstb SoCs that I know, BCM3390 has the largest numbers
    of GPIOs, with its
    - 320 "peripheral" GPIOs
    - 5*32 = 160 UPG GPIOs (counting unused lines, which do get counted)
    - 2*32 = 64 UPG AON GPIOs (counting unused lines)
    Total: 544

    I suspect that the upper limit will only need to be higher in the
    future, so set it to 1024.

    Signed-off-by: Gregory Fong
    Signed-off-by: Florian Fainelli

    Gregory Fong
     

28 May, 2015

4 commits

  • So first of all, this atomic_scrub() function's naming is bad. It looks
    like an atomic_t helper. Change it to edac_atomic_scrub().

    The bigger problem is that this function is arch-specific and every new
    arch which doesn't necessarily need that functionality still needs to
    define it, otherwise EDAC doesn't compile.

    So instead of doing that and including arch-specific headers, have each
    arch define an EDAC_ATOMIC_SCRUB symbol which can be used in edac_mc.c
    for ifdeffery. Much cleaner.

    And we already are doing this with another symbol - EDAC_SUPPORT. This
    is also much cleaner than having CONFIG_EDAC enumerate all the arches
    which need/have EDAC support and drivers.

    This way I can kill the useless edac.h header in tile too.

    Acked-by: Ralf Baechle
    Acked-by: Michael Ellerman
    Acked-by: Chris Metcalf
    Acked-by: Ingo Molnar
    Acked-by: Russell King
    Cc: Benjamin Herrenschmidt
    Cc: Doug Thompson
    Cc: linux-arm-kernel@lists.infradead.org
    Cc: linux-edac@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Cc: linux-mips@linux-mips.org
    Cc: linuxppc-dev@lists.ozlabs.org
    Cc: "Maciej W. Rozycki"
    Cc: Markos Chandras
    Cc: Mauro Carvalho Chehab
    Cc: Paul Mackerras
    Cc: "Steven J. Hill"
    Cc: x86@kernel.org
    Signed-off-by: Borislav Petkov

    Borislav Petkov
     
  • Kprobes, irqflags tracing and kexec don't currently build on
    kernels targetting ARMv7-M, so for now, we should just disallow
    those combinations.

    Signed-off-by: Arnd Bergmann
    Signed-off-by: Russell King

    Arnd Bergmann
     
  • KGDB requires code patching, which only works on little-endian
    or newer big-endian (BE8) machines but not on the older big-endian
    ones (BE32) where it results in this build error:

    arch/arm/kernel/patch.c: In function '__patch_text_real':
    arch/arm/kernel/patch.c:93:4: error: implicit declaration of function '__opcode_to_mem_thumb32' [-Werror=implicit-function-declaration]
    insn = __opcode_to_mem_thumb32(insn);

    This adds a Kconfig dependency to avoid the broken case and
    for all other symbols that require code patching.

    Fixes: 23a4e4050ba9 ("arm: kgdb: Handle read-only text / modules")

    Signed-off-by: Arnd Bergmann
    Signed-off-by: Russell King

    Arnd Bergmann
     
  • Any SMP kernel now requires the irq_work code after
    generic_smp_call_function_single_interrupt() started using it,
    or we get:

    kernel/built-in.o: In function `flush_smp_call_function_queue':
    :(.text+0x4dc3a): undefined reference to `irq_work_run'

    Fixes: 478850160636c4f ("irq_work: Implement remote queueing")

    Signed-off-by: Arnd Bergmann
    Signed-off-by: Russell King

    Arnd Bergmann
     

22 May, 2015

1 commit

  • Use the new config symbol ARM_SINGLE_ARMV7M which groups config
    symbols used by modern ARMv7-M platforms. This allows supporting
    multiple ARMv7-M platforms in one kernel image. However, a common
    kernel image requires the combined platforms to share the same
    main memory layout to be bootable.

    Signed-off-by: Stefan Agner
    Acked-by: Uwe Kleine-König
    Acked-by: Joachim Eastwood
    Acked-by: Maxime Coquelin
    Signed-off-by: Arnd Bergmann

    Stefan Agner