OpenCloudOS-Kernel/drivers/clocksource
Linus Torvalds 836ee4874e Initial ACPI support for arm64:
This series introduces preliminary ACPI 5.1 support to the arm64 kernel
 using the "hardware reduced" profile. We don't support any peripherals
 yet, so it's fairly limited in scope:
 
 - Memory init (UEFI)
 - ACPI discovery (RSDP via UEFI)
 - CPU init (FADT)
 - GIC init (MADT)
 - SMP boot (MADT + PSCI)
 - ACPI Kconfig options (dependent on EXPERT)
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQEcBAABCgAGBQJVNOC2AAoJELescNyEwWM08dIH/1Pn5xa04wwNDn0MOpbuQMk2
 kHM7hx69fbXflTJpnZRVyFBjRxxr5qilA7rljAFLnFeF8Fcll/s5VNy7ElHKLISq
 CB0ywgUfOd/sFJH57rcc67pC1b/XuqTbE1u1NFwvp2R3j1kGAEJWNA6SyxIP4bbc
 NO5jScx0lQOJ3rrPAXBW8qlGkeUk7TPOQJtMrpftNXlFLFrR63rPaEmMZ9dWepBF
 aRE4GXPvyUhpyv5o9RvlN5l8bQttiRJ3f9QjyG7NYhX0PXH3DyvGUzYlk2IoZtID
 v3ssCQH3uRsAZHIBhaTyNqFnUIaDR825bvGqyG/tj2Dt3kQZiF+QrfnU5D9TuMw=
 =zLJn
 -----END PGP SIGNATURE-----

Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux

Pull initial ACPI support for arm64 from Will Deacon:
 "This series introduces preliminary ACPI 5.1 support to the arm64
  kernel using the "hardware reduced" profile.  We don't support any
  peripherals yet, so it's fairly limited in scope:

   - MEMORY init (UEFI)

   - ACPI discovery (RSDP via UEFI)

   - CPU init (FADT)

   - GIC init (MADT)

   - SMP boot (MADT + PSCI)

   - ACPI Kconfig options (dependent on EXPERT)

  ACPI for arm64 has been in development for a while now and hardware
  has been available that can boot with either FDT or ACPI tables.  This
  has been made possible by both changes to the ACPI spec to cater for
  ARM-based machines (known as "hardware-reduced" in ACPI parlance) but
  also a Linaro-driven effort to get this supported on top of the Linux
  kernel.  This pull request is the result of that work.

  These changes allow us to initialise the CPUs, interrupt controller,
  and timers via ACPI tables, with memory information and cmdline coming
  from EFI.  We don't support a hybrid ACPI/FDT scheme.  Of course,
  there is still plenty of work to do (a serial console would be nice!)
  but I expect that to happen on a per-driver basis after this core
  series has been merged.

  Anyway, the diff stat here is fairly horrible, but splitting this up
  and merging it via all the different subsystems would have been
  extremely painful.  Instead, we've got all the relevant Acks in place
  and I've not seen anything other than trivial (Kconfig) conflicts in
  -next (for completeness, I've included my resolution below).  Nearly
  half of the insertions fall under Documentation/.

  So, we'll see how this goes.  Right now, it all depends on EXPERT and
  I fully expect people to use FDT by default for the immediate future"

* tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (31 commits)
  ARM64 / ACPI: make acpi_map_gic_cpu_interface() as void function
  ARM64 / ACPI: Ignore the return error value of acpi_map_gic_cpu_interface()
  ARM64 / ACPI: fix usage of acpi_map_gic_cpu_interface
  ARM64: kernel: acpi: honour acpi=force command line parameter
  ARM64: kernel: acpi: refactor ACPI tables init and checks
  ARM64: kernel: psci: let ACPI probe PSCI version
  ARM64: kernel: psci: factor out probe function
  ACPI: move arm64 GSI IRQ model to generic GSI IRQ layer
  ARM64 / ACPI: Don't unflatten device tree if acpi=force is passed
  ARM64 / ACPI: additions of ACPI documentation for arm64
  Documentation: ACPI for ARM64
  ARM64 / ACPI: Enable ARM64 in Kconfig
  XEN / ACPI: Make XEN ACPI depend on X86
  ARM64 / ACPI: Select ACPI_REDUCED_HARDWARE_ONLY if ACPI is enabled on ARM64
  clocksource / arch_timer: Parse GTDT to initialize arch timer
  irqchip: Add GICv2 specific ACPI boot support
  ARM64 / ACPI: Introduce ACPI_IRQ_MODEL_GIC and register device's gsi
  ACPI / processor: Make it possible to get CPU hardware ID via GICC
  ACPI / processor: Introduce phys_cpuid_t for CPU hardware ID
  ARM64 / ACPI: Parse MADT for SMP initialization
  ...
2015-04-24 08:23:45 -07:00
..
Kconfig ARM: SoC driver updates for v4.1 2015-04-22 09:18:17 -07:00
Makefile ARM: at91: time: move the system timer driver to drivers/clocksource 2015-03-16 17:03:05 +01:00
acpi_pm.c treewide: Fix printks with 0x%# 2013-08-27 10:49:38 +02:00
arm_arch_timer.c Initial ACPI support for arm64: 2015-04-24 08:23:45 -07:00
arm_global_timer.c ARM: make it easier to check the CPU part number correctly 2014-07-18 12:29:02 +01:00
asm9260_timer.c ARM: clocksource: Add asm9260_timer driver 2015-01-29 14:02:06 +01:00
bcm2835_timer.c clocksource: bcm2835: Switch to sched_clock_register() 2013-07-30 11:24:51 -07:00
bcm_kona_timer.c clocksource: kona: fix __iomem annotation 2015-01-05 14:43:36 +01:00
cadence_ttc_timer.c clocksource: cadence_ttc: Add support for 32bit mode 2014-09-29 01:59:09 +02:00
clksrc-dbx500-prcmu.c clocksource: dbx500-prcmu: Switch to sched_clock_register() 2013-07-30 11:24:52 -07:00
clksrc-of.c of: consolidate linker section OF match table declarations 2014-05-20 14:25:24 -05:00
clps711x-timer.c clocksource: clps711x: Add CLPS711X clocksource driver 2014-07-23 12:02:35 +02:00
cs5535-clockevt.c clocksource: misc drivers: Remove deprecated IRQF_DISABLED 2013-12-11 11:40:27 +01:00
dummy_timer.c time: Replace __get_cpu_var uses 2014-08-26 13:45:44 -04:00
dw_apb_timer.c drivers: fix up obsolete cpu function usage. 2015-03-05 13:37:02 +10:30
dw_apb_timer_of.c clocksource/drivers/dw_apb_timers_of: Fix IO endianness causing time jumps 2015-03-31 09:15:57 +02:00
em_sti.c clocksource: Rename __clocksource_updatefreq_*() to __clocksource_update_freq_*() 2015-03-13 08:07:08 +01:00
exynos_mct.c clocksource: exynos_mct: Fix bitmask regression for exynos4_mct_write 2015-01-05 14:43:35 +01:00
fsl_ftm_timer.c clocksource: Add Freescale FlexTimer Module (FTM) timer support 2014-05-23 10:12:04 +02:00
i8253.c time: Kill xtime_lock, replacing it with jiffies_lock 2012-11-13 14:08:23 -05:00
meson6_timer.c ARM: meson6: clocksource: Add Meson6 timer support 2014-09-29 01:50:05 +02:00
metag_generic.c drivers/clocksource: Replace __get_cpu_var used for address calculation 2014-08-26 13:45:46 -04:00
mips-gic-timer.c CLOCKSOURCE: mips-gic: Allow GIC clock to be specified in device-tree 2015-04-01 17:22:11 +02:00
mmio.c clocksource: Fix clocksource_mmio_readX_down 2014-05-23 09:19:40 +02:00
moxart_timer.c ARM: clocksource: moxart: Add bitops.h include 2013-08-01 01:13:34 +02:00
mtk_timer.c clocksource: mtk: Fix race conditions in probe code 2015-02-25 10:28:49 +01:00
mxs_timer.c clocksource: mxs_timer: Switch to sched_clock_register() 2013-07-30 11:24:52 -07:00
nomadik-mtu.c ARM: SoC DT updates for 3.14 2014-01-23 18:45:38 -08:00
pxa_timer.c clocksource: pxa: Fix section mismatch 2015-02-25 10:28:55 +01:00
qcom-timer.c clocksource: Replace __this_cpu_ptr with raw_cpu_ptr 2014-08-26 13:45:56 -04:00
rockchip_timer.c clockevents: rockchip: Add rockchip timer for rk3288 2015-01-29 14:02:13 +01:00
samsung_pwm_timer.c clocksource: misc drivers: Remove deprecated IRQF_DISABLED 2013-12-11 11:40:27 +01:00
scx200_hrt.c clocksource: scx200_hrt: Fix the build 2012-02-22 13:25:16 +01:00
sh_cmt.c clocksource: Rename __clocksource_updatefreq_*() to __clocksource_update_freq_*() 2015-03-13 08:07:08 +01:00
sh_mtu2.c clocksource: sh_mtu2: Add DT support 2014-07-04 15:50:29 +02:00
sh_tmu.c clocksource: Rename __clocksource_updatefreq_*() to __clocksource_update_freq_*() 2015-03-13 08:07:08 +01:00
sun4i_timer.c clocksource/drivers/sun4i-timer: Only register a sched_clock on sun4i and sun5i 2015-03-31 09:15:58 +02:00
tcb_clksrc.c clocksource: tcb_clksrc: Sanitize IRQ request 2014-09-29 01:50:05 +02:00
tegra20_timer.c ARM, clocksource/drivers: Provide read_boot_clock64() and read_persistent_clock64() and use them 2015-04-03 08:18:23 +02:00
time-armada-370-xp.c Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2014-12-10 08:18:32 -08:00
time-efm32.c clocksource/drivers/efm32: Use CLOCK_EVT_FEAT_PERIODIC for defining features 2015-03-31 09:15:57 +02:00
time-orion.c clocksource: orion: Use atomic access for shared registers 2014-03-11 23:05:02 +01:00
timer-atlas7.c clocksource: marco: Rename marco to atlas7 2015-01-29 14:02:06 +01:00
timer-atmel-pit.c clocksource/drivers/at91: Fix IO endianness 2015-03-31 09:15:58 +02:00
timer-atmel-st.c clocksource: atmel-st: remove mach/hardware dependency 2015-03-16 17:03:07 +01:00
timer-digicolor.c clocksource: Driver for Conexant Digicolor SoC timer 2015-01-29 14:02:15 +01:00
timer-integrator-ap.c ARM: integrator: move AP timer to clocksource 2014-10-28 15:42:34 +01:00
timer-keystone.c clocksource: timer-keystone: Delete unnecessary variable 2014-03-11 23:05:00 +01:00
timer-prima2.c clocksource: sirf: Fix incorrect clock enable counter for timer 2014-07-23 12:02:34 +02:00
timer-sun5i.c clocksource/drivers/sun5i: Add clock notifiers 2015-03-31 17:53:58 +02:00
timer-u300.c Merge branch 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm 2014-04-05 13:20:43 -07:00
versatile.c clocksource: versatile: Adapt for Versatile AB and PB boards 2015-01-29 14:02:16 +01:00
vf_pit_timer.c clocksource: vf_pit_timer: Support shutdown mode 2014-09-29 01:50:05 +02:00
vt8500_timer.c clocksource: vt8500: Remove deprecated IRQF_DISABLED 2013-12-11 11:40:28 +01:00
zevio-timer.c clocksource: nspire: Fix compiler warning 2014-04-29 15:06:43 +02:00