]> Git Repo - linux.git/commitdiff
Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
authorLinus Torvalds <[email protected]>
Tue, 25 Dec 2018 23:44:08 +0000 (15:44 -0800)
committerLinus Torvalds <[email protected]>
Tue, 25 Dec 2018 23:44:08 +0000 (15:44 -0800)
Pull timer updates from Thomas Gleixner:
 "The timer department delivers the following christmas presents:

  Core code:

   - Use proper seqcount initializer to make lockdep happy

   - SPDX annotations and cleanup of license boilerplates

   - Use DEFINE_SHOW_ATTRIBUTE() instead of open coding it

   - Minor cleanups

  Driver code:

   - Add the sched_clock for the arc timer (Alexey Brodkin)

   - Change the file timer names for riscv, rockchip, tegra20, sun4i and
     meson6 (Daniel Lezcano)

   - Add the DT bindings for r8a7796, r8a77470 and r8a774a1 (Biju Das)

   - Remove the early platform driver registration for timer-ti-dm
     (Bartosz Golaszewski)

   - Provide the sched_clock for the riscv timer (Anup Patel)

   - Add support for ARM64 for the imx-gpt and convert the imx-tpm to
     the timer-of API (Anson Huang)

   - Remove useless irq protection for the imx-gpt (Clément Péron)

   - Remove a duplicate function name for the vt8500 (Dan Carpenter)

   - Remove obsolete inclusion of <asm/smp_twd.h> for the tegra20 (Geert
     Uytterhoeven)

   - Demote the prcmu and the custom sched_clock for the dbx500 and the
     ux500 (Linus Walleij)

   - Add a new timer clock for the RDA8810PL (Manivannan Sadhasivam)

   - Rename the macro to stick to the register name and add the delay
     timer (Martin Blumenstingl)

   - Switch the bcm2835 to the SPDX identifier (Stefan Wahren)

   - Fix the interrupt register access on the fttmr010 (Tao Ren)

   - Add missing of_node_put in the initialization path on the
     integrator-ap (Yangtao Li)"

* 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (39 commits)
  dt-bindings: timer: Document RDA8810PL SoC timer
  clocksource/drivers/rda: Add clock driver for RDA8810PL SoC
  clocksource/drivers/meson6: Change name meson6_timer timer-meson6
  clocksource/drivers/sun4i: Change name sun4i_timer to timer-sun4i
  clocksource/drivers/tegra20: Change name tegra20_timer to timer-tegra20
  clocksource/drivers/rockchip: Change name rockchip_timer to timer-rockchip
  clocksource/drivers/riscv: Change name riscv_timer to timer-riscv
  clocksource/drivers/riscv_timer: Provide the sched_clock
  clocksource/drivers/timer-imx-tpm: Specify clock name for timer-of
  clocksource/drivers/fttmr010: Fix invalid interrupt register access
  clocksource/drivers/integrator-ap: Add missing of_node_put()
  clocksource/drivers/bcm2835: Switch to SPDX identifier
  dt-bindings: timer: renesas, cmt: Document r8a774a1 CMT support
  clocksource/drivers/timer-imx-tpm: Convert the driver to timer-of
  clocksource/drivers/arc_timer: Utilize generic sched_clock
  dt-bindings: timer: renesas, cmt: Document r8a77470 CMT support
  dt-bindings: timer: renesas, cmt: Document r8a7796 CMT support
  clocksource/drivers/imx-gpt: Remove unnecessary irq protection
  clocksource/drivers/imx-gpt: Add support for ARM64
  clocksource/drivers/meson6_timer: Implement the ARM delay timer
  ...

1  2 
arch/arc/Kconfig
kernel/time/posix-timers.c

diff --combined arch/arc/Kconfig
index 6dd7835573308602f6be4c3e71d654b19390a0f1,74b5a654f664da1e4828c39fb38a5f8921ae789d..dadb494d83fd4645238fd227ab84d77341055ce0
@@@ -26,6 -26,7 +26,7 @@@ config AR
        select GENERIC_IRQ_SHOW
        select GENERIC_PCI_IOMAP
        select GENERIC_PENDING_IRQ if SMP
+       select GENERIC_SCHED_CLOCK
        select GENERIC_SMP_IDLE_THREAD
        select HAVE_ARCH_KGDB
        select HAVE_ARCH_TRACEHOOK
@@@ -109,7 -110,7 +110,7 @@@ endmen
  
  choice
        prompt "ARC Instruction Set"
 -      default ISA_ARCOMPACT
 +      default ISA_ARCV2
  
  config ISA_ARCOMPACT
        bool "ARCompact ISA"
@@@ -176,11 -177,13 +177,11 @@@ endchoic
  
  config CPU_BIG_ENDIAN
        bool "Enable Big Endian Mode"
 -      default n
        help
          Build kernel for Big Endian Mode of ARC CPU
  
  config SMP
        bool "Symmetric Multi-Processing"
 -      default n
        select ARC_MCIP if ISA_ARCV2
        help
          This enables support for systems with more than one CPU.
@@@ -252,6 -255,7 +253,6 @@@ config ARC_CACHE_PAGE
  config ARC_CACHE_VIPT_ALIASING
        bool "Support VIPT Aliasing D$"
        depends on ARC_HAS_DCACHE && ISA_ARCOMPACT
 -      default n
  
  endif #ARC_CACHE
  
@@@ -259,6 -263,7 +260,6 @@@ config ARC_HAS_ICC
        bool "Use ICCM"
        help
          Single Cycle RAMS to store Fast Path Code
 -      default n
  
  config ARC_ICCM_SZ
        int "ICCM Size in KB"
@@@ -269,6 -274,7 +270,6 @@@ config ARC_HAS_DCC
        bool "Use DCCM"
        help
          Single Cycle RAMS to store Fast Path Data
 -      default n
  
  config ARC_DCCM_SZ
        int "DCCM Size in KB"
@@@ -361,11 -367,13 +362,11 @@@ if ISA_ARCOMPAC
  
  config ARC_COMPACT_IRQ_LEVELS
        bool "Setup Timer IRQ as high Priority"
 -      default n
        # if SMP, LV2 enabled ONLY if ARC implementation has LV2 re-entrancy
        depends on !SMP
  
  config ARC_FPU_SAVE_RESTORE
        bool "Enable FPU state persistence across context switch"
 -      default n
        help
          Double Precision Floating Point unit had dedicated regs which
          need to be saved/restored across context-switch.
@@@ -446,6 -454,7 +447,6 @@@ config HIGHME
  
  config ARC_HAS_PAE40
        bool "Support for the 40-bit Physical Address Extension"
 -      default n
        depends on ISA_ARCV2
        select HIGHMEM
        select PHYS_ADDR_T_64BIT
@@@ -488,6 -497,7 +489,6 @@@ config H
  
  config ARC_METAWARE_HLINK
        bool "Support for Metaware debugger assisted Host access"
 -      default n
        help
          This options allows a Linux userland apps to directly access
          host file system (open/creat/read/write etc) with help from
@@@ -515,11 -525,13 +516,11 @@@ config ARC_DW2_UNWIN
  
  config ARC_DBG_TLB_PARANOIA
        bool "Paranoia Checks in Low Level TLB Handlers"
 -      default n
  
  endif
  
  config ARC_UBOOT_SUPPORT
        bool "Support uboot arg Handling"
 -      default n
        help
          ARC Linux by default checks for uboot provided args as pointers to
          external cmdline or DTB. This however breaks in absence of uboot,
index 31f49ae80f43dd76e5eea85416dc362b45e60780,dd70ced15a3640823295a508d3030369c2a96461..0e84bb72a3dab8d6f1cb2f227790b3f36e000baf
@@@ -1,34 -1,13 +1,13 @@@
+ // SPDX-License-Identifier: GPL-2.0+
  /*
-  * linux/kernel/posix-timers.c
-  *
-  *
   * 2002-10-15  Posix Clocks & timers
   *                           by George Anzinger [email protected]
-  *
   *                         Copyright (C) 2002 2003 by MontaVista Software.
   *
   * 2004-06-01  Fix CLOCK_REALTIME clock/timer TIMER_ABSTIME bug.
   *                         Copyright (C) 2004 Boris Hu
   *
-  * This program is free software; you can redistribute it and/or modify
-  * it under the terms of the GNU General Public License as published by
-  * the Free Software Foundation; either version 2 of the License, or (at
-  * your option) any later version.
-  *
-  * This program is distributed in the hope that it will be useful, but
-  * WITHOUT ANY WARRANTY; without even the implied warranty of
-  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-  * General Public License for more details.
-  * You should have received a copy of the GNU General Public License
-  * along with this program; if not, write to the Free Software
-  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-  *
-  * MontaVista Software | 1237 East Arques Avenue | Sunnyvale | CA 94085 | USA
-  */
- /* These are all the functions necessary to implement
-  * POSIX clocks & timers
+  * These are all the functions necessary to implement POSIX clocks & timers
   */
  #include <linux/mm.h>
  #include <linux/interrupt.h>
@@@ -289,6 -268,9 +268,6 @@@ static void common_hrtimer_rearm(struc
  {
        struct hrtimer *timer = &timr->it.real.timer;
  
 -      if (!timr->it_interval)
 -              return;
 -
        timr->it_overrun += hrtimer_forward(timer, timer->base->get_time(),
                                            timr->it_interval);
        hrtimer_restart(timer);
@@@ -314,7 -296,7 +293,7 @@@ void posixtimer_rearm(struct kernel_sig
        if (!timr)
                return;
  
 -      if (timr->it_requeue_pending == info->si_sys_private) {
 +      if (timr->it_interval && timr->it_requeue_pending == info->si_sys_private) {
                timr->kclock->timer_rearm(timr);
  
                timr->it_active = 1;
This page took 0.081624 seconds and 4 git commands to generate.