09 Aug, 2014

1 commit

  • Pull ARM SoC platform changes from Olof Johansson:
    "This is the bulk of new SoC enablement and other platform changes for
    3.17:

    - Samsung S5PV210 has been converted to DT and multiplatform
    - Clock drivers and bindings for some of the lower-end i.MX 1/2
    platforms
    - Kirkwood, one of the popular Marvell platforms, is folded into the
    mvebu platform code, removing mach-kirkwood
    - Hwmod data for TI AM43xx and DRA7 platforms
    - More additions of Renesas shmobile platform support
    - Removal of plat-samsung contents that can be removed with S5PV210
    being multiplatform/DT-enabled and the other two old platforms
    being removed

    New platforms (most with only basic support right now):

    - Hisilicon X5HD2 settop box chipset is introduced
    - Mediatek MT6589 (mobile chipset) is introduced
    - Broadcom BCM7xxx settop box chipset is introduced

    + as usual a lot other pieces all over the platform code"

    * tag 'soc-for-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (240 commits)
    ARM: hisi: remove smp from machine descriptor
    power: reset: move hisilicon reboot code
    ARM: dts: Add hix5hd2-dkb dts file.
    ARM: debug: Rename Hi3716 to HIX5HD2
    ARM: hisi: enable hix5hd2 SoC
    ARM: hisi: add ARCH_HISI
    MAINTAINERS: add entry for Broadcom ARM STB architecture
    ARM: brcmstb: select GISB arbiter and interrupt drivers
    ARM: brcmstb: add infrastructure for ARM-based Broadcom STB SoCs
    ARM: configs: enable SMP in bcm_defconfig
    ARM: add SMP support for Broadcom mobile SoCs
    Documentation: arm: misc updates to Marvell EBU SoC status
    Documentation: arm: add URLs to public datasheets for the Marvell Armada XP SoC
    ARM: mvebu: fix build without platforms selected
    ARM: mvebu: add cpuidle support for Armada 38x
    ARM: mvebu: add cpuidle support for Armada 370
    cpuidle: mvebu: add Armada 38x support
    cpuidle: mvebu: add Armada 370 support
    cpuidle: mvebu: rename the driver from armada-370-xp to mvebu-v7
    ARM: mvebu: export the SCU address
    ...

    Linus Torvalds
     

06 Aug, 2014

2 commits

  • Pull timer and time updates from Thomas Gleixner:
    "A rather large update of timers, timekeeping & co

    - Core timekeeping code is year-2038 safe now for 32bit machines.
    Now we just need to fix all in kernel users and the gazillion of
    user space interfaces which rely on timespec/timeval :)

    - Better cache layout for the timekeeping internal data structures.

    - Proper nanosecond based interfaces for in kernel users.

    - Tree wide cleanup of code which wants nanoseconds but does hoops
    and loops to convert back and forth from timespecs. Some of it
    definitely belongs into the ugly code museum.

    - Consolidation of the timekeeping interface zoo.

    - A fast NMI safe accessor to clock monotonic for tracing. This is a
    long standing request to support correlated user/kernel space
    traces. With proper NTP frequency correction it's also suitable
    for correlation of traces accross separate machines.

    - Checkpoint/restart support for timerfd.

    - A few NOHZ[_FULL] improvements in the [hr]timer code.

    - Code move from kernel to kernel/time of all time* related code.

    - New clocksource/event drivers from the ARM universe. I'm really
    impressed that despite an architected timer in the newer chips SoC
    manufacturers insist on inventing new and differently broken SoC
    specific timers.

    [ Ed. "Impressed"? I don't think that word means what you think it means ]

    - Another round of code move from arch to drivers. Looks like most
    of the legacy mess in ARM regarding timers is sorted out except for
    a few obnoxious strongholds.

    - The usual updates and fixlets all over the place"

    * 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (114 commits)
    timekeeping: Fixup typo in update_vsyscall_old definition
    clocksource: document some basic timekeeping concepts
    timekeeping: Use cached ntp_tick_length when accumulating error
    timekeeping: Rework frequency adjustments to work better w/ nohz
    timekeeping: Minor fixup for timespec64->timespec assignment
    ftrace: Provide trace clocks monotonic
    timekeeping: Provide fast and NMI safe access to CLOCK_MONOTONIC
    seqcount: Add raw_write_seqcount_latch()
    seqcount: Provide raw_read_seqcount()
    timekeeping: Use tk_read_base as argument for timekeeping_get_ns()
    timekeeping: Create struct tk_read_base and use it in struct timekeeper
    timekeeping: Restructure the timekeeper some more
    clocksource: Get rid of cycle_last
    clocksource: Move cycle_last validation to core code
    clocksource: Make delta calculation a function
    wireless: ath9k: Get rid of timespec conversions
    drm: vmwgfx: Use nsec based interfaces
    drm: i915: Use nsec based interfaces
    timekeeping: Provide ktime_get_raw()
    hangcheck-timer: Use ktime_get_ns()
    ...

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

    - perf updates from Will Deacon:

    The main changes are callchain stability fixes from Jean Pihet and
    event mapping and PMU name rework from Mark Rutland

    The latter is preparatory work for enabling some code re-use with
    arm64 in the future.

    - updates for nommu from Uwe Kleine-König:

    Two different fixes for the same problem making some ARM nommu
    configurations not boot since 3.6-rc1. The problem is that
    user_addr_max returned the biggest available RAM address which
    makes some copy_from_user variants fail to read from XIP memory.

    - deprecate legacy OMAP DMA API, in preparation for it's removal.

    The popular drivers have been converted over, leaving a very small
    number of rarely used drivers, which hopefully can be converted
    during the next cycle with a bit more visibility (and hopefully
    people popping out of the woodwork to help test)

    - more tweaks for BE systems, particularly with the kernel image
    format. In connection with this, I've cleaned up the way we
    generate the linker script for the decompressor.

    - removal of hard-coded assumptions of the kernel stack size, making
    everywhere depend on the value of THREAD_SIZE_ORDER.

    - MCPM updates from Nicolas Pitre.

    - Make it easier for proper CPU part number checks (which should
    always include the vendor field).

    - Assembly code optimisation - use the "bx" instruction when
    returning from a function on ARMv6+ rather than "mov pc, reg".

    - Save the last kernel misaligned fault location and report it via
    the procfs alignment file.

    - Clean up the way we create the initial stack frame, which is a
    repeated pattern in several different locations.

    - Support for 8-byte get_user(), needed for some DRM implementations.

    - mcs locking from Will Deacon.

    - Save and restore a few more Cortex-A9 registers (for errata
    workarounds)

    - Fix various aspects of the SWP emulation, and the ELF hwcap for the
    SWP instruction.

    - Update LPAE logic for pte_write and pmd_write to make it more
    correct.

    - Support for Broadcom Brahma15 CPU cores.

    - ARM assembly crypto updates from Ard Biesheuvel"

    * 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm: (53 commits)
    ARM: add comments to the early page table remap code
    ARM: 8122/1: smp_scu: enable SCU standby support
    ARM: 8121/1: smp_scu: use macro for SCU enable bit
    ARM: 8120/1: crypto: sha512: add ARM NEON implementation
    ARM: 8119/1: crypto: sha1: add ARM NEON implementation
    ARM: 8118/1: crypto: sha1/make use of common SHA-1 structures
    ARM: 8113/1: remove remaining definitions of PLAT_PHYS_OFFSET from
    ARM: 8111/1: Enable erratum 798181 for Broadcom Brahma-B15
    ARM: 8110/1: do CPU-specific init for Broadcom Brahma15 cores
    ARM: 8109/1: mm: Modify pte_write and pmd_write logic for LPAE
    ARM: 8108/1: mm: Introduce {pte,pmd}_isset and {pte,pmd}_isclear
    ARM: hwcap: disable HWCAP_SWP if the CPU advertises it has exclusives
    ARM: SWP emulation: only initialise on ARMv7 CPUs
    ARM: SWP emulation: always enable when SMP is enabled
    ARM: 8103/1: save/restore Cortex-A9 CP15 registers on suspend/resume
    ARM: 8098/1: mcs lock: implement wfe-based polling for MCS locking
    ARM: 8091/2: add get_user() support for 8 byte types
    ARM: 8097/1: unistd.h: relocate comments back to place
    ARM: 8096/1: Describe required sort order for textofs-y (TEXT_OFFSET)
    ARM: 8090/1: add revision info for PL310 errata 588369 and 727915
    ...

    Linus Torvalds
     

23 Jul, 2014

10 commits

  • The MCT has a nice 64-bit counter. That means that we _can_ register
    as a 64-bit clocksource and sched_clock. ...but that doesn't mean we
    should.

    The 64-bit counter is read by reading two 32-bit registers. That
    means reading needs to be something like:
    - Read upper half
    - Read lower half
    - Read upper half and confirm that it hasn't changed.

    That wouldn't be terrible, but:
    - THe MCT isn't very fast to access (hundreds of nanoseconds).
    - The clocksource is queried _all the time_.

    In total system profiles of real workloads on ChromeOS, we've seen
    exynos_frc_read() taking 2% or more of CPU time even after optimizing
    the 3 reads above to 2 (see below).

    The MCT is clocked at ~24MHz on all known systems. That means that
    the 32-bit half of the counter rolls over every ~178 seconds. This
    inspired an optimization in ChromeOS to cache the upper half between
    calls, moving 3 reads to 2. ...but we can do better! Having a 32-bit
    timer that flips every 178 seconds is more than sufficient for Linux.
    Let's just use the lower half of the MCT.

    Times on 5420 to do 1000000 gettimeofday() calls from userspace:
    * Original code: 1323852 us
    * ChromeOS cache upper half: 1173084 us
    * ChromeOS + ldmia to optimize: 1045674 us
    * Use lower 32-bit only (this code): 1014429 us

    As you can see, the time used doesn't increase linearly with the
    number of reads and we can make 64-bit work almost as fast as 32-bit
    with a bit of assembly code. But since there's no real gain for
    64-bit, let's go with the simplest and fastest implementation.

    Note: with this change roughly half the time for gettimeofday() is
    spent in exynos_frc_read(). The rest is timer / system call overhead.

    Also note: this patch disables the use of the MCT on ARM64 systems
    until we've sorted out how to make "cycles_t" always 32-bit. Really
    ARM64 systems should be using arch timers anyway.

    Signed-off-by: Doug Anderson
    Acked-by Vincent Guittot
    Signed-off-by: Kukjin Kim
    Signed-off-by: Daniel Lezcano

    Doug Anderson
     
  • Using the __raw functions is discouraged. Update the file to
    consistently use the proper functions.

    Signed-off-by: Doug Anderson
    Signed-off-by: Kukjin Kim
    Signed-off-by: Daniel Lezcano

    Doug Anderson
     
  • Add device-tree support to PXA platforms.
    The driver still needs to maintain backward non device-tree
    compatibility as well, which implies :
    - a non device-tree init function
    - a static registers base address in the driver

    Signed-off-by: Robert Jarzmik
    Signed-off-by: Daniel Lezcano

    Robert Jarzmik
     
  • Move time.c from arch/arm/mach-pxa/time.c to
    drivers/clocksource/pxa_timer.c.

    Signed-off-by: Robert Jarzmik
    Signed-off-by: Daniel Lezcano

    Robert Jarzmik
     
  • This adds the clocksource driver for Cirrus Logic CLPS711X series SoCs.
    Designed primarily for migration CLPS711X subarch for multiplatform & DT,
    for this as the "OF" and "non-OF" calls implemented.

    Signed-off-by: Alexander Shiyan
    Acked-by: Arnd Bergmann
    Signed-off-by: Daniel Lezcano

    Alexander Shiyan
     
  • In the clocksource driver, we didn't explicitly enable the clock. it makes the
    clk reference counter wrong. We didn't encounter any hang issue because the
    tick's clock input has been open and is shared by some other hardware
    components, but if we don't enable those components in kernel, in the stage of
    disabling unused clk in kernel boot, Linux tick hangs.

    This patch fixes it. it does an explicit prepare and enable to the clock input,
    and increases the usage counter of the clk.

    Signed-off-by: Zhiwu Song
    Signed-off-by: Barry Song
    Signed-off-by: Daniel Lezcano

    Zhiwu Song
     
  • In 'em_sti.c', it will call devm_ioremap_resource() which need
    HAS_IOMEM. So need let EM_TIMER_STI depend on HAS_IOMEM, too.

    The related error (with allmodconfig under score):

    LD init/built-in.o
    em_sti.c:(.text.em_sti_probe+0x84): undefined reference to `devm_ioremap_resource'
    make: *** [vmlinux] Error 1

    Signed-off-by: Chen Gang
    Signed-off-by: Daniel Lezcano

    Chen Gang
     
  • This patch adds a clock source and clock event for the timer found
    on the Mediatek SoCs.

    The Mediatek General Purpose Timer block provides five 32 bit timers and
    one 64 bit timer.

    Two 32 bit timers are used by this driver:
    TIMER1: clock events supporting periodic and oneshot events
    TIMER2: clock source configured as a free running counter

    The General Purpose Timer block can be run with two clocks. A 13 MHz system
    clock and the RTC clock running at 32 KHz. This implementation uses the system
    clock with no clock source divider.

    The interrupts are shared between the different timers and have to be read back
    from a register. We just enable one interrupt for the clock event. The clock
    event timer is used by all cores.

    Signed-off-by: Matthias Brugger
    Acked-by: Thomas Gleixner
    Signed-off-by: Daniel Lezcano

    Matthias Brugger
     
  • It should be "MTU2" instead of "TMU2"

    Signed-off-by: Kuninori Morimoto
    Acked-by: Wolfram Sang
    Acked-by: Simon Horman
    Signed-off-by: Daniel Lezcano

    Kuninori Morimoto
     
  • Daniel Lezcano
     

20 Jul, 2014

1 commit

  • …e/linux-samsung into next/soc

    Merge "Samsung exynos cpuidle update for v3.17" from Kukjin Kim:

    - add callbacks exynos_suspend() and exynos_powered_up()
    for support cpuidle through mcpm
    - skip exynos_cpuidle for exynos5420 because is uses
    cpuidle-big-liggle generic cpuidle driver
    - add generic functions to calculate cpu number is used
    for pmu and this is required for exynos5420 multi-cluster
    - add of_device_id structure for big.LITTLE cpuidle and
    add "samsung,exynos5420" compatible string for exynos5420

    * tag 'exynos-cpuidle' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
    ARM: EXYNOS: populate suspend and powered_up callbacks for mcpm
    ARM: EXYNOS: do not allow cpuidle registration for exynos5420
    cpuidle: big.LITTLE: init driver for exynos5420
    cpuidle: big.LITTLE: Add ARCH_EXYNOS entry in config
    ARM: EXYNOS: add generic function to calculate cpu number
    cpuidle: big.LITTLE: add of_device_id structure
    + Linux 3.16-rc5

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

    Olof Johansson
     

18 Jul, 2014

1 commit

  • 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
     

17 Jul, 2014

1 commit


07 Jul, 2014

1 commit

  • …nel/git/tegra/linux into next/soc

    Merge "ARM: tegra: use us counter as delay timer" from Stephen Warren:

    Tegra has a micro-second counter whose rate doesn't vary with cpufreq
    changes. Register it so it can be used as the delay timer, so delays
    aren't influenced by cpufreq.

    * tag 'tegra-for-3.17-delay-timer' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
    clocksource: tegra: Use us counter as delay timer
    ARM: choose highest resolution delay timer
    kernel: add calibration_delay_done()

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

    Olof Johansson
     

05 Jul, 2014

2 commits

  • This patch registers the exynos mct clocksource as the current timer
    as it has constant clock rate. This will generate correct udelay for
    the exynos platform and avoid using unnecessary calibrated
    jiffies. This change has been tested on exynos5420 based board and
    udelay is very close to expected.

    Without this patch udelay() on exynos5400 / exynos5800 is wildly
    inaccurate due to big.LITTLE not adjusting loops_per_jiffy correctly.
    Also without this patch udelay() on exynos5250 can be innacruate
    during transitions between frequencies < 800 MHz (you'll go 200 MHz ->
    800 MHz -> 300 MHz and will run at 800 MHz for a time with the wrong
    loops_per_jiffy).

    [dianders: reworked and created version 3]

    Signed-off-by: Amit Daniel Kachhap
    Signed-off-by: Doug Anderson
    Signed-off-by: Kukjin Kim

    Amit Daniel Kachhap
     
  • In (93bfb76 clocksource: exynos_mct: register sched_clock callback) we
    supported using the MCT as a scheduler clock. We properly marked
    exynos4_read_sched_clock() as notrace. However, we then went and
    called another function that _wasn't_ notrace. That means if you do:

    cd /sys/kernel/debug/tracing/
    echo function_graph > current_tracer

    You'll get a crash.

    Fix this (but still let other readers of the MCT be trace-enabled) by
    adding an extra function. It's important to keep other users of MCT
    traceable because the MCT is actually quite slow to access and we want
    exynos4_frc_read() to show up in ftrace profiles if it's the
    bottleneck.

    Signed-off-by: Doug Anderson
    Signed-off-by: Kukjin Kim

    Doug Anderson
     

04 Jul, 2014

3 commits


02 Jul, 2014

6 commits


22 Jun, 2014

1 commit

  • Move the clocksource Kconfig entries into their own menu, so that they
    don't pollute the main device driver menu.

    Signed-off-by: Jean Delvare
    Cc: Daniel Lezcano
    Link: http://lkml.kernel.org/r/20140616114845.343e9960@endymion.delvare
    Signed-off-by: Thomas Gleixner

    Jean Delvare
     

17 Jun, 2014

1 commit


16 Jun, 2014

1 commit

  • Unfortunately on some exynos systems, resetting the mct counter also
    resets the architected timer counter. This can cause problems if the
    architected timer driver has already been initialized because the kernel
    will think that the counter has wrapped around, causing a big jump in
    printk timestamps and delaying any scheduled clock events until the
    counter reaches the value it had before it was reset.

    The kernel code makes no assumptions about the initial value of the mct
    counter so there is no reason from a software perspective to clear the
    counter before starting it. This also fixes the problems described in
    the previous paragraph.

    Cc: Olof Johansson
    Cc: Tomasz Figa
    Signed-off-by: Chirantan Ekbote
    Reviewed-by: Doug Anderson
    Tested-by: Doug Anderson
    Signed-off-by: Kukjin Kim

    Chirantan Ekbote
     

05 Jun, 2014

2 commits

  • …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
     
  • …/robh/linux into next

    Pull DeviceTree updates from Rob Herring:
    - Another round of clean-up of FDT related code in architecture code.
    This removes knowledge of internal FDT details from most
    architectures except powerpc.
    - Conversion of kernel's custom FDT parsing code to use libfdt.
    - DT based initialization for generic serial earlycon. The
    introduction of generic serial earlycon support went in through the
    tty tree.
    - Improve the platform device naming for DT probed devices to ensure
    unique naming and use parent names instead of a global index.
    - Fix a race condition in of_update_property.
    - Unify the various linker section OF match tables and fix several
    function prototype errors.
    - Update platform_get_irq_byname to work in deferred probe cases.
    - 2 binding doc updates

    * tag 'devicetree-for-3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: (58 commits)
    of: handle NULL node in next_child iterators
    of/irq: provide more wrappers for !CONFIG_OF
    devicetree: bindings: Document micrel vendor prefix
    dt: bindings: dwc2: fix required value for the phy-names property
    of_pci_irq: kill useless variable in of_irq_parse_pci()
    of/irq: do irq resolution in platform_get_irq_byname()
    of: Add a testcase for of_find_node_by_path()
    of: Make of_find_node_by_path() handle /aliases
    of: Create unlocked version of for_each_child_of_node()
    lib: add glibc style strchrnul() variant
    of: Handle memory@0 node on PPC32 only
    pci/of: Remove dead code
    of: fix race between search and remove in of_update_property()
    of: Use NULL for pointers
    of: Stop naming platform_device using dcr address
    of: Ensure unique names without sacrificing determinism
    tty/serial: pl011: add DT based earlycon support
    of/fdt: add FDT serial scanning for earlycon
    of/fdt: add FDT address translation support
    serial: earlycon: add DT support
    ...

    Linus Torvalds
     

04 Jun, 2014

1 commit

  • The newly merged versatile sched clock support uses a deprecated
    interface. Of course that patch got routed through the ARM tree instead
    of going through the relevant maintainer tree.

    Use the proper interface so we can get rid of the cruft.

    Signed-off-by: Thomas Gleixner
    Signed-off-by: Linus Torvalds

    Thomas Gleixner
     

03 Jun, 2014

4 commits

  • Pull ARM SoC driver changes from Olof Johansson:
    "SoC-near driver changes that we're merging through our tree. Mostly
    because they depend on other changes we have staged, but in some cases
    because the driver maintainers preferred that we did it this way.

    This contains a largeish cleanup series of the omap_l3_noc bus driver,
    cpuidle rework for Exynos, some reset driver conversions and a long
    branch of TI EDMA fixes and cleanups, with more to come next release.

    The TI EDMA cleanups is a shared branch with the dmaengine tree, with
    a handful of Davinci-specific fixes on top.

    After discussion at last year's KS (and some more on the mailing
    lists), we are here adding a drivers/soc directory. The purpose of
    this is to keep per-vendor shared code that's needed by different
    drivers but that doesn't fit into the MFD (nor drivers/platform)
    model. We expect to keep merging contents for this hierarchy through
    arm-soc so we can keep an eye on what the vendors keep adding here and
    not making it a free-for-all to shove in crazy stuff"

    * tag 'drivers-for-3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (101 commits)
    cpufreq: exynos: Fix driver compilation with ARCH_MULTIPLATFORM
    tty: serial: msm: Remove direct access to GSBI
    power: reset: keystone-reset: introduce keystone reset driver
    Documentation: dt: add bindings for keystone pll control controller
    Documentation: dt: add bindings for keystone reset driver
    soc: qcom: fix of_device_id table
    ARM: EXYNOS: Fix kernel panic when unplugging CPU1 on exynos
    ARM: EXYNOS: Move the driver to drivers/cpuidle directory
    ARM: EXYNOS: Cleanup all unneeded headers from cpuidle.c
    ARM: EXYNOS: Pass the AFTR callback to the platform_data
    ARM: EXYNOS: Move S5P_CHECK_SLEEP into pm.c
    ARM: EXYNOS: Move the power sequence call in the cpu_pm notifier
    ARM: EXYNOS: Move the AFTR state function into pm.c
    ARM: EXYNOS: Encapsulate the AFTR code into a function
    ARM: EXYNOS: Disable cpuidle for exynos5440
    ARM: EXYNOS: Encapsulate boot vector code into a function for cpuidle
    ARM: EXYNOS: Pass wakeup mask parameter to function for cpuidle
    ARM: EXYNOS: Remove ifdef for scu_enable in pm
    ARM: EXYNOS: Move scu_enable in the cpu_pm notifier
    ARM: EXYNOS: Use the cpu_pm notifier for pm
    ...

    Linus Torvalds
     
  • Pull ARM SoC board support updates from Olof Johansson:
    "The bulk of this branch is updates for Renesas Shmobile. They are
    still doing some enablement for classic boards first, and then come up
    with DT bindings when they've had a chance to learn more about the
    hardware. Not necessarily a bad way to go about it, and they're
    looking at moving some of the temporary board code resulting from it
    to drivers/staging instead to avoid the churn here.

    As a result of the shmobile clock cleanups, we end up merging quite a
    bit of SH code here as well. We ended up merging it here instead of
    in the cleanup branch due to the other board changes depending on it"

    * tag 'boards-for-3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (130 commits)
    ARM: davinci: remove checks for CONFIG_USB_MUSB_PERIPHERAL
    ARM: add drivers for Colibri T30 to multi_v7_defconfig
    ARM: shmobile: Remove Genmai reference DTS
    ARM: shmobile: Let Genmai multiplatform boot with Genmai DTB
    ARM: shmobile: Sync Genmai DTS with Genmai reference DTS
    ARM: shmobile: genmai-reference: Remove legacy clock support
    ARM: shmobile: Remove non-multiplatform Genmai reference support
    ARM: configs: enable XHCI mvebu support in multi_v7_defconfig
    ARM: OMAP: replace checks for CONFIG_USB_GADGET_OMAP
    ARM: OMAP: AM3517EVM: remove check for CONFIG_PANEL_SHARP_LQ043T1DG01
    ARM: OMAP: SX1: remove check for CONFIG_SX1_OLD_FLASH
    ARM: OMAP: remove some dead code
    ARM: OMAP: omap3stalker: remove two Kconfig macros
    ARM: tegra: tegra_defconfig updates
    ARM: shmobile: r7s72100: use workaround for non DT-clocks
    ARM: shmobile: Add forward declaration of struct clk to silence warning
    ARM: shmobile: r7s72100: remove SPI DT clocks from legacy clock support
    ARM: shmobile: r7s72100: add spi clocks to dtsi
    ARM: shmobile: r7s72100: remove I2C DT clocks from legacy clock support
    ARM: shmobile: r7s72100: add i2c clocks to dtsi
    ...

    Linus Torvalds
     
  • Pull part one of ARM SoC updates from Olof Johansson:
    "A quite large set of SoC updates this cycle. In no particular order:

    - Multi-cluster power management for Samsung Exynos, adding support
    for big.LITTLE CPU switching on EXYNOS5

    - SMP support for Marvell Armada 375 and 38x

    - SMP rework on Allwinner A31

    - Xilinx Zynq support for SOC_BUS, big endian

    - Marvell orion5x platform cleanup, modernizing the implementation
    and moving to DT.

    - _Finally_ moving Samsung Exynos over to support MULTIPLATFORM, so
    that their platform can be enabled in the same kernel binary as
    most of the other v7 platforms in the tree. \o/

    The work isn't quite complete, there's some driver fixes still
    needed, but the basics now work.

    New SoC support added:

    - Freescale i.MX6SX

    - LSI Axxia AXM55xx SoCs

    - Samsung EXYNOS 3250, 5260, 5410, 5420 and 5800

    - STi STIH407

    plus a large set of various smaller updates for different platforms.
    I'm probably missing some important one here"

    * tag 'soc-for-3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (281 commits)
    ARM: exynos: don't run exynos4 l2x0 setup on other platforms
    ARM: exynos: Fix "allmodconfig" build errors in mcpm and hotplug
    ARM: EXYNOS: mcpm rename the power_down_finish
    ARM: EXYNOS: Enable mcpm for dual-cluster exynos5800 SoC
    ARM: EXYNOS: Enable multi-platform build support
    ARM: EXYNOS: Consolidate Kconfig entries
    ARM: EXYNOS: Add support for EXYNOS5410 SoC
    ARM: EXYNOS: Support secondary CPU boot of Exynos3250
    ARM: EXYNOS: Add Exynos3250 SoC ID
    ARM: EXYNOS: Add 5800 SoC support
    ARM: EXYNOS: initial board support for exynos5260 SoC
    clk: exynos5410: register clocks using common clock framework
    ARM: debug: qcom: add UART addresses to Kconfig help for APQ8084
    ARM: sunxi: allow building without reset controller
    Documentation: devicetree: arm: sort enable-method entries
    ARM: rockchip: convert smp bringup to CPU_METHOD_OF_DECLARE
    clk: exynos5250: Add missing sysmmu clocks for DISP and ISP blocks
    ARM: dts: axxia: Add reset controller
    power: reset: Add Axxia system reset driver
    ARM: axxia: Adding defconfig for AXM55xx
    ...

    Linus Torvalds
     
  • Pull ARM SoC cleanups from Olof Johansson:
    "Cleanups for 3.16. Among these are:

    - a bunch of misc cleanups for Broadcom platforms, mostly
    housekeeping
    - enabling Common Clock Framework on the older s3c24xx Samsung
    chipsets
    - cleanup of the Versatile Express system controller code, moving it
    to syscon
    - power management cleanups for OMAP platforms

    plus a handful of other cleanups across the place"

    * tag 'cleanup-for-3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (87 commits)
    ARM: kconfig: allow PCI support to be selected with ARCH_MULTIPLATFORM
    clk: samsung: fix build error
    ARM: vexpress: refine dependencies for new code
    clk: samsung: clk-s3c2410-dlck: do not use PNAME macro as it declares __initdata
    cpufreq: exynos: Fix the compile error
    ARM: S3C24XX: move debug-macro.S into the common space
    ARM: S3C24XX: use generic DEBUG_UART_PHY/_VIRT in debug macro
    ARM: S3C24XX: trim down debug uart handling
    ARM: compressed/head.S: remove s3c24xx special case
    ARM: EXYNOS: Remove unnecessary inclusion of cpu.h
    ARM: EXYNOS: Migrate Exynos specific macros from plat to mach
    ARM: EXYNOS: Remove exynos_subsys registration
    ARM: EXYNOS: Remove duplicate lines in Makefile
    ARM: EXYNOS: use v7_exit_coherency_flush macro for cache disabling
    ARM: OMAP4: PRCM: remove references to cm-regbits-44xx.h from PRCM core files
    ARM: OMAP3/4: PRM: add support of late_init call to prm_ll_ops
    ARM: OMAP3/OMAP4: PRM: add prm_features flags and add IO wakeup under it
    ARM: OMAP3/4: PRM: provide io chain reconfig function through irq setup
    ARM: OMAP2+: PRM: remove unnecessary cpu_is_XXX calls from prm_init / exit
    ARM: OMAP2+: PRCM: cleanup some header includes
    ...

    Linus Torvalds
     

27 May, 2014

2 commits

  • Merge "Xilinx Zynq changes for v3.16" from Michal Simek:

    arm: Xilinx Zynq cleanup patches for v3.16

    - Add support for BIG Endian
    - Add SOC_BUS support
    - Sort Kconfig options
    - Fix early console

    * tag 'zynq-cleanup-for-3.16' of git://git.xilinx.com/linux-xlnx:
    ARM: zynq: Enable big-endian
    ARM: zynq: Fix uart0 early console virtual address
    clocksource: cadence_ttc: Use readl/writel_relaxed instead of __raw
    ARM: zynq: Sort Kconfig options
    ARM: zynq: Add support for SOC_BUS

    Signed-off-by: Olof Johansson

    Olof Johansson
     
  • 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