Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
authorLinus Torvalds <torvalds@linux-foundation.org>
Tue, 13 Dec 2016 03:56:15 +0000 (19:56 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 13 Dec 2016 03:56:15 +0000 (19:56 -0800)
Pull timer updates from Thomas Gleixner:
 "The time/timekeeping/timer folks deliver with this update:

   - Fix a reintroduced signed/unsigned issue and cleanup the whole
     signed/unsigned mess in the timekeeping core so this wont happen
     accidentaly again.

   - Add a new trace clock based on boot time

   - Prevent injection of random sleep times when PM tracing abuses the
     RTC for storage

   - Make posix timers configurable for real tiny systems

   - Add tracepoints for the alarm timer subsystem so timer based
     suspend wakeups can be instrumented

   - The usual pile of fixes and updates to core and drivers"

* 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (23 commits)
  timekeeping: Use mul_u64_u32_shr() instead of open coding it
  timekeeping: Get rid of pointless typecasts
  timekeeping: Make the conversion call chain consistently unsigned
  timekeeping_Force_unsigned_clocksource_to_nanoseconds_conversion
  alarmtimer: Add tracepoints for alarm timers
  trace: Update documentation for mono, mono_raw and boot clock
  trace: Add an option for boot clock as trace clock
  timekeeping: Add a fast and NMI safe boot clock
  timekeeping/clocksource_cyc2ns: Document intended range limitation
  timekeeping: Ignore the bogus sleep time if pm_trace is enabled
  selftests/timers: Fix spelling mistake "Asyncrhonous" -> "Asynchronous"
  clocksource/drivers/bcm2835_timer: Unmap region obtained by of_iomap
  clocksource/drivers/arm_arch_timer: Map frame with of_io_request_and_map()
  arm64: dts: rockchip: Arch counter doesn't tick in system suspend
  clocksource/drivers/arm_arch_timer: Don't assume clock runs in suspend
  posix-timers: Make them configurable
  posix_cpu_timers: Move the add_device_randomness() call to a proper place
  timer: Move sys_alarm from timer.c to itimer.c
  ptp_clock: Allow for it to be optional
  Kconfig: Regenerate *.c_shipped files after previous changes
  ...

18 files changed:
1  2 
arch/arm64/boot/dts/rockchip/rk3399.dtsi
drivers/net/ethernet/amd/Kconfig
drivers/net/ethernet/amd/xgbe/xgbe-main.c
drivers/net/ethernet/broadcom/Kconfig
drivers/net/ethernet/cavium/Kconfig
drivers/net/ethernet/freescale/Kconfig
drivers/net/ethernet/mellanox/mlx5/core/Kconfig
drivers/net/ethernet/sfc/Kconfig
drivers/net/ethernet/stmicro/stmmac/Kconfig
drivers/net/ethernet/ti/Kconfig
drivers/rtc/rtc-cmos.c
include/linux/ptp_clock_kernel.h
init/Kconfig
kernel/exit.c
kernel/fork.c
kernel/time/posix-cpu-timers.c
kernel/time/timer.c
kernel/trace/trace.c

@@@ -173,13 -173,11 +173,13 @@@ config SUNLANC
  
  config AMD_XGBE
        tristate "AMD 10GbE Ethernet driver"
 -      depends on ((OF_NET && OF_ADDRESS) || ACPI) && HAS_IOMEM && HAS_DMA
 -      depends on ARM64 || COMPILE_TEST
 +      depends on ((OF_NET && OF_ADDRESS) || ACPI || PCI) && HAS_IOMEM && HAS_DMA
 +      depends on X86 || ARM64 || COMPILE_TEST
        select BITREVERSE
        select CRC32
-       select PTP_1588_CLOCK
 +      select PHYLIB
 +      select AMD_XGBE_HAVE_ECC if X86
+       imply PTP_1588_CLOCK
        ---help---
          This driver supports the AMD 10GbE Ethernet device found on an
          AMD SoC.
@@@ -448,10 -813,9 +449,11 @@@ void xgbe_deconfig_netdev(struct xgbe_p
  
        xgbe_debugfs_exit(pdata);
  
-       xgbe_ptp_unregister(pdata);
+       if (IS_REACHABLE(CONFIG_PTP_1588_CLOCK))
+               xgbe_ptp_unregister(pdata);
  
 +      pdata->phy_if.phy_exit(pdata);
 +
        flush_workqueue(pdata->an_workqueue);
        destroy_workqueue(pdata->an_workqueue);
  
Simple merge
Simple merge
@@@ -5,10 -5,11 +5,10 @@@ config SF
        select CRC32
        select I2C
        select I2C_ALGOBIT
-       select PTP_1588_CLOCK
+       imply PTP_1588_CLOCK
        ---help---
          This driver supports 10/40-gigabit Ethernet cards based on
 -        the Solarflare SFC4000, SFC9000-family and SFC9100-family
 -        controllers.
 +        the Solarflare SFC9000-family and SFC9100-family controllers.
  
          To compile this driver as a module, choose M here.  The module
          will be called sfc.
@@@ -74,14 -74,13 +74,14 @@@ config TI_CPS
          will be called cpsw.
  
  config TI_CPTS
 -      bool "TI Common Platform Time Sync (CPTS) Support"
 -      depends on TI_CPSW
 +      tristate "TI Common Platform Time Sync (CPTS) Support"
 +      depends on TI_CPSW || TI_KEYSTONE_NETCP
-       select PTP_1588_CLOCK
+       imply PTP_1588_CLOCK
        ---help---
          This driver supports the Common Platform Time Sync unit of
 -        the CPSW Ethernet Switch. The unit can time stamp PTP UDP/IPv4
 -        and Layer 2 packets, and the driver offers a PTP Hardware Clock.
 +        the CPSW Ethernet Switch and Keystone 2 1g/10g Switch Subsystem.
 +        The unit can time stamp PTP UDP/IPv4 and Layer 2 packets, and the
 +        driver offers a PTP Hardware Clock.
  
  config TI_KEYSTONE_NETCP
        tristate "TI Keystone NETCP Core Support"
Simple merge
Simple merge
diff --cc init/Kconfig
Simple merge
diff --cc kernel/exit.c
Simple merge
diff --cc kernel/fork.c
Simple merge
Simple merge
Simple merge
Simple merge