22 Aug, 2012

1 commit


24 Jul, 2012

1 commit

  • Pull support for three new arm SoC types from Arnd Bergmann:

    - The mvebu platform includes Marvell's Armada XP and Armada 370 chips,
    made by the mvebu business unit inside of Marvell. Since the same
    group also made the older but similar platforms we call "orion5x",
    "kirkwood", "mv78xx0" and "dove", we plan to move all of them into
    the mach-mvebu directory in the future.

    - socfpga is Altera's platform based on Cortex-A9 cores and a lot of
    FPGA space. This is similar to the Xilinx zynq platform we already
    support. The code is particularly clean, which is helped by the fact
    that the hardware doesn't do much besides the parts that are expected
    to get added in the FPGA.

    - The OMAP subarchitecture gains support for the latest generation, the
    OMAP5 based on the new Cortex-A15 core. Support is rather
    rudimentary for now, but will be extended in the future.

    * tag 'newsoc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (25 commits)
    ARM: socfpga: initial support for Altera's SOCFPGA platform
    arm: mvebu: generate DTBs for supported SoCs
    ARM: mvebu: MPIC: read number of interrupts from control register
    arm: mach-mvebu: add entry to MAINTAINERS
    arm: mach-mvebu: add compilation/configuration change
    arm: mach-mvebu: add defconfig
    arm: mach-mvebu: add documentation for new device tree bindings
    arm: mach-mvebu: add support for Armada 370 and Armada XP with DT
    arm: mach-mvebu: add source files
    arm: mach-mvebu: add header
    clocksource: time-armada-370-xp: Marvell Armada 370/XP SoC timer driver
    ARM: Kconfig update to support additional GPIOs in OMAP5
    ARM: OMAP5: Add the build support
    arm/dts: OMAP5: Add omap5 dts files
    ARM: OMAP5: board-generic: Add device tree support
    ARM: omap2+: board-generic: clean up the irq data from board file
    ARM: OMAP5: Add SMP support
    ARM: OMAP5: Add the WakeupGen IP updates
    ARM: OMAP5: l3: Add l3 error handler support for omap5
    ARM: OMAP5: gpmc: Update gpmc_init()
    ...

    Conflicts:
    Documentation/devicetree/bindings/arm/omap/omap.txt
    arch/arm/mach-omap2/Makefile
    drivers/clocksource/Kconfig
    drivers/clocksource/Makefile

    Linus Torvalds
     

12 Jul, 2012

1 commit

  • Make a common device tree glue for clocksource/dw_apb_timer.
    Move mach-picoxcell/time.c to be a generic device tree application
    of the dw_apb_timer.

    Configure mach-picoxcell to use the dw_apb_timer_of device tree
    implementation in drivers/clocksource.

    Signed-off-by: Pavel Machek
    Signed-off-by: Dinh Nguyen
    Acked-by: Jamie Iles
    Acked-by: Thomas Gleixner
    Signed-off-by: Arnd Bergmann

    Dinh Nguyen
     

10 Jul, 2012

1 commit


11 Jun, 2012

4 commits


25 May, 2012

2 commits

  • Update the em-sti driver to support DT.

    Signed-off-by: Magnus Damm
    Cc: arnd@arndb.de
    Cc: horms@verge.net.au
    Cc: johnstul@us.ibm.com
    Cc: rjw@sisk.pl
    Cc: lethal@linux-sh.org
    Cc: gregkh@linuxfoundation.org
    Cc: olof@lixom.net
    Link: http://lkml.kernel.org/r/20120509143950.27521.7949.sendpatchset@w520
    Signed-off-by: Thomas Gleixner

    Magnus Damm
     
  • The STI hardware is based on a single 48-bit 32kHz
    counter that together with two individual compare
    registers can generate interrupts. There are no
    timer operating modes selectable which means that
    the timer can not clear on match.

    This driver is providing clocksource support for the
    48-bit counter. Clockevents are also supported using
    the same timer in oneshot mode.

    Signed-off-by: Magnus Damm
    Cc: horms@verge.net.au
    Cc: arnd@arndb.de
    Cc: johnstul@us.ibm.com
    Cc: rjw@sisk.pl
    Cc: lethal@linux-sh.org
    Cc: gregkh@linuxfoundation.org
    Cc: olof@lixom.net
    Link: http://lkml.kernel.org/r/20120525070344.23443.69756.sendpatchset@w520
    Signed-off-by: Thomas Gleixner

    Magnus Damm
     

02 May, 2012

1 commit

  • This platform has been obsoleted and was only available inside of
    ST-Ericsson, no users of this code are left in the world. This
    deletes the core U5500 support entirely in the same manner as the
    obsoleted U8500 silicon was previously deleted.

    The cpu_is_u5500() macros that can read out the CPU ID is left
    until the next kernel cycle, this makes it possible to merge
    deletion of dependent drivers without breakage.

    This also has the upside of removing the mailbox driver which was
    our only driver that was outside the drivers/* hiearchy, now the
    machine directory only handles machines and nothing else.

    Cc: Srinidhi Kasagar
    Cc: Rabin Vincent
    Cc: Jonas Aberg
    Cc: Per Forlin
    Cc: Ulf Hansson
    Signed-off-by: Linus Walleij

    Linus Walleij
     

12 Apr, 2012

1 commit

  • This reverts commit b519508298e0292e1771eecf14aaf67755adc39d.

    The reason for this revert is that making the frequency verification
    preemptible and interruptible is not working reliably. Michaels
    machine failed to use PM-timer with the message:

    PM-Timer running at invalid rate: 113% of normal - aborting.

    That's not a surprise as the frequency verification does rely on
    interrupts being disabled. With a async scheduled thread there is no
    guarantee to achieve the same result. Also some driver might fiddle
    with the CTC channel 2 during the verification period, which makes the
    result even more random and unpredictable.

    This can be solved by using the same mechanism as we use in the
    deferred TSC validation code, but that only will work if we verified a
    working HPET _BEFORE_ trying to do the PM-Timer lazy validation.

    So for now reverting is the safe option.

    Bisected-by: Michael Witten
    Cc: Arjan van de Ven
    Cc: Arjan van de Ven
    Cc: John Stultz
    Cc: Len Brown
    LKML-Reference:
    Signed-off-by: Thomas Gleixner

    Thomas Gleixner
     

30 Mar, 2012

1 commit

  • Pull more ARM updates from Russell King.

    This got a fair number of conflicts with the split, but
    also with some other sparse-irq and header file include cleanups. They
    all looked pretty trivial, though.

    * 'for-linus' of git://git.linaro.org/people/rmk/linux-arm: (59 commits)
    ARM: fix Kconfig warning for HAVE_BPF_JIT
    ARM: 7361/1: provide XIP_VIRT_ADDR for no-MMU builds
    ARM: 7349/1: integrator: convert to sparse irqs
    ARM: 7259/3: net: JIT compiler for packet filters
    ARM: 7334/1: add jump label support
    ARM: 7333/2: jump label: detect %c support for ARM
    ARM: 7338/1: add support for early console output via semihosting
    ARM: use set_current_blocked() and block_sigmask()
    ARM: exec: remove redundant set_fs(USER_DS)
    ARM: 7332/1: extract out code patch function from kprobes
    ARM: 7331/1: extract out insn generation code from ftrace
    ARM: 7330/1: ftrace: use canonical Thumb-2 wide instruction format
    ARM: 7351/1: ftrace: remove useless memory checks
    ARM: 7316/1: kexec: EOI active and mask all interrupts in kexec crash path
    ARM: Versatile Express: add NO_IOPORT
    ARM: get rid of asm/irq.h in asm/prom.h
    ARM: 7319/1: Print debug info for SIGBUS in user faults
    ARM: 7318/1: gic: refactor irq_start assignment
    ARM: 7317/1: irq: avoid NULL check in for_each_irq_desc loop
    ARM: 7315/1: perf: add support for the Cortex-A7 PMU
    ...

    Linus Torvalds
     

28 Mar, 2012

1 commit

  • Pull "ARM: device tree work" from Arnd Bergmann:
    "Most of these patches convert code from using static platform data to
    describing the hardware in the device tree. This is only the first
    half of the changes for v3.4 because a lot of patches for this topic
    came in the last week before the merge window.

    Signed-off-by: Arnd Bergmann "

    Fix up trivial conflicts in arch/arm/mach-vexpress/{Kconfig,core.h}

    * tag 'dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (86 commits)
    Document: devicetree: add OF documents for arch-mmp
    ARM: dts: append DTS file of pxa168
    ARM: mmp: append OF support on pxa168
    ARM: mmp: enable rtc clk in pxa168
    i2c: pxa: add OF support
    serial: pxa: add OF support
    arm/dts: mt_ventoux: very basic support for TeeJet Mt.Ventoux board
    ARM: OMAP2+: Remove extra ifdefs for board-generic
    ARM: OMAP2+: Fix build error when only ARCH_OMAP2/3 or 4 is selected
    ASoC: DT: Add digital microphone binding to PAZ00 board.
    ARM: dt: Add ARM PMU to tegra*.dtsi
    ARM: at91: at91sam9x5cm/dt: add leds support
    ARM: at91: usb_a9g20/dt: add gpio-keys support
    ARM: at91: at91sam9m10g45ek/dt: add gpio-keys support
    ARM: at91: at91sam9m10g45ek/dt: add leds support
    ARM: at91: usb_a9g20/dt: add leds support
    ARM: at91/pio: add new PIO3 features
    ARM: at91: add sam9_smc.o to at91sam9x5 build
    ARM: at91/tc/clocksource: Add 32 bit variant to Timer Counter
    ARM: at91/tc: add device tree support to atmel_tclib
    ...

    Linus Torvalds
     

27 Mar, 2012

1 commit


22 Mar, 2012

1 commit

  • Pull power management updates for 3.4 from Rafael Wysocki:
    "Assorted extensions and fixes including:

    * Introduction of early/late suspend/hibernation device callbacks.
    * Generic PM domains extensions and fixes.
    * devfreq updates from Axel Lin and MyungJoo Ham.
    * Device PM QoS updates.
    * Fixes of concurrency problems with wakeup sources.
    * System suspend and hibernation fixes."

    * tag 'pm-for-3.4' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (43 commits)
    PM / Domains: Check domain status during hibernation restore of devices
    PM / devfreq: add relation of recommended frequency.
    PM / shmobile: Make MTU2 driver use pm_genpd_dev_always_on()
    PM / shmobile: Make CMT driver use pm_genpd_dev_always_on()
    PM / shmobile: Make TMU driver use pm_genpd_dev_always_on()
    PM / Domains: Introduce "always on" device flag
    PM / Domains: Fix hibernation restore of devices, v2
    PM / Domains: Fix handling of wakeup devices during system resume
    sh_mmcif / PM: Use PM QoS latency constraint
    tmio_mmc / PM: Use PM QoS latency constraint
    PM / QoS: Make it possible to expose PM QoS latency constraints
    PM / Sleep: JBD and JBD2 missing set_freezable()
    PM / Domains: Fix include for PM_GENERIC_DOMAINS=n case
    PM / Freezer: Remove references to TIF_FREEZE in comments
    PM / Sleep: Add more wakeup source initialization routines
    PM / Hibernate: Enable usermodehelpers in hibernate() error path
    PM / Sleep: Make __pm_stay_awake() delete wakeup source timers
    PM / Sleep: Fix race conditions related to wakeup source timer function
    PM / Sleep: Fix possible infinite loop during wakeup source destruction
    PM / Hibernate: print physical addresses consistently with other parts of kernel
    ...

    Linus Torvalds
     

17 Mar, 2012

3 commits


06 Mar, 2012

2 commits

  • Shared timer IRQs are not a good solution, however the Geode platform has
    no APIC, IRQs are a scarce resource and there is no technical reason to
    forbid it rightaway. Increased latencies and overhead due to sharing are
    still better than a driver refusing to load.

    Signed-off-by: Jens Rottmann
    Acked-by: Andres Salomon
    Cc: John Stultz
    Signed-off-by: Andrew Morton
    Signed-off-by: Thomas Gleixner

    Jens Rottmann
     
  • On SMP-capable kernels (e.g. generic distro kernel) the cs5535-clockevt
    driver loads but is not actually used.

    Setting cpumask to cpu_all_mask works for UP-only kernels, but if compiled
    for SMP - though still running on the same UP hardware -
    kernel/time/tick-common.c:tick_check_new_device() reads this as
    "non-cpu-local" and silently ignores the device.

    If we leave cpumask unset clockevents_register_device() will initialize it
    and the cs5535-clockevt driver will be used no matter how the kernel was
    compiled. Should anyone ever manage to stick a CS553x in an SMP system
    (is this even possible?) then a warning will be printed. This is fine as
    the cs5535-clockevt driver was never written/tested for SMP.

    If bisecting led you here this patch may have exposed a pre-existing MFGPT
    problem. Configure for UP-only and re-check.

    Signed-off-by: Jens Rottmann
    Acked-by: Andres Salomon
    Cc: John Stultz
    Signed-off-by: Andrew Morton
    Signed-off-by: Thomas Gleixner

    Jens Rottmann
     

01 Mar, 2012

1 commit

  • Some SoC have a 32 bit variant of Timer Counter Blocks. We do not
    need the chaining of two 16 bit counters anymore for them.

    The SoC nature is deduced from the device tree "compatible" string.
    For non-device-tree configurations, backward compatibility is maintained
    by using the default 16 bit counter configuration.

    This patch addresses both the atmel_tclib and its user: tcb_clksrc
    clocksource.

    Signed-off-by: Nicolas Ferre
    Acked-by: Jean-Christophe PLAGNIOL-VILLARD
    Acked-by: Grant Likely

    Nicolas Ferre
     

22 Feb, 2012

1 commit

  • This commit:

    12d6d41276de: clocksource: scx200_hrt: Convert scx200 to use clocksource_register_hz

    Breaks the build on x86-32:

    drivers/clocksource/scx200_hrt.c: In function ‘init_hrt_clocksource’:
    drivers/clocksource/scx200_hrt.c:95:0: error: unterminated argument list invoking macro "pr_info"
    drivers/clocksource/scx200_hrt.c:84:2: error: ‘pr_info’ undeclared (first use in this function)

    It could not possibly have been build tested, because it had this mismerge:

    pr_info("enabling scx200 high-res timer (%s MHz +%d ppm)\n",
    printk(KERN_INFO "enabling scx200 high-res timer (%s MHz +%d ppm)\n",
    mhz27 ? "27":"1", ppm);

    Cc: Jim Cromie
    Cc: John Stultz
    Link: http://lkml.kernel.org/n/tip-jceb26fns5w7tv8edlivhxpa@git.kernel.org
    Signed-off-by: Ingo Molnar

    Ingo Molnar
     

02 Feb, 2012

4 commits


27 Jan, 2012

1 commit

  • Add missing iounmap in error handling code, in a case where the function
    already preforms iounmap on some other execution path.

    A simplified version of the semantic match that finds this problem is as
    follows: (http://coccinelle.lip6.fr/)

    //
    @@
    expression e;
    statement S,S1;
    int ret;
    @@
    e = \(ioremap\|ioremap_nocache\)(...)
    ... when != iounmap(e)
    if () S
    ... when any
    when != iounmap(e)
    *if (...)
    { ... when != iounmap(e)
    return ...; }
    ... when any
    iounmap(e);
    //

    Signed-off-by: Julia Lawall
    [fixed up subject -jstultz]
    Signed-off-by: John Stultz

    Julia Lawall
     

07 Jan, 2012

1 commit

  • * 'for-linus' of git://ftp.arm.linux.org.uk/pub/linux/arm/kernel/git-cur/linux-2.6-arm: (207 commits)
    ARM: 7267/1: Remove BUILD_BUG_ON from asm/bug.h
    ARM: 7269/1: mach-sa1100: fix sched_clock breakage
    ARM: 7198/1: arm/imx6: add restart support for imx6q
    ARM: restart: remove the now empty arch_reset()
    ARM: restart: remove comments about adding code to arch_reset()
    ARM: restart: lpc32xx & u300: remove unnecessary printk
    ARM: restart: plat-samsung: remove plat/reset.h and s5p_reset_hook
    ARM: restart: w90x900: use new restart hook
    ARM: restart: Versatile Express: use new restart hook
    ARM: restart: versatile: use new restart hook
    ARM: restart: u300: use new restart hook
    ARM: restart: tegra: use new restart hook
    ARM: restart: spear: use new restart hook
    ARM: restart: shark: use new restart hook
    ARM: restart: sa1100: use new restart hook
    ARM: 7252/1: restart: S5PV210: use new restart hook
    ARM: 7251/1: restart: S5PC100: use new restart hook
    ARM: 7250/1: restart: S5P64X0: use new restart hook
    ARM: 7266/1: restart: S3C64XX: use new restart hook
    ARM: 7265/1: restart: S3C24XX: use new restart hook
    ...

    Fix up trivial conflict in arch/arm/mm/init.c due to removal of
    memblock_init() clashing with the movement of the sorting of the meminfo
    array.

    Linus Torvalds
     

03 Jan, 2012

1 commit


06 Dec, 2011

1 commit


22 Nov, 2011

3 commits

  • Convert tcb_clksrc to use clocksource_register_hz.

    CC: Nikolaus Voss
    CC: Thomas Gleixner
    Acked-by: Nikolaus Voss
    Signed-off-by: John Stultz

    John Stultz
     
  • The i8253 clockevent & clocksource driver uses PIT_LATCH
    except for two cases where it uses LATCH:

    1)
    /* VIA686a test code... reset the latch if count > max + 1 */
    if (count > LATCH) {

    LATCH is based on CLOCK_TICK_RATE which is defined as
    PIT_TICK_RATE on x86 so this should just be the later.

    2)
    ...
    switch (mode) {
    case CLOCK_EVT_MODE_PERIODIC:
    /* binary, mode 2, LSB/MSB, ch 0 */
    outb_p(0x34, PIT_MODE);
    outb_p(LATCH & 0xff , PIT_CH0); /* LSB */
    outb_p(LATCH >> 8 , PIT_CH0); /* MSB */
    ...

    MIPS and ARM are the only other arches that use this driver. In
    the MIPS case CLOCK_TICK_RATE is defined as the same value as
    PIT_TICK_RATE. For ARM, the only machine that uses it is
    Footbridge which has a totally bogus CLOCK_TICK_RATE according
    to the comments. Furthermore, the clockevent_i8253_init()
    initializes the clockevent with PIT_TIC_RATE, so there's
    no reason to use the generic LATCH.

    This is part of work to remove and depecrate the global
    CLOCK_TICK_RATE symbol.

    Signed-off-by: Deepak Saxena
    Signed-off-by: John Stultz

    Deepak Saxena
     
  • The acpi_pm clocksource driver uses CLOCK_TICK_RATE which is
    defined as PIT_TICK_RATE on x86. This patch cleans it up to
    just use the later so that CLOCK_TICK_RATE can be depecrated.

    Signed-off-by: Deepak Saxena
    Signed-off-by: John Stultz

    Deepak Saxena
     

07 Nov, 2011

1 commit

  • * 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux: (230 commits)
    Revert "tracing: Include module.h in define_trace.h"
    irq: don't put module.h into irq.h for tracking irqgen modules.
    bluetooth: macroize two small inlines to avoid module.h
    ip_vs.h: fix implicit use of module_get/module_put from module.h
    nf_conntrack.h: fix up fallout from implicit moduleparam.h presence
    include: replace linux/module.h with "struct module" wherever possible
    include: convert various register fcns to macros to avoid include chaining
    crypto.h: remove unused crypto_tfm_alg_modname() inline
    uwb.h: fix implicit use of asm/page.h for PAGE_SIZE
    pm_runtime.h: explicitly requires notifier.h
    linux/dmaengine.h: fix implicit use of bitmap.h and asm/page.h
    miscdevice.h: fix up implicit use of lists and types
    stop_machine.h: fix implicit use of smp.h for smp_processor_id
    of: fix implicit use of errno.h in include/linux/of.h
    of_platform.h: delete needless include
    acpi: remove module.h include from platform/aclinux.h
    miscdevice.h: delete unnecessary inclusion of module.h
    device_cgroup.h: delete needless include
    net: sch_generic remove redundant use of
    net: inet_timewait_sock doesnt need
    ...

    Fix up trivial conflicts (other header files, and removal of the ab3550 mfd driver) in
    - drivers/media/dvb/frontends/dibx000_common.c
    - drivers/media/video/{mt9m111.c,ov6650.c}
    - drivers/mfd/ab3550-core.c
    - include/linux/dmaengine.h

    Linus Torvalds
     

02 Nov, 2011

1 commit

  • * 'next/timer' of git://git.linaro.org/people/arnd/arm-soc:
    clocksource: fixup ux500 build problems
    ARM: omap: use __devexit_p in dmtimer driver
    ARM: ux500: Reprogram timers upon resume
    ARM: plat-nomadik: timer: Export reset functions
    ARM: plat-nomadik: timer: Add support for periodic timers
    ARM: ux500: Move timer code to separate file
    ARM: ux500: add support for clocksource DBX500 PRCMU
    clocksource: add DBX500 PRCMU Timer support
    ARM: plat-nomadik: MTU sched_clock as an option
    ARM: OMAP: dmtimer: add error handling to export APIs
    ARM: OMAP: dmtimer: low-power mode support
    ARM: OMAP: dmtimer: skip reserved timers
    ARM: OMAP: dmtimer: pm_runtime support
    ARM: OMAP: dmtimer: switch-over to platform device driver
    ARM: OMAP: dmtimer: platform driver
    ARM: OMAP2+: dmtimer: convert to platform devices
    ARM: OMAP1: dmtimer: conversion to platform devices
    ARM: OMAP2+: dmtimer: add device names to flck nodes
    ARM: OMAP: Add support for dmtimer v2 ip

    Linus Torvalds
     

01 Nov, 2011

1 commit


26 Oct, 2011

1 commit

  • * 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (23 commits)
    time, s390: Get rid of compile warning
    dw_apb_timer: constify clocksource name
    time: Cleanup old CONFIG_GENERIC_TIME references that snuck in
    time: Change jiffies_to_clock_t() argument type to unsigned long
    alarmtimers: Fix error handling
    clocksource: Make watchdog reset lockless
    posix-cpu-timers: Cure SMP accounting oddities
    s390: Use direct ktime path for s390 clockevent device
    clockevents: Add direct ktime programming function
    clockevents: Make minimum delay adjustments configurable
    nohz: Remove "Switched to NOHz mode" debugging messages
    proc: Consider NO_HZ when printing idle and iowait times
    nohz: Make idle/iowait counter update conditional
    nohz: Fix update_ts_time_stat idle accounting
    cputime: Clean up cputime_to_usecs and usecs_to_cputime macros
    alarmtimers: Rework RTC device selection using class interface
    alarmtimers: Add try_to_cancel functionality
    alarmtimers: Add more refined alarm state tracking
    alarmtimers: Remove period from alarm structure
    alarmtimers: Remove interval cap limit hack
    ...

    Linus Torvalds
     

05 Oct, 2011

1 commit


03 Oct, 2011

1 commit

  • Based on a patch from Arnd Bergmann this fixes up the build
    problem of assigning a non-existing global when the ux500 PRCMU
    timer is not linked in by passing its base address to the init
    function. We also add a missing inclusion and
    staticize the dummy function.

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

    Linus Walleij