08 May, 2013

2 commits

  • Pull late ARM Exynos multiplatform changes from Arnd Bergmann:
    "These continue the multiplatform support for exynos, adding support
    for building most of the essential drivers (clocksource, clk, irqchip)
    when combined with other platforms. As a result, it should become
    really easy to add full multiplatform exynos support in 3.11, although
    we don't yet enable it for 3.10.

    The changes were not included in the earlier multiplatform series in
    order to avoid clashes with the other Exynos updates.

    This also includes work from Tomasz Figa to fix the pwm clocksource
    code on Exynos, which is not strictly required for multiplatform, but
    related to the other patches in this set and needed as a bug fix for
    at least one board."

    * tag 'multiplatform-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (22 commits)
    ARM: dts: exynops4210: really add universal_c210 dts
    ARM: dts: exynos4210: Add basic dts file for universal_c210 board
    ARM: dts: exynos4: Add node for PWM device
    ARM: SAMSUNG: Do not register legacy timer interrupts on Exynos
    clocksource: samsung_pwm_timer: Work around rounding errors in clockevents core
    clocksource: samsung_pwm_timer: Correct programming of clock events
    clocksource: samsung_pwm_timer: Use proper clockevents max_delta
    clocksource: samsung_pwm_timer: Add support for non-DT platforms
    clocksource: samsung_pwm_timer: Drop unused samsung_pwm struct
    clocksource: samsung_pwm_timer: Keep all driver data in a structure
    clocksource: samsung_pwm_timer: Make PWM spinlock global
    clocksource: samsung_pwm_timer: Let platforms select the driver
    Documentation: Add device tree bindings for Samsung PWM timers
    clocksource: add samsung pwm timer driver
    irqchip: exynos: look up irq using irq_find_mapping
    irqchip: exynos: pass irq_base from platform
    irqchip: exynos: localize irq lookup for ATAGS
    irqchip: exynos: allocate combiner_data dynamically
    irqchip: exynos: pass max combiner number to combiner_init
    ARM: exynos: add missing properties for combiner IRQs
    ...

    Linus Torvalds
     
  • Pull ARM SoC late cleanups from Arnd Bergmann:
    "These are cleanups and smaller changes that either depend on earlier
    feature branches or came in late during the development cycle. We
    normally try to get all cleanups early, so these are the exceptions:

    - A follow-up on the clocksource reworks, hopefully the last time we
    need to merge clocksource subsystem changes through arm-soc.

    A first set of patches was part of the original 3.10 arm-soc
    cleanup series because of interdependencies with timer drivers now
    moved out of arch/arm.

    - Migrating the SPEAr13xx platform away from using auxdata for DMA
    channel descriptions towards using information in device tree,
    based on the earlier SPEAr multiplatform series

    - A few follow-ups on the Atmel SAMA5 support and other changes for
    Atmel at91 based on the larger at91 reworks.

    - Moving the armada irqchip implementation to drivers/irqchip

    - Several OMAP cleanups following up on the larger series already
    merged in 3.10."

    * tag 'cleanup-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (50 commits)
    ARM: OMAP4: change the device names in usb_bind_phy
    ARM: OMAP2+: Fix mismerge for timer.c between ff931c82 and da4a686a
    ARM: SPEAr: conditionalize SMP code
    ARM: arch_timer: Silence debug preempt warnings
    ARM: OMAP: remove unused variable
    serial: amba-pl011: fix !CONFIG_DMA_ENGINE case
    ata: arasan: remove the need for platform_data
    ARM: at91/sama5d34ek.dts: remove not needed compatibility string
    ARM: at91: dts: add MCI DMA support
    ARM: at91: dts: add i2c dma support
    ARM: at91: dts: set #dma-cells to the correct value
    ARM: at91: suspend both memory controllers on at91sam9263
    irqchip: armada-370-xp: slightly cleanup irq controller driver
    irqchip: armada-370-xp: move IRQ handler to avoid forward declaration
    irqchip: move IRQ driver for Armada 370/XP
    ARM: mvebu: move L2 cache initialization in init_early()
    devtree: add binding documentation for sp804
    ARM: integrator-cp: convert use CLKSRC_OF for timer init
    ARM: versatile: use OF init for sp804 timer
    ARM: versatile: add versatile dtbs to dtbs target
    ...

    Linus Torvalds
     

07 May, 2013

1 commit

  • This series from Tomasz Figa restores support for the pwm clocksource
    in Exynos, which was broken during the conversion of the platform
    to the common clk framework. The clocksource is only used in one
    board in the mainline kernel (universal_c210), and this makes it
    work for DT based probing as well as restoring the non-DT based
    case.

    * exynos/pwm-clocksource:
    ARM: dts: exynops4210: really add universal_c210 dts
    ARM: dts: exynos4210: Add basic dts file for universal_c210 board
    ARM: dts: exynos4: Add node for PWM device
    ARM: SAMSUNG: Do not register legacy timer interrupts on Exynos
    clocksource: samsung_pwm_timer: Work around rounding errors in clockevents core
    clocksource: samsung_pwm_timer: Correct programming of clock events
    clocksource: samsung_pwm_timer: Use proper clockevents max_delta
    clocksource: samsung_pwm_timer: Add support for non-DT platforms
    clocksource: samsung_pwm_timer: Drop unused samsung_pwm struct
    clocksource: samsung_pwm_timer: Keep all driver data in a structure
    clocksource: samsung_pwm_timer: Make PWM spinlock global
    clocksource: samsung_pwm_timer: Let platforms select the driver
    Documentation: Add device tree bindings for Samsung PWM timers
    clocksource: add samsung pwm timer driver

    Conflicts:
    arch/arm/boot/dts/Makefile
    arch/arm/mach-exynos/common.c
    drivers/clocksource/Kconfig
    drivers/clocksource/Makefile

    Signed-off-by: Arnd Bergmann

    Arnd Bergmann
     

05 May, 2013

1 commit

  • Pull ARM SoC driver changes from Olof Johansson:
    "This is a rather large set of patches for device drivers that for one
    reason or another the subsystem maintainer preferred to get merged
    through the arm-soc tree. There are both new drivers as well as
    existing drivers that are getting converted from platform-specific
    code into standalone drivers using the appropriate subsystem specific
    interfaces.

    In particular, we can now have pinctrl, clk, clksource and irqchip
    drivers in one file per driver, without the need to call into platform
    specific interface, or to get called from platform specific code, as
    long as all information about the hardware is provided through a
    device tree.

    Most of the drivers we touch this time are for clocksource. Since now
    most of them are part of drivers/clocksource, I expect that we won't
    have to touch these again from arm-soc and can let the clocksource
    maintainers take care of these in the future.

    Another larger part of this series is specific to the exynos platform,
    which is seeing some significant effort in upstreaming and
    modernization of its device drivers this time around, which
    unfortunately is also the cause for the churn and a lot of the merge
    conflicts.

    There is one new subsystem that gets merged as part of this series:
    the reset controller interface, which is a very simple interface for
    taking devices on the SoC out of reset or back into reset. Patches to
    use this interface on i.MX follow later in this merge window, and we
    are going to have other platforms (at least tegra and sirf) get
    converted in 3.11. This will let us get rid of platform specific
    callbacks in a number of platform independent device drivers."

    * tag 'drivers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (256 commits)
    irqchip: s3c24xx: add missing __init annotations
    ARM: dts: Disable the RTC by default on exynos5
    clk: exynos5250: Fix parent clock for sclk_mmc{0,1,2,3}
    ARM: exynos: restore mach/regs-clock.h for exynos5
    clocksource: exynos_mct: fix build error on non-DT
    pinctrl: vt8500: wmt: Fix checking return value of pinctrl_register()
    irqchip: vt8500: Convert arch-vt8500 to new irqchip infrastructure
    reset: NULL deref on allocation failure
    reset: Add reset controller API
    dt: describe base reset signal binding
    ARM: EXYNOS: Add arm-pmu DT binding for exynos421x
    ARM: EXYNOS: Add arm-pmu DT binding for exynos5250
    ARM: EXYNOS: Enable PMUs for exynos4
    irqchip: exynos-combiner: Correct combined IRQs for exynos4
    irqchip: exynos-combiner: Add set_irq_affinity function for combiner_irq
    ARM: EXYNOS: fix compilation error introduced due to common clock migration
    clk: exynos5250: Fix divider values for sclk_mmc{0,1,2,3}
    clk: exynos4: export clocks required for fimc-is
    clk: samsung: Fix compilation error
    clk: tegra: fix enum tegra114_clk to match binding
    ...

    Linus Torvalds
     

03 May, 2013

2 commits

  • Pull ARM SoC multiplatform updates from Olof Johansson:
    "More multiplatform enablement for ARM platforms. The ones converted
    in this branch are:

    - bcm2835
    - cns3xxx
    - sirf
    - nomadik
    - msx
    - spear
    - tegra
    - ux500

    We're getting close to having most of them converted!

    One of the larger platforms remaining is Samsung Exynos, and there are
    a bunch of supporting patches in this merge window for it. There was
    a patch in this branch to a early version of multiplatform conversion,
    but it ended up being reverted due to need of more bake time. The
    revert commit is part of the branch since it would have required
    rebasing multiple dependent branches and they were stable by then"

    * tag 'multiplatform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (70 commits)
    mmc: sdhci-s3c: Fix operation on non-single image Samsung platforms
    clocksource: nomadik-mtu: fix up clocksource/timer
    Revert "ARM: exynos: enable multiplatform support"
    ARM: SPEAr13xx: Fix typo "ARCH_HAVE_CPUFREQ"
    ARM: exynos: enable multiplatform support
    rtc: s3c: make header file local
    mtd: onenand/samsung: make regs-onenand.h file local
    thermal/exynos: remove unnecessary header inclusions
    mmc: sdhci-s3c: remove platform dependencies
    ARM: samsung: move mfc device definition to s5p-dev-mfc.c
    ARM: exynos: move debug-macro.S to include/debug/
    ARM: exynos: prepare for sparse IRQ
    ARM: exynos: introduce EXYNOS_ATAGS symbol
    ARM: tegra: build assembly files with -march=armv7-a
    ARM: Push selects for TWD/SCU into machine entries
    ARM: ux500: build hotplug.o for ARMv7-a
    ARM: ux500: move to multiplatform
    ARM: ux500: make remaining headers local
    ARM: ux500: make irqs.h local to platform
    ARM: ux500: get rid of
    ...

    Linus Torvalds
     
  • Pull ARM SoC cleanup from Olof Johansson:
    "Here is a collection of cleanup patches. Among the pieces that stand
    out are:

    - The deletion of h720x platforms
    - Split of at91 non-dt platforms to their own Kconfig file to keep
    them separate
    - General cleanups and refactoring of i.MX and MXS platforms
    - Some restructuring of clock tables for OMAP
    - Convertion of PMC driver for Tegra to dt-only
    - Some renames of sunxi -> sun4i (Allwinner A10)
    - ... plus a bunch of other stuff that I haven't mentioned"

    * tag 'cleanup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (119 commits)
    ARM: i.MX: remove unused ARCH_* configs
    ARM i.MX53: remove platform ahci support
    ARM: sunxi: Rework the restart code
    irqchip: sunxi: Rename sunxi to sun4i
    irqchip: sunxi: Make use of the IRQCHIP_DECLARE macro
    clocksource: sunxi: Rename sunxi to sun4i
    clocksource: sunxi: make use of CLKSRC_OF
    clocksource: sunxi: Cleanup the timer code
    ARM: at91: remove trailing semicolon from macros
    ARM: at91/setup: fix trivial typos
    ARM: EXYNOS: remove "config EXYNOS_DEV_DRM"
    ARM: EXYNOS: change the name of USB ohci header
    ARM: SAMSUNG: Remove unnecessary code for dma
    ARM: S3C24XX: Remove unused GPIO drive strength register definitions
    ARM: OMAP4+: PM: Restore CPU power state to ON with clockdomain force wakeup method
    ARM: S3C24XX: Removed unneeded dependency on CPU_S3C2412
    ARM: S3C24XX: Removed unneeded dependency on CPU_S3C2410
    ARM: S3C24XX: Removed unneeded dependency on ARCH_S3C24XX for boards
    ARM: SAMSUNG: Fix typo "CONFIG_SAMSUNG_DEV_RTC"
    ARM: S5P64X0: Fix typo "CONFIG_S5P64X0_SETUP_SDHCI"
    ...

    Linus Torvalds
     

30 Apr, 2013

1 commit

  • Pull core timer updates from Ingo Molnar:
    "The main changes in this cycle's merge are:

    - Implement shadow timekeeper to shorten in kernel reader side
    blocking, by Thomas Gleixner.

    - Posix timers enhancements by Pavel Emelyanov:

    - allocate timer ID per process, so that exact timer ID allocations
    can be re-created be checkpoint/restore code.

    - debuggability and tooling (/proc/PID/timers, etc.) improvements.

    - suspend/resume enhancements by Feng Tang: on certain new Intel Atom
    processors (Penwell and Cloverview), there is a feature that the
    TSC won't stop in S3 state, so the TSC value won't be reset to 0
    after resume. This can be taken advantage of by the generic via
    the CLOCK_SOURCE_SUSPEND_NONSTOP flag: instead of using the RTC to
    recover/approximate sleep time, the main (and precise) clocksource
    can be used.

    - Fix /proc/timer_list for 4096 CPUs by Nathan Zimmer: on so many
    CPUs the file goes beyond 4MB of size and thus the current
    simplistic seqfile approach fails. Convert /proc/timer_list to a
    proper seq_file with its own iterator.

    - Cleanups and refactorings of the core timekeeping code by John
    Stultz.

    - International Atomic Clock time is managed by the NTP code
    internally currently but not exposed externally. Separate the TAI
    code out and add CLOCK_TAI support and TAI support to the hrtimer
    and posix-timer code, by John Stultz.

    - Add deep idle support enhacement to the broadcast clockevents core
    timer code, by Daniel Lezcano: add an opt-in CLOCK_EVT_FEAT_DYNIRQ
    clockevents feature (which will be utilized by future clockevents
    driver updates), which allows the use of IRQ affinities to avoid
    spurious wakeups of idle CPUs - the right CPU with an expiring
    timer will be woken.

    - Add new ARM bcm281xx clocksource driver, by Christian Daudt

    - ... various other fixes and cleanups"

    * 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (52 commits)
    clockevents: Set dummy handler on CPU_DEAD shutdown
    timekeeping: Update tk->cycle_last in resume
    posix-timers: Remove unused variable
    clockevents: Switch into oneshot mode even if broadcast registered late
    timer_list: Convert timer list to be a proper seq_file
    timer_list: Split timer_list_show_tickdevices
    posix-timers: Show sigevent info in proc file
    posix-timers: Introduce /proc/PID/timers file
    posix timers: Allocate timer id per process (v2)
    timekeeping: Make sure to notify hrtimers when TAI offset changes
    hrtimer: Fix ktime_add_ns() overflow on 32bit architectures
    hrtimer: Add expiry time overflow check in hrtimer_interrupt
    timekeeping: Shorten seq_count region
    timekeeping: Implement a shadow timekeeper
    timekeeping: Delay update of clock->cycle_last
    timekeeping: Store cycle_last value in timekeeper struct as well
    ntp: Remove ntp_lock, using the timekeeping locks to protect ntp state
    timekeeping: Simplify tai updating from do_adjtimex
    timekeeping: Hold timekeepering locks in do_adjtimex and hardpps
    timekeeping: Move ADJ_SETOFFSET to top level do_adjtimex()
    ...

    Linus Torvalds
     

29 Apr, 2013

7 commits

  • Due to rounding errors in clockevents core (in conversions between ticks
    and nsecs), it might happen that the set_next_event callback gets called
    with cycles = 0, causing the code to incorrectly program the PWM timer.

    This patch modifies the callback to program the timer for 1 tick, if
    received tick count value is 0.

    Signed-off-by: Tomasz Figa
    Signed-off-by: Kyungmin Park
    Reviewed-by: Arnd Bergmann
    Acked-by: Kukjin Kim
    Signed-off-by: Olof Johansson

    Tomasz Figa
     
  • In current code, the tick count value programmed to the hardware is
    always decremented by one. This is reasonable for periodic mode, since
    there is one extra tick between 0 and COUNT (after reloading), but it
    makes oneshot events happen 1 tick earlier than requested, because the
    interrupt is triggered on transition from 1 to 0.

    This patch removes the decrementation from PWM channel setup code and
    moves it instead to periodic timer setup, to make both periodic and
    oneshot modes work correctly.

    Signed-off-by: Tomasz Figa
    Signed-off-by: Kyungmin Park
    Reviewed-by: Arnd Bergmann
    Acked-by: Kukjin Kim
    Signed-off-by: Olof Johansson

    Tomasz Figa
     
  • This patch replaces hardcoded -1 argument passed to
    clockevents_config_and_register() with tcnt_max calculated based on
    variant data.

    This fixes invalid max delta configuration for 16-bit timers of s3c24xx.

    Signed-off-by: Tomasz Figa
    Signed-off-by: Kyungmin Park
    Reviewed-by: Arnd Bergmann
    Acked-by: Kukjin Kim
    Signed-off-by: Olof Johansson

    Tomasz Figa
     
  • This patch extends the driver to support platforms that still use legacy
    ATAGS-based boot, without device tree, by providing an exported function
    that can be used from platform code to initialize the clocksource.

    Signed-off-by: Tomasz Figa
    Signed-off-by: Kyungmin Park
    Reviewed-by: Arnd Bergmann
    Acked-by: Kukjin Kim
    Signed-off-by: Olof Johansson

    Tomasz Figa
     
  • This patch modifies the driver to keep all its private data consistently
    in a single struct, instead of keeping part as separate variables.

    Signed-off-by: Tomasz Figa
    Signed-off-by: Kyungmin Park
    Reviewed-by: Arnd Bergmann
    Acked-by: Kukjin Kim
    Signed-off-by: Olof Johansson

    Tomasz Figa
     
  • This patch makes the PWM spinlock global and exports it to allow using
    it in Samsung PWM driver (will be reworked to use proper synchronization
    in further patches).

    Signed-off-by: Tomasz Figa
    Signed-off-by: Kyungmin Park
    Reviewed-by: Arnd Bergmann
    Acked-by: Kukjin Kim
    Signed-off-by: Olof Johansson

    Tomasz Figa
     
  • This patch modifies the way of enabling the driver to let the platforms
    select it in their Kconfig instead of specifying particular platforms in
    Kconfig entry of the driver.

    Signed-off-by: Tomasz Figa
    Signed-off-by: Kyungmin Park
    Reviewed-by: Arnd Bergmann
    Acked-by: Kukjin Kim
    Signed-off-by: Olof Johansson

    Tomasz Figa
     

27 Apr, 2013

2 commits

  • Hot-plugging with CONFIG_DEBUG_PREEMPT=y on a device with arm
    architected timers causes a slew of "using smp_processor_id() in
    preemptible" warnings:

    BUG: using smp_processor_id() in preemptible [00000000] code: sh/111
    caller is arch_timer_cpu_notify+0x14/0xc8

    This happens because sometimes the cpu notifier,
    arch_timer_cpu_notify(), is called in preemptible context and
    other times in non-preemptible context but we use this_cpu_ptr()
    to retrieve the clockevent in all cases. We're only going to
    actually use the pointer in non-preemptible context though, so
    push the this_cpu_ptr() access down into the cases to force the
    checks to occur only in non-preemptible contexts.

    Cc: John Stultz
    Cc: Thomas Gleixner
    Cc: Mark Rutland
    Acked-by: Marc Zyngier
    Signed-off-by: Stephen Boyd
    Signed-off-by: Olof Johansson

    Stephen Boyd
     
  • The Nomadik clocksource driver has had a bad define making it
    impossible to use it for sched_clock() for a while. Fix this
    and also enable it for the Nomadik.

    Signed-off-by: Linus Walleij
    Signed-off-by: Olof Johansson

    Linus Walleij
     

21 Apr, 2013

1 commit

  • This adds a new clocksource driver for the PWM timer that is
    present in most Samsung SoCs, based on the existing driver in
    arch/arm/plat-samsung/samsung-time.c and many changes implemented by
    Tomasz Figa.

    Originally, the conversion of all Samsung machines to the new driver was
    planned for 3.10, but that work ended up being too late and too invasive
    just before the merge window.

    Unfortunately, other changes in the Exynos platform resulted in some
    Exynos4 setups, particularly the Universal C210 board to be broken. In
    order to fix that with minimum risk, so we now leave the existing pwm
    clocksource driver in place for all older platforms and use the new
    driver only for device tree enabled boards. This way, we can get the
    broken machines running again using DT descriptions.

    All clocksource changes were implemented by Tomasz, while the DT
    registration was rewritten by Arnd.

    Signed-off-by: Arnd Bergmann
    Cc: Tomasz Figa
    Cc: Kyungmin Park
    Cc: Kukjin Kim
    Cc: Ben Dooks
    Cc: John Stultz
    Cc: Thomas Gleixner

    Tomasz Figa
     

20 Apr, 2013

2 commits


18 Apr, 2013

1 commit

  • This is the 2nd part of ARM timer clean-ups for 3.10. This series has
    the following changes:

    - Add sched_clock selection logic to select the highest frequency clock
    - Use full 64-bit arch timer counter for sched_clock
    - Convert arch timer, sp804 and integrator-cp timers to CLKSRC_OF and
    adapt all users to use clocksource_of_init

    * tag 'clksrc-cleanup-for-3.10-part2' of git://sources.calxeda.com/kernel/linux:
    devtree: add binding documentation for sp804
    ARM: integrator-cp: convert use CLKSRC_OF for timer init
    ARM: versatile: use OF init for sp804 timer
    ARM: versatile: add versatile dtbs to dtbs target
    ARM: vexpress: remove extra timer-sp control register clearing
    ARM: dts: vexpress: disable CA9 core tile sp804 timer
    ARM: vexpress: remove sp804 OF init
    ARM: highbank: use OF init for sp804 timer
    ARM: timer-sp: convert to use CLKSRC_OF init
    OF: add empty of_device_is_available for !OF
    ARM: convert arm/arm64 arch timer to use CLKSRC_OF init
    ARM: make machine_desc->init_time default to clocksource_of_init
    ARM: arch_timer: use full 64-bit counter for sched_clock
    ARM: make sched_clock just call a function pointer
    ARM: sched_clock: allow changing to higher frequency counter

    Signed-off-by: Olof Johansson

    This has a nasty set of conflicts with the exynos MCT code, which was
    moved in a separate branch, and then fixed up when merged in, but still
    conflicts a bit here. It should have been sorted out by this merge though.

    Olof Johansson
     

12 Apr, 2013

1 commit

  • This converts arm and arm64 to use CLKSRC_OF DT based initialization for
    the arch timer. A new function arch_timer_arch_init is added to allow for
    arch specific setup.

    This has a side effect of enabling sched_clock on omap5 and exynos5. There
    should not be any reason not to use the arch timers for sched_clock.

    Signed-off-by: Rob Herring
    Cc: Russell King
    Cc: Kukjin Kim
    Cc: Tony Lindgren
    Cc: Simon Horman
    Cc: Magnus Damm
    Cc: Catalin Marinas
    Cc: Will Deacon
    Cc: John Stultz
    Cc: Thomas Gleixner
    Cc: linux-samsung-soc@vger.kernel.org
    Cc: linux-omap@vger.kernel.org
    Cc: linux-sh@vger.kernel.org
    Acked-by: Santosh Shilimkar

    Rob Herring
     

11 Apr, 2013

2 commits

  • From Maxime Ripard:
    Cleanups for Allwinner sunXi architecture:
    - Remove sunxi.dtsi
    - Switch to clocksource/irqchip device tree handlers
    - Cleanup the watchdog code

    * tag 'sunxi-cleanup-for-3.10' of git://github.com/mripard/linux:
    ARM: sunxi: Rework the restart code
    irqchip: sunxi: Rename sunxi to sun4i
    irqchip: sunxi: Make use of the IRQCHIP_DECLARE macro
    clocksource: sunxi: Rename sunxi to sun4i
    clocksource: sunxi: make use of CLKSRC_OF
    clocksource: sunxi: Cleanup the timer code
    clocksource: make CLOCKSOURCE_OF_DECLARE type safe

    Signed-off-by: Olof Johansson

    Add/change conflict in drivers/clocksource/Makefile resolved.

    Olof Johansson
     
  • Bringin in clk subsystem dependencies needed by sunxi.

    * depends/clk-for-3.10: (26 commits)
    clk: sunxi: drop an unnecesary kmalloc
    clk: sunxi: drop CLK_IGNORE_UNUSED
    clk: sunxi: Add support for AXI, AHB, APB0 and APB1 gates
    clk: divider: Introduce CLK_DIVIDER_ALLOW_ZERO flag
    clk: mvebu: Use common of_clk_init() function
    clk: fix clk_mux::flags kerneldoc
    clk: allow reentrant calls into the clk framework
    clk: abstract locking out into helper functions
    clk: zynq: Add missing zynq clk header
    clk: sunxi: rename compatible strings
    arm: sunxi: Add useful information about sunxi clocks
    clk: arm: sunxi: Add a new clock driver for sunxi SOCs
    clk: ux500: Fix prcmu clocks registration
    ARM: imx: adapt clk_busy_mux to new clk_mux struct
    clk: Add composite clock type
    clk: add table lookup to mux
    clk: Fix incorrect return type in clk.c
    clk: prima2: fix return value check in sirfsoc_of_clk_init()
    clk:SPEAr1340: Correct parent clock configuration
    documentation: clk: fix couple of misspelling
    ...

    Olof Johansson
     

10 Apr, 2013

2 commits

  • …t/kgene/linux-samsung into next/drivers

    From Kukjin Kim <kgene.kim@samsung.com>:

    add suppport common clock framework for exynos

    * tag 'clk-exynos-for-v3.10' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: (73 commits)
    ARM: EXYNOS: fix compilation error introduced due to common clock migration
    clk: exynos5250: Fix divider values for sclk_mmc{0,1,2,3}
    clk: exynos4: export clocks required for fimc-is
    clk: samsung: Fix compilation error
    clk: exynos5250: register display block gate clocks to common clock framework
    clk: exynos4: Add support for SoC-specific register save list
    clk: exynos4: Add missing registers to suspend save list
    clk: exynos4: Remove E4X12 prefix from SRC_DMC register
    clk: exynos4: Add E4210 prefix to GATE_IP_PERIR register
    clk: exynos4: Add E4210 prefix to LCD1 clock registers
    clk: exynos4: Remove SoC-specific registers from save list
    clk: exynos4: Use SRC_MASK_PERIL{0,1} definitions
    clk: exynos4: Define {E,V}PLL registers
    clk: exynos4: Add missing mout_sata on Exynos4210
    clk: exynos4: Add missing CMU_TOP and ISP clocks
    clk: exynos4: Add G3D clocks
    clk: exynos4: Add camera related clock definitions
    clk: exynos4: Export mout_core clock of Exynos4210
    clk: samsung: Remove unimplemented ops for pll
    clk: exynos4: Export clocks used by exynos cpufreq drivers
    ...

    [arnd: add missing #address-cells property in mshc DT node]

    Signed-off-by: Arnd Bergmann <arnd@arndb.de>

    Arnd Bergmann
     
  • …t/kgene/linux-samsung into next/drivers

    From Kukjin Kim <kgene.kim@samsung.com>:

    add support exynos mct device tree and move into drivers/clocksource

    * tag 'mct-exynos-for-v3.10' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
    clocksource: mct: Add terminating entry for exynos_mct_ids table
    clocksource: mct: Add missing semicolons in exynos_mct.c
    ARM: EXYNOS: move mct driver to drivers/clocksource
    ARM: EXYNOS: remove static io-remapping of mct registers for Exynos5
    ARM: dts: add mct device tree node for all supported Exynos SoC's
    ARM: EXYNOS: allow dt based discovery of mct controller using clocksource_of_init
    ARM: EXYNOS: add device tree support for MCT controller driver
    ARM: EXYNOS: prepare an array of MCT interrupt numbers and use it
    ARM: EXYNOS: add a register base address variable in mct controller driver

    Conflicts:
    drivers/clocksource/Makefile
    drivers/clocksource/exynos_mct.c

    [arnd: adapt to CLOCKSOURCE_OF_DECLARE interface change]

    Signed-off-by: Arnd Bergmann <arnd@arndb.de>

    Arnd Bergmann
     

09 Apr, 2013

12 commits

  • This is a snapshot of the stable clk branch at

    git://git.linaro.org/people/mturquette/linux.git clk-for-3.10

    which is a dependency for the tegra clock changes.

    Signed-off-by: Arnd Bergmann

    Arnd Bergmann
     
  • This is a dependency for the tegra/clk branch.

    Signed-off-by: Arnd Bergmann

    Conflicts:
    drivers/clocksource/tegra20_timer.c

    Arnd Bergmann
     
  • This is a dependency for the tegra multiplatform series.

    Conflicts:
    drivers/clocksource/tegra20_timer.c

    Signed-off-by: Arnd Bergmann

    Arnd Bergmann
     
  • This is a dependency for mxs/multiplatform

    Signed-off-by: Arnd Bergmann

    Conflicts:
    drivers/clocksource/Makefile

    Arnd Bergmann
     
  • …l/git/linusw/linux-stericsson into next/multiplatform

    From Linus Walleij <linus.walleij@linaro.org>:

    Ux500 multiplatform support. This tag builds upon the MFD-specific base
    tag "ux500-multiplatform-mfd". This removes all <mach/*> dependencies
    and makes the ux500 fully multi-platform.

    * tag 'ux500-multiplatform-asoc' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson:
    ARM: ux500: build hotplug.o for ARMv7-a
    ARM: ux500: move to multiplatform
    ARM: ux500: make remaining headers local
    ARM: ux500: make irqs.h local to platform
    ARM: ux500: get rid of <mach/[hardware|db8500-regs].h>
    staging: ste_rmi4: kill platform_data hack
    ARM: ux500: move mach/msp.h to <linux/platform_data/*>
    clk: ux500: pass clock base adresses in init call
    ARM: ux500: make debug macro stand-alone
    ARM: ux500: move debugmacro to debug includes
    ARM: ux500: split out prcmu initialization
    mfd: db8500-prcmu: drop unused includes
    ARM: ux500: move PM-related PRCMU functions to machine
    mfd: db8500-prcmu: get base address from resource
    mfd: prcmu: pass a base and size with the early initcall

    Conflicts:
    arch/arm/Kconfig

    Signed-off-by: Arnd Bergmann <arnd@arndb.de>

    Arnd Bergmann
     
  • From Shawn Guo :

    The mxs cleanup for 3.10:

    * Clean up timer code and move it into drivers/clocksource
    * Clean up icoll code and move it into drivers/irqchip
    * Clean up clock code to not include headers
    * Clean up rtc-stmp3xxx, mxs-lradc and mxs-saif to not include
    headers
    * Clean up mach-mxs code to get it prepared for multiplatform support

    * tag 'mxs-cleanup-3.10' of git://git.linaro.org/people/shawnguo/linux-2.6: (26 commits)
    clocksource: mxs_timer: Add semicolon at end of line
    ARM: mxs: remove unused headers
    ARM: mxs: merge imx23 and imx28 into one machine_desc
    ARM: mxs: remove common.h
    ARM: mxs: move mxs_get_ocotp() into mach-mxs.c
    ARM: mxs: remove mm.c
    ARM: mxs: use debug_ll_io_init for low-level debug
    ARM: mxs: get ocotp base address from device tree
    ARM: mxs: remove system.c
    ARM: mxs: get reset address from device tree
    ARM: mxs: remove empty hardware.h
    ASoC: mxs-saif: remove mach header inclusion
    iio: mxs-lradc: remove unneeded mach header inclusion
    rtc: stmp3xxx: use stmp_reset_block() instead
    clk: mxs: remove the use of mach level IO accessor
    clk: mxs: get base address from device tree
    ARM: mxs: remove unneeded mach-types.h inclusion
    ARM: mxs: move icoll driver into drivers/irqchip
    ARM: mxs: call stmp_reset_block() in icoll
    ARM: mxs: get icoll base address from device tree
    ...

    Signed-off-by: Arnd Bergmann

    Arnd Bergmann
     
  • …git/swarren/linux-tegra into next/cleanup

    From Stephen Warren <swarren@wwwdotorg.org>:

    ARM: tegra: cleanup

    This branch includes various cleanup of the core Tegra support.

    * Unification of the separate board-dt-tegra*.c files into a single
    tegra.c, now that everything is DT-driven and basically identical.
    * Use of_clk_get() in the Tegra clocksource driver so that clocks are
    described in DT rather than hard-coding clock names.
    * Some cleanup of the PMC-related code, with the aim that the PMC
    "driver" contains more of the code that touches PMC registers, rather
    than spreading PMC register accesses through other files.
    * Conversion of the "PMC" driver to acquire resources describe in device
    tree rather than hard-coding them.
    * Use of common code for the CPU sleep TLB invalidation.

    This branch is based on the previous fixes pull request.

    * tag 'tegra-for-3.10-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-tegra:
    ARM: tegra: use setup_mm_for_reboot rather than explicit pgd switch
    ARM: tegra: replace the CPU power on function with PMC call
    ARM: tegra: pmc: add power on function for secondary CPUs
    ARM: tegra: pmc: convert PMC driver to support DT only
    ARM: tegra: fix the PMC compatible string in DT
    ARM: tegra: pmc: add specific compatible DT string for Tegra30 and Tegra114
    ARM: tegra: refactor tegra{20,30}_boot_secondary
    clocksource: tegra: move to of_clk_get
    ARM: tegra: Unify Device tree board files
    ARM: tegra: Rename board-dt-tegra20.c to tegra.c
    ARM: tegra: Unify tegra{20,30,114}_init_early()

    Conflicts:
    drivers/clocksource/tegra20_timer.c

    Signed-off-by: Arnd Bergmann <arnd@arndb.de>

    Arnd Bergmann
     
  • During the introduction of the Allwinner SoC platforms, sunxi was
    initially meant as a generic name for all the variants of the Allwinner
    SoC.

    It was ok at the time of the support of only the A10 and A13 that
    looks pretty much the same, but it's beginning to be troublesome with
    the future addition of the Allwinner A31 (sun6i) that is quite
    different, and would introduce some weird logic, where sunxi would
    actually mean in some case sun4i and sun5i but without sun6i...

    Moreover, it makes the compatible strings naming scheme not consistent
    with other architectures, where usually for this kind of compability, we
    just use the oldest SoC name that has this IP, so let's do just this.

    Signed-off-by: Maxime Ripard

    Maxime Ripard
     
  • Using CLKSRC_OF allows to remove the SoC specific sunxi_timer.h header,
    and instead of using a custom init function in the machine definition
    use the standard clocksource_of_init function.

    Signed-off-by: Maxime Ripard

    Maxime Ripard
     
  • The timer code was not exact to some aspects, since most of this code
    was written wihout any datasheet. Make the needed corrections to match
    the datasheet.

    Signed-off-by: Maxime Ripard

    Maxime Ripard
     
  • Maxime Ripard
     
  • From Michal Simek :

    * 'zynq/clksrc/cleanup' of git://git.xilinx.com/linux-xlnx:
    arm: zynq: Move timer to generic location
    arm: zynq: Do not use xilinx specific function names
    arm: zynq: Move timer to clocksource interface
    arm: zynq: Use standard timer binding

    Signed-off-by: Arnd Bergmann

    Arnd Bergmann
     

08 Apr, 2013

2 commits

  • mach/setup.h and mach/devices.h are only needed from inside of mach-ux500
    now, so we can simply move them out of the include/mach directory.

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

    Arnd Bergmann
     
  • This removes and
    from the Ux500, merging them into the local include
    "db8500-regs.h" in mach-ux500. There is some impact
    outside the ux500 machine, but most of it is dealt with
    in earlier patches.

    Contains portions of a clean-up patch from Arnd Bergmann.

    Cc: Samuel Ortiz
    Cc: Ulf Hansson
    Acked-by: Mike Turquette
    Signed-off-by: Arnd Bergmann
    Signed-off-by: Linus Walleij

    Linus Walleij
     

04 Apr, 2013

1 commit