23 Apr, 2015

2 commits

  • Pull ARM SoC driver updates from Olof Johansson:
    "Driver updates for v4.1. Some of these are for drivers/soc, where we
    find more and more SoC-specific drivers these days. Some are for
    other driver subsystems where we have received acks from the
    appropriate maintainers.

    The larger parts of this branch are:

    - MediaTek support for their PMIC wrapper interface, a high-level
    interface for talking to the system PMIC over a dedicated I2C
    interface.

    - Qualcomm SCM driver has been moved to drivers/firmware. It's used
    for CPU up/down and needs to be in a shared location for arm/arm64
    common code.

    - cleanup of ARM-CCI PMU code.

    - another set of cleanusp to the OMAP GPMC code"

    * tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (43 commits)
    soc/mediatek: Remove unused variables
    clocksource: atmel-st: select MFD_SYSCON
    soc: mediatek: Add PMIC wrapper for MT8135 and MT8173 SoCs
    arm-cci: Fix CCI PMU event validation
    arm-cci: Split the code for PMU vs driver support
    arm-cci: Get rid of secure transactions for PMU driver
    arm-cci: Abstract the CCI400 PMU specific definitions
    arm-cci: Rearrange code for splitting PMU vs driver code
    drivers: cci: reject groups spanning multiple HW PMUs
    ARM: at91: remove useless include
    clocksource: atmel-st: remove mach/hardware dependency
    clocksource: atmel-st: use syscon/regmap
    ARM: at91: time: move the system timer driver to drivers/clocksource
    ARM: at91: properly initialize timer
    ARM: at91: at91rm9200: remove deprecated arm_pm_restart
    watchdog: at91rm9200: implement restart handler
    watchdog: at91rm9200: use the system timer syscon
    mfd: syscon: Add atmel system timer registers definition
    ARM: at91/dt: declare atmel,at91rm9200-st as a syscon
    soc: qcom: gsbi: Add support for ADM CRCI muxing
    ...

    Linus Torvalds
     
  • Pull ARM SoC platform updates from Olof Johansson:
    "Our SoC branch usually contains expanded support for new SoCs and
    other core platform code. In this case, that includes:

    - support for the new Annapurna Labs "Alpine" platform

    - a rework greatly simplifying adding new platform support to the
    MCPM subsystem (Multi-cluster power management)

    - cpuidle and PM improvements for Exynos3250

    - misc updates for Renesas, OMAP, Meson, i.MX. Some of these could
    have gone in other branches but ended up here for various reasons"

    * tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (53 commits)
    ARM: alpine: add support for generic pci
    ARM: Exynos: migrate DCSCB to the new MCPM backend abstraction
    ARM: vexpress: migrate DCSCB to the new MCPM backend abstraction
    ARM: vexpress: DCSCB: tighten CPU validity assertion
    ARM: vexpress: migrate TC2 to the new MCPM backend abstraction
    ARM: MCPM: move the algorithmic complexity to the core code
    ARM: EXYNOS: allow cpuidle driver usage on Exynos3250 SoC
    ARM: EXYNOS: add AFTR mode support for Exynos3250
    ARM: EXYNOS: add code for setting/clearing boot flag
    ARM: EXYNOS: fix CPU1 hotplug on Exynos3250
    ARM: S3C64XX: Use fixed IRQ bases to avoid conflicts on Cragganmore
    ARM: cygnus: fix const declaration bcm_cygnus_dt_compat
    ARM: DRA7: hwmod: Fix the hwmod class for GPTimer4
    ARM: DRA7: hwmod: Add data for GPTimers 13 through 16
    ARM: EXYNOS: Remove left over 'extra_save'
    ARM: EXYNOS: Constify exynos_pm_data array
    ARM: EXYNOS: use static in suspend.c
    ARM: EXYNOS: Use platform device name as power domain name
    ARM: EXYNOS: add support for async-bridge clocks for pm_domains
    ARM: omap-device: add missed callback for suspend-to-disk
    ...

    Linus Torvalds
     

07 Apr, 2015

1 commit

  • The Cortex A9 tile fails to unplug CPUs if errata 643719 is not enabled.
    This leads to random weird behaviours, but ultimately seem to lock the
    kernel one way or another when a CPU is hot unplugged.

    Symptoms range from a spinlock lockup in the scheduler, the entire
    system hanging, to dumping out the kernel printk buffer a few lines at
    a time, and other weird behaviours.

    This is caused by the outgoing CPU not having its inner caches properly
    flushed before it exits coherency - flush_cache_louis() is used to
    achieve this, but as a result of the hardware bug, this function ends
    up doing nothing without the errata workaround enabled.

    As the Versatile Express has an affected CPU, this errata must always
    be enabled.

    Signed-off-by: Russell King

    Russell King
     

04 Apr, 2015

3 commits


27 Mar, 2015

1 commit

  • This patch separates the PMU driver code from the low level
    CCI driver code and enables the PMU driver for ARM64.

    Introduces config options for both.

    ARM_CCI400_PORT_CTRL - controls the low level driver code for
    CCI400 ports.
    ARM_CCI400_PMU - controls the PMU driver code
    ARM_CCI400_COMMON - Common defintions for CCI400

    This patch also changes:
    ARM_CCI - common code for probing the CCI devices. This can be
    used for adding support for newer CCI versions(e.g, CCI-500).

    Cc: Bartlomiej Zolnierkiewicz
    Cc: Kukjin Kim
    Cc: Abhilash Kesavan
    Cc: Liviu Dudau
    Cc: Lorenzo Pieralisi
    Cc: Sudeep Holla
    Cc: Nicolas Pitre
    Cc: Punit Agrawal
    Acked-by: Sudeep Holla
    Acked-by: Nicolas Pitre
    Acked-by: Punit Agrawal
    Signed-off-by: Suzuki K. Poulose
    Signed-off-by: Will Deacon

    Suzuki K. Poulose
     

18 Feb, 2015

1 commit

  • The vexpress tc2 power management code calls mcpm_loopback, which
    is only available if ARM_CPU_SUSPEND is enabled, otherwise we
    get a link error:

    arch/arm/mach-vexpress/built-in.o: In function `tc2_pm_init':
    arch/arm/mach-vexpress/tc2_pm.c:389: undefined reference to `mcpm_loopback'

    This explicitly selects ARM_CPU_SUSPEND like other platforms that
    need it.

    Signed-off-by: Arnd Bergmann
    Fixes: 3592d7e002438 ("ARM: 8082/1: TC2: test the MCPM loopback during boot")
    Acked-by: Nicolas Pitre
    Acked-by: Liviu Dudau
    Cc: Kevin Hilman
    Cc: Sudeep Holla
    Cc: Lorenzo Pieralisi

    Arnd Bergmann
     

29 Nov, 2014

1 commit

  • The MMCI driver, when used with a Device Tree described device, relies
    on the "vmmc" voltage regulator supply to set the OCR register voltage bits,
    using MMC core's mmc_regulator_get_supply() function.

    Without the regulator framework present there are no valid operating
    voltages reported and the device initialisation fails:

    mmci-pl18x 10005000.mmci: No vmmc regulator found
    mmci-pl18x 10005000.mmci: no support for card's volts
    mmc0: error -22 whilst initialising SD card

    Signed-off-by: Pawel Moll
    Signed-off-by: Arnd Bergmann

    Pawel Moll
     

28 Nov, 2014

1 commit

  • Now, with the CLCD DT support available, there is no
    more reason to keep the non-DT support for V2P-CA9.

    Removed, together with "some" supporting code. It was
    necessary to make PLAT_VERSATILE_SCHED_CLOCK optional
    and selected by the machines still interested in it.

    Acked-by: Mike Turquette
    Signed-off-by: Pawel Moll
    Signed-off-by: Arnd Bergmann

    Pawel Moll
     

01 Sep, 2014

1 commit

  • With ARCH_VEXPRESS_SPC option, kernel build has the following
    warning:

    arch/arm/mach-vexpress/spc.c: In function ‘ve_spc_clk_init’:
    arch/arm/mach-vexpress/spc.c:431:38: warning: array subscript is below array bounds [-Warray-bounds]
    struct ve_spc_opp *opps = info->opps[cluster];
    ^
    since 'cluster' maybe '-1' in UP system. This patch does a active
    checking to fix this issue.

    Signed-off-by: Alex Shi
    Acked-by: Pawel Moll
    Acked-by: Sudeep Holla
    Signed-off-by: Olof Johansson

    Alex Shi
     

09 Aug, 2014

1 commit

  • Pull ARM SoC cleanups from Olof Johansson:
    "This merge window brings a good size of cleanups on various platforms.
    Among the bigger ones:

    - Removal of Samsung s5pc100 and s5p64xx platforms. Both of these
    have lacked active support for quite a while, and after asking
    around nobody showed interest in keeping them around. If needed,
    they could be resurrected in the future but it's more likely that
    we would prefer reintroduction of them as DT and
    multiplatform-enabled platforms instead.

    - OMAP4 controller code register define diet. They defined a lot of
    registers that were never actually used, etc.

    - Move of some of the Tegra platform code (PMC, APBIO, fuse,
    powergate) to drivers/soc so it can be shared with 64-bit code.
    This also converts them over to traditional driver models where
    possible.

    - Removal of legacy gpio-samsung driver, since the last users have
    been removed (moved to pinctrl)

    Plus a bunch of smaller changes for various platforms that sort of
    dissapear in the diffstat for the above. clps711x cleanups, shmobile
    header file refactoring/moves for multiplatform friendliness, some
    misc cleanups, etc"

    * tag 'cleanup-for-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (117 commits)
    drivers: CCI: Correct use of ! and &
    video: clcd-versatile: Depend on ARM
    video: fix up versatile CLCD helper move
    MAINTAINERS: Add sdhci-st file to ARCH/STI architecture
    ARM: EXYNOS: Fix build breakge with PM_SLEEP=n
    MAINTAINERS: Remove Kirkwood
    ARM: tegra: Convert PMC to a driver
    soc/tegra: fuse: Set up in early initcall
    ARM: tegra: Always lock the CPU reset vector
    ARM: tegra: Setup CPU hotplug in a pure initcall
    soc/tegra: Implement runtime check for Tegra SoCs
    soc/tegra: fuse: fix dummy functions
    soc/tegra: fuse: move APB DMA into Tegra20 fuse driver
    soc/tegra: Add efuse and apbmisc bindings
    soc/tegra: Add efuse driver for Tegra
    ARM: tegra: move fuse exports to soc/tegra/fuse.h
    ARM: tegra: export apb dma readl/writel
    ARM: tegra: Use a function to get the chip ID
    ARM: tegra: Sort includes alphabetically
    ARM: tegra: Move includes to include/soc/tegra
    ...

    Linus Torvalds
     

07 Aug, 2014

1 commit

  • Pull ACPI and power management updates from Rafael Wysocki:
    "Again, ACPICA leads the pack (47 commits), followed by cpufreq (18
    commits) and system suspend/hibernation (9 commits).

    From the new code perspective, the ACPICA update brings ACPI 5.1 to
    the table, including a new device configuration object called _DSD
    (Device Specific Data) that will hopefully help us to operate device
    properties like Device Trees do (at least to some extent) and changes
    related to supporting ACPI on ARM.

    Apart from that we have hibernation changes making it use radix trees
    to store memory bitmaps which should speed up some operations carried
    out by it quite significantly. We also have some power management
    changes related to suspend-to-idle (the "freeze" sleep state) support
    and more preliminary changes needed to support ACPI on ARM (outside of
    ACPICA).

    The rest is fixes and cleanups pretty much everywhere.

    Specifics:

    - ACPICA update to upstream version 20140724. That includes ACPI 5.1
    material (support for the _CCA and _DSD predefined names, changes
    related to the DMAR and PCCT tables and ARM support among other
    things) and cleanups related to using ACPICA's header files. A
    major part of it is related to acpidump and the core code used by
    that utility. Changes from Bob Moore, David E Box, Lv Zheng,
    Sascha Wildner, Tomasz Nowicki, Hanjun Guo.

    - Radix trees for memory bitmaps used by the hibernation core from
    Joerg Roedel.

    - Support for waking up the system from suspend-to-idle (also known
    as the "freeze" sleep state) using ACPI-based PCI wakeup signaling
    (Rafael J Wysocki).

    - Fixes for issues related to ACPI button events (Rafael J Wysocki).

    - New device ID for an ACPI-enumerated device included into the
    Wildcat Point PCH from Jie Yang.

    - ACPI video updates related to backlight handling from Hans de Goede
    and Linus Torvalds.

    - Preliminary changes needed to support ACPI on ARM from Hanjun Guo
    and Graeme Gregory.

    - ACPI PNP core cleanups from Arjun Sreedharan and Zhang Rui.

    - Cleanups related to ACPI_COMPANION() and ACPI_HANDLE() macros
    (Rafael J Wysocki).

    - ACPI-based device hotplug cleanups from Wei Yongjun and Rafael J
    Wysocki.

    - Cleanups and improvements related to system suspend from Lan
    Tianyu, Randy Dunlap and Rafael J Wysocki.

    - ACPI battery cleanup from Wei Yongjun.

    - cpufreq core fixes from Viresh Kumar.

    - Elimination of a deadband effect from the cpufreq ondemand governor
    and intel_pstate driver cleanups from Stratos Karafotis.

    - 350MHz CPU support for the powernow-k6 cpufreq driver from Mikulas
    Patocka.

    - Fix for the imx6 cpufreq driver from Anson Huang.

    - cpuidle core and governor cleanups from Daniel Lezcano, Sandeep
    Tripathy and Mohammad Merajul Islam Molla.

    - Build fix for the big_little cpuidle driver from Sachin Kamat.

    - Configuration fix for the Operation Performance Points (OPP)
    framework from Mark Brown.

    - APM cleanup from Jean Delvare.

    - cpupower utility fixes and cleanups from Peter Senna Tschudin,
    Andrey Utkin, Himangi Saraogi, Rickard Strandqvist, Thomas
    Renninger"

    * tag 'pm+acpi-3.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (118 commits)
    ACPI / LPSS: add LPSS device for Wildcat Point PCH
    ACPI / PNP: Replace faulty is_hex_digit() by isxdigit()
    ACPICA: Update version to 20140724.
    ACPICA: ACPI 5.1: Update for PCCT table changes.
    ACPICA/ARM: ACPI 5.1: Update for GTDT table changes.
    ACPICA/ARM: ACPI 5.1: Update for MADT changes.
    ACPICA/ARM: ACPI 5.1: Update for FADT changes.
    ACPICA: ACPI 5.1: Support for the _CCA predifined name.
    ACPICA: ACPI 5.1: New notify value for System Affinity Update.
    ACPICA: ACPI 5.1: Support for the _DSD predefined name.
    ACPICA: Debug object: Add current value of Timer() to debug line prefix.
    ACPICA: acpihelp: Add UUID support, restructure some existing files.
    ACPICA: Utilities: Fix local printf issue.
    ACPICA: Tables: Update for DMAR table changes.
    ACPICA: Remove some extraneous printf arguments.
    ACPICA: Update for comments/formatting. No functional changes.
    ACPICA: Disassembler: Add support for the ToUUID opererator (macro).
    ACPICA: Remove a redundant cast to acpi_size for ACPI_OFFSET() macro.
    ACPICA: Work around an ancient GCC bug.
    ACPI / processor: Make it possible to get local x2apic id via _MAT
    ...

    Linus Torvalds
     

23 Jul, 2014

2 commits

  • commit 11c32d7b6274cb0f ("video: move Versatile CLCD helpers")
    moved files out of the plat-versatile directory but in the process
    got a few of the dependencies wrong:

    - If CONFIG_FB is not set, the file no longer gets built, resulting
    in a link error
    - If CONFIG_FB or CONFIG_FB_ARMCLCD are disabled, we also get a
    Kconfig warning for incorrect dependencies due to the symbol
    being 'select'ed from the platform Kconfig.
    - When the file is not built, we also get a link error for missing
    symbols.

    This patch should fix all three, by removing the 'select' statements,
    changing the Kconfig description of the symbol to be enabled in
    exactly the right configurations, and adding inline stub functions
    for the case when the framebuffer driver is disabled.

    Signed-off-by: Arnd Bergmann
    Reviewed-by: Linus Walleij

    Arnd Bergmann
     
  • Since the OPP layer is a kernel library which has been converted to be
    directly selectable by its callers rather than user selectable and
    requiring architectures to enable it explicitly the ARCH_HAS_OPP symbol
    has become redundant and can be removed. Do so.

    Signed-off-by: Mark Brown
    Reviewed-by: Viresh Kumar
    Acked-by: Nishanth Menon
    Acked-by: Rob Herring
    Acked-by: Shawn Guo
    Acked-by: Simon Horman
    Signed-off-by: Rafael J. Wysocki

    Mark Brown
     

18 Jul, 2014

2 commits

  • Ensure that platform maintainers check the CPU part number in the right
    manner: the CPU part number is meaningless without also checking the
    CPU implement(e|o)r (choose your preferred spelling!) Provide an
    interface which returns both the implementer and part number together,
    and update the definitions to include the implementer.

    Mark the old function as being deprecated... indeed, using the old
    function with the definitions will now always evaluate as false, so
    people must update their un-merged code to the new function. While
    this could be avoided by adding new definitions, we'd also have to
    create new names for them which would be awkward.

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

    Russell King
     
  • This is not strictly needed on TC2 but still a good idea to exercise
    that code.

    Signed-off-by: nicolas Pitre
    Reviewed-by: Kevin Hilman
    Signed-off-by: Russell King

    Nicolas Pitre
     

08 Jul, 2014

1 commit

  • …linux-integrator into next/cleanup

    Merge "First pull request of Versatile family clean-ups for v3.17" from Linus
    Walleij:

    - Remove <mach/memory.h> from the Integrator, paving the
    road for multiplatform.
    - Push the CLCD helper code down into the framebuffer subsystem,
    removing the last hook in plat-versatile for the Integrator,
    also paving the road for multiplatform.

    Patches tested on Integrator/AP, Integrator/CP and Versatile AB
    (all real hardware).

    * tag 'versatile-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator:
    video: move Versatile CLCD helpers
    ARM: integrator: get rid of <mach/memory.h>

    Signed-off-by: Olof Johansson <olof@lixom.net>

    Olof Johansson
     

27 Jun, 2014

1 commit

  • This moves the Versatile-specific helper code and panel database
    down into the drivers/video folder next to the CLCD driver
    itself, preserving the config symbol but also moving the header
    to platform data.

    This is necessary to rid the Integrator of this final
    inclusion dependency and get us one less user of the
    plat-versatile folder.

    Cc: Arnd Bergmann
    Cc: Jean-Christophe Plagniol-Villard
    Cc: linux-fbdev@vger.kernel.org
    Cc: Russell King
    Acked-by: Tomi Valkeinen
    Signed-off-by: Linus Walleij

    Linus Walleij
     

25 Jun, 2014

1 commit

  • Pull ARM fixes from Russell King:
    "A number of low impact fixes, the most noticable one is the thumb2
    frame pointer fix. We also fix a regression caused during this merge
    window with ARM925 CPUs running with caches disabled, and fix a number
    of warnings"

    * 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm:
    ARM: arm925: ensure assembly sets up writethrough mapping
    ARM: perf: fix compiler warning with gcc 4.6.4 (and tidy code)
    ARM: l2c: fix dependencies on PL310 errata symbols
    ARM: 8069/1: Make thread_save_fp macro aware of THUMB2 mode
    ARM: 8068/1: scoop: Remove unused variable

    Linus Torvalds
     

19 Jun, 2014

1 commit

  • A number of configurations spit out warnings similar to:

    warning: (SOC_IMX6 && SOC_VF610 && ARCH_OMAP4) selects PL310_ERRATA_588369 which has unmet direct dependencies (CACHE_L2X0)
    warning: (SOC_IMX6 && SOC_VF610 && ARCH_OMAP4) selects PL310_ERRATA_727915 which has unmet direct dependencies (CACHE_L2X0)

    Clean up the dependencies here:
    * PL310 symbols should only be selected when CACHE_L2X0 is enabled.
    * Since the cache-l2x0 code detects PL310 presence at runtime, and we will
    eventually get rid of CACHE_PL310, surround these errata options with an
    if CACHE_L2X0 conditional rather than repeating the dependency against
    each.

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

    Russell King
     

17 Jun, 2014

2 commits

  • The System Type menu is getting quite long with platforms and is
    inconsistent in handling of sub-arch specific options. Tidy up the menu
    by making platform options a menuconfig entry containing any platform
    specific config items.

    [arnd: change OMAP part according to suggestion from
    Tony Lindgren ]

    Signed-off-by: Rob Herring
    Signed-off-by: Arnd Bergmann

    Rob Herring
     
  • This config exists entirely to hide the cpufreq menu from the
    kernel configuration unless a platform has selected it. Nothing
    is actually built if this config is 'Y' and it just leads to more
    patches that add a select under a platform Kconfig so that some
    other CPUfreq option can be chosen. Let's remove the option so
    that we can always enable CPUfreq drivers on ARM platforms.

    Acked-by: Viresh Kumar
    Signed-off-by: Stephen Boyd
    Signed-off-by: Arnd Bergmann

    Stephen Boyd
     

06 Jun, 2014

1 commit

  • Pull ARM updates from Russell King:

    - Major clean-up of the L2 cache support code. The existing mess was
    becoming rather unmaintainable through all the additions that others
    have done over time. This turns it into a much nicer structure, and
    implements a few performance improvements as well.

    - Clean up some of the CP15 control register tweaks for alignment
    support, moving some code and data into alignment.c

    - DMA properties for ARM, from Santosh and reviewed by DT people. This
    adds DT properties to specify bus translations we can't discover
    automatically, and to indicate whether devices are coherent.

    - Hibernation support for ARM

    - Make ftrace work with read-only text in modules

    - add suspend support for PJ4B CPUs

    - rework interrupt masking for undefined instruction handling, which
    allows us to enable interrupts earlier in the handling of these
    exceptions.

    - support for big endian page tables

    - fix stacktrace support to exclude stacktrace functions from the
    trace, and add save_stack_trace_regs() implementation so that kprobes
    can record stack traces.

    - Add support for the Cortex-A17 CPU.

    - Remove last vestiges of ARM710 support.

    - Removal of ARM "meminfo" structure, finally converting us solely to
    memblock to handle the early memory initialisation.

    * 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm: (142 commits)
    ARM: ensure C page table setup code follows assembly code (part II)
    ARM: ensure C page table setup code follows assembly code
    ARM: consolidate last remaining open-coded alignment trap enable
    ARM: remove global cr_no_alignment
    ARM: remove CPU_CP15 conditional from alignment.c
    ARM: remove unused adjust_cr() function
    ARM: move "noalign" command line option to alignment.c
    ARM: provide common method to clear bits in CPU control register
    ARM: 8025/1: Get rid of meminfo
    ARM: 8060/1: mm: allow sub-architectures to override PCI I/O memory type
    ARM: 8066/1: correction for ARM patch 8031/2
    ARM: 8049/1: ftrace/add save_stack_trace_regs() implementation
    ARM: 8065/1: remove last use of CONFIG_CPU_ARM710
    ARM: 8062/1: Modify ldrt fixup handler to re-execute the userspace instruction
    ARM: 8047/1: rwsem: use asm-generic rwsem implementation
    ARM: l2c: trial at enabling some Cortex-A9 optimisations
    ARM: l2c: add warnings for stuff modifying aux_ctrl register values
    ARM: l2c: print a warning with L2C-310 caches if the cache size is modified
    ARM: l2c: remove old .set_debug method
    ARM: l2c: kill L2X0_AUX_CTRL_MASK before anyone else makes use of this
    ...

    Linus Torvalds
     

05 Jun, 2014

2 commits

  • Russell King
     
  • …l/git/tip/tip into next

    Pull timer core updates from Thomas Gleixner:
    "This time you get nothing really exciting:
    - A huge update to the sh* clocksource drivers
    - Support for two more ARM SoCs
    - Removal of the deprecated setup_sched_clock() API
    - The usual pile of fixlets all over the place"

    * 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (23 commits)
    clocksource: Add Freescale FlexTimer Module (FTM) timer support
    ARM: dts: vf610: Add Freescale FlexTimer Module timer node.
    clocksource: ftm: Add FlexTimer Module (FTM) Timer devicetree Documentation
    clocksource: sh_tmu: Remove unnecessary OOM messages
    clocksource: sh_mtu2: Remove unnecessary OOM messages
    clocksource: sh_cmt: Remove unnecessary OOM messages
    clocksource: em_sti: Remove unnecessary OOM messages
    clocksource: dw_apb_timer_of: Do not trace read_sched_clock
    clocksource: Fix clocksource_mmio_readX_down
    clocksource: Fix type confusion for clocksource_mmio_readX_Y
    clocksource: sh_tmu: Fix channel IRQ retrieval in legacy case
    clocksource: qcom: Implement read_current_timer for udelay
    ntp: Make is_error_status() use its argument
    ntp: Convert simple_strtol to kstrtol
    timer_stats/doc: Fix /proc/timer_stats documentation
    sched_clock: Remove deprecated setup_sched_clock() API
    ARM: sun6i: a31: Add support for the High Speed Timers
    clocksource: sun5i: Add support for reset controller
    clocksource: efm32: use $vendor,$device scheme for compatible string
    KConfig: Vexpress: build the ARM_GLOBAL_TIMER with vexpress platform
    ...

    Linus Torvalds
     

30 May, 2014

3 commits

  • Remove the explicit call to l2x0_of_init(), converting to the generic
    infrastructure instead.

    Signed-off-by: Russell King

    Russell King
     
  • It is beneficial to have the L2 cache up and running earlier in the
    system boot. Not only will this allow for simpler code when we come to
    enable some features, but it also means that we get a more accurate
    bogomips value for the udelay() loop. Calibrating the loop with the
    L2 cache off, and then running with the L2 cache on is not the best
    idea.

    Signed-off-by: Russell King

    Russell King
     
  • We have a mixture of different devices with different register layouts,
    but we group all the bits together in an opaque mess. Split them out
    into those which are L2C-310 specific and ones which refer to earlier
    devices. Provide full auxiliary control register definitions.

    Acked-by: Tony Lindgren
    Acked-by: Linus Walleij
    Acked-by: Shawn Guo
    Acked-by: Stephen Warren
    Signed-off-by: Russell King

    Russell King
     

27 May, 2014

1 commit

  • The versatile express changes for 3.16 introduced a number of
    build regressions for randconfig kernels by not tracking dependencies
    between the components right.

    This patch tries to rectify that:

    * the mach-vexpress code cannot link without the syscfg driver,
    which in turn needs MFD_VEXPRESS_SYSREG
    * various drivers call devm_regmap_init_vexpress_config(), which
    has to be exported so it can be used by loadable modules
    * the configuration bus uses OF DT helper functions that are not
    available to platforms disable CONFIG_OF
    * The sysreg driver exports GPIOs through gpiolib, which can
    be disabled on some platforms.
    * The clocksource code cannot be built on platforms that don't
    use modern timekeeping but rely on gettimeoffset.

    Signed-off-by: Arnd Bergmann

    Arnd Bergmann
     

26 May, 2014

1 commit

  • The name "power_down_finish" seems to be causing some confusion,
    because it suggests that this function is responsible for taking
    some action to cause the specified CPU to complete its power down.

    This patch renames the affected functions to "wait_for_powerdown"
    and similar, since this function's intended purpose is just to wait
    for the hardware to finish a powerdown initiated by a previous
    cpu_power_down.

    Signed-off-by: Dave Martin
    Acked-by: Nicolas Pitre
    Signed-off-by: Russell King

    Dave Martin
     

16 May, 2014

7 commits

  • Daniel Lezcano
     
  • The last reason for static memory mapping is the HBI (board
    identification number) check early in the machine code.

    Moving the check to the sysreg driver makes it possible to
    completely remove the early mapping and init functions.

    Signed-off-by: Pawel Moll
    Acked-by: Lee Jones

    Pawel Moll
     
  • As all cores must be properly described in the Device Tree,
    there is no point in getting their numbers from SCU on
    A5/A9 platforms. This significantly simplifies the code,
    removing the need for flat-tree scanning and early static
    mapping.

    Signed-off-by: Pawel Moll

    Pawel Moll
     
  • arm_dt_init_cpu_maps parses the device tree, validates and sets the
    cpu_possible_mask appropriately. It is unnecessary to do another DT
    parse to get the number of cpus, use num_possible_cpus instead.

    This patch also removes setting cpu_present_mask as platforms should
    only re-initialize it in smp_prepare_cpus() if present != possible.

    Signed-off-by: Sudeep KarkadaNagesha
    Signed-off-by: Pawel Moll

    Sudeep KarkadaNagesha
     
  • This patch adds a trival sched clock source using free
    running, 24MHz clocked counter present in the ARM Ltd.
    reference platforms (Versatile, RealView, Versatile
    Express) System Registers block.

    This code replaces the call in the VE machine code.

    Signed-off-by: Pawel Moll
    Reviewed-by: Linus Walleij

    Pawel Moll
     
  • This patch - finally, after over 6 months! :-( - addresses
    Samuel's request to split the vexpress-sysreg driver into
    smaller portions and define the device in a form of MFD
    cells:

    * LEDs code has been completely removed and replaced with
    "gpio-leds" nodes in the tree (referencing dedicated
    GPIO subnodes in sysreg - bindings documentation updated);
    this also better fits the reality as some variants of the
    motherboard don't have all the LEDs populated

    * syscfg bridge code has been extracted into a separate
    driver (placed in drivers/misc for no better place)

    * all the ID & MISC registers are defined as sysconf
    making them available for other drivers should they need
    to use them (and also to the user via /sys/kernel/debug/regmap
    which can be helpful in platform debugging)

    Signed-off-by: Pawel Moll
    Acked-by: Lee Jones

    Pawel Moll
     
  • Components of the Versatile Express platform (configuration
    microcontrollers on motherboard and daughterboards in particular)
    talk to each other over a custom configuration bus. They
    provide miscellaneous functions (from clock generator control
    to energy sensors) which are represented as platform devices
    (and Device Tree nodes). The transactions on the bus can
    be generated by different "bridges" in the system, some
    of which are universal for the whole platform (for the price
    of high transfer latencies), others restricted to a subsystem
    (but much faster).

    Until now drivers for such functions were using custom "func"
    API, which is being replaced in this patch by regmap calls.
    This required:

    * a rework (and move to drivers/bus directory, as suggested
    by Samuel and Arnd) of the config bus core, which is much
    simpler now and uses device model infrastructure (class)
    to keep track of the bridges; non-DT case (soon to be
    retired anyway) is simply covered by a special device
    registration function

    * the new config-bus driver also takes over device population,
    so there is no need for special matching table for
    of_platform_populate nor "simple-bus" hack in the arm64
    model dtsi file (relevant bindings documentation has
    been updated); this allows all the vexpress devices
    fit into normal device model, making it possible
    to remove plenty of early inits and other hacks in
    the near future

    * adaptation of the syscfg bridge implementation in the
    sysreg driver, again making it much simpler; there is
    a special case of the "energy" function spanning two
    registers, where they should be both defined in the tree
    now, but backward compatibility is maintained in the code

    * modification of the relevant drivers:

    * hwmon - just a straight-forward API change
    * power/reset driver - API change
    * regulator - API change plus error handling
    simplification
    * osc clock driver - this one required larger rework
    in order to turn in into a standard platform driver

    Signed-off-by: Pawel Moll
    Acked-by: Mark Brown
    Acked-by: Lee Jones
    Acked-by: Guenter Roeck
    Acked-by: Mike Turquette

    Pawel Moll
     

25 Apr, 2014

1 commit


24 Apr, 2014

1 commit