drivers: timer: Update drivers to use devicetree Kconfig symbol

Update timer drivers to use DT_HAS_<compat>_ENABLED Kconfig symbol
to expose the driver and enable it by default based on devicetree.

We remove 'depend on' Kconfig for symbols that would be implied by
the devicetree node existing.

Signed-off-by: Kumar Gala <galak@kernel.org>
This commit is contained in:
Kumar Gala 2022-09-06 10:28:25 -05:00 committed by Fabio Baltieri
parent 02bf8f6a92
commit cc2c05a90c
16 changed files with 35 additions and 29 deletions

View file

@ -5,7 +5,8 @@
config CC13X2_CC26X2_RTC_TIMER config CC13X2_CC26X2_RTC_TIMER
bool "TI SimpleLink CC13x2/CC26x2 RTC timer" bool "TI SimpleLink CC13x2/CC26x2 RTC timer"
depends on SOC_SERIES_CC13X2_CC26X2 default y
depends on DT_HAS_TI_CC13XX_CC26XX_RTC_ENABLED
select TICKLESS_CAPABLE select TICKLESS_CAPABLE
select TIMER_HAS_64BIT_CYCLE_COUNTER select TIMER_HAS_64BIT_CYCLE_COUNTER
help help

View file

@ -3,18 +3,14 @@
# Copyright (c) 2019 Intel Corp. # Copyright (c) 2019 Intel Corp.
# SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: Apache-2.0
DT_COMPAT_ARM_V6M_SYSTICK := arm,armv6m-systick
DT_COMPAT_ARM_V7M_SYSTICK := arm,armv7m-systick
DT_COMPAT_ARM_V8M_SYSTICK := arm,armv8m-systick
DT_COMPAT_ARM_V8_1M_SYSTICK := arm,armv8.1m-systick
config CORTEX_M_SYSTICK config CORTEX_M_SYSTICK
bool "Cortex-M SYSTICK timer" bool "Cortex-M SYSTICK timer"
depends on CPU_CORTEX_M_HAS_SYSTICK depends on CPU_CORTEX_M_HAS_SYSTICK
default $(dt_compat_enabled,$(DT_COMPAT_ARM_V6M_SYSTICK)) || \ default y
$(dt_compat_enabled,$(DT_COMPAT_ARM_V7M_SYSTICK)) || \ depends on DT_HAS_ARM_ARMV6M_SYSTICK_ENABLED || \
$(dt_compat_enabled,$(DT_COMPAT_ARM_V8M_SYSTICK)) || \ DT_HAS_ARM_ARMV7M_SYSTICK_ENABLED || \
$(dt_compat_enabled,$(DT_COMPAT_ARM_V8_1M_SYSTICK)) DT_HAS_ARM_ARMV8M_SYSTICK_ENABLED || \
DT_HAS_ARM_ARMV8_1M_SYSTICK_ENABLED
select TICKLESS_CAPABLE select TICKLESS_CAPABLE
select SYSTEM_TIMER_HAS_DISABLE_SUPPORT select SYSTEM_TIMER_HAS_DISABLE_SUPPORT
select CORTEX_M_SYSTICK_INSTALL_ISR select CORTEX_M_SYSTICK_INSTALL_ISR

View file

@ -5,6 +5,8 @@
config HPET_TIMER config HPET_TIMER
bool "HPET timer" bool "HPET timer"
default y
depends on DT_HAS_INTEL_HPET_ENABLED
select IOAPIC if X86 select IOAPIC if X86
select LOAPIC if X86 select LOAPIC if X86
imply TIMER_READS_ITS_FREQUENCY_AT_RUNTIME imply TIMER_READS_ITS_FREQUENCY_AT_RUNTIME

View file

@ -5,7 +5,8 @@
config ITE_IT8XXX2_TIMER config ITE_IT8XXX2_TIMER
bool "ITE it8xxx2 timer driver" bool "ITE it8xxx2 timer driver"
depends on SOC_IT8XXX2 default y
depends on DT_HAS_ITE_IT8XXX2_TIMER_ENABLED
select TICKLESS_CAPABLE select TICKLESS_CAPABLE
help help
This module implements a kernel device driver for the ITE it8xxx2 This module implements a kernel device driver for the ITE it8xxx2

View file

@ -5,7 +5,8 @@
config LEON_GPTIMER config LEON_GPTIMER
bool "LEON timer" bool "LEON timer"
depends on SOC_SPARC_LEON default y
depends on DT_HAS_GAISLER_GPTIMER_ENABLED
select DYNAMIC_INTERRUPTS select DYNAMIC_INTERRUPTS
help help
This module implements a kernel device driver for the GRLIB This module implements a kernel device driver for the GRLIB

View file

@ -6,7 +6,7 @@
config LITEX_TIMER config LITEX_TIMER
bool "LiteX Timer" bool "LiteX Timer"
default y default y
depends on SOC_RISCV32_LITEX_VEXRISCV depends on DT_HAS_LITEX_TIMER0_ENABLED
select TIMER_HAS_64BIT_CYCLE_COUNTER select TIMER_HAS_64BIT_CYCLE_COUNTER
help help
This module implements a kernel device driver for LiteX Timer. This module implements a kernel device driver for LiteX Timer.

View file

@ -5,7 +5,8 @@
config MCHP_XEC_RTOS_TIMER config MCHP_XEC_RTOS_TIMER
bool "Microchip XEC series RTOS timer" bool "Microchip XEC series RTOS timer"
depends on SOC_FAMILY_MEC default y
depends on DT_HAS_MICROCHIP_XEC_RTOS_TIMER_ENABLED
select TICKLESS_CAPABLE select TICKLESS_CAPABLE
select SYSTEM_TIMER_HAS_DISABLE_SUPPORT select SYSTEM_TIMER_HAS_DISABLE_SUPPORT
help help

View file

@ -1,12 +1,10 @@
# Copyright (c) 2021 NXP # Copyright (c) 2021 NXP
# SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: Apache-2.0
DT_COMPAT_NXP_GPT_TIMER := nxp,gpt-hw-timer
config MCUX_GPT_TIMER config MCUX_GPT_TIMER
bool "MCUX GPT Event timer" bool "MCUX GPT Event timer"
depends on HAS_MCUX_GPT default y
default $(dt_compat_enabled,$(DT_COMPAT_NXP_GPT_TIMER)) depends on DT_HAS_NXP_GPT_HW_TIMER_ENABLED
select TICKLESS_CAPABLE select TICKLESS_CAPABLE
help help
This module implements a kernel device driver for the NXP GPT timer, This module implements a kernel device driver for the NXP GPT timer,

View file

@ -5,7 +5,9 @@
config MCUX_LPTMR_TIMER config MCUX_LPTMR_TIMER
bool "MCUX LPTMR timer" bool "MCUX LPTMR timer"
depends on HAS_MCUX_LPTMR && !COUNTER_MCUX_LPTMR default y
depends on DT_HAS_NXP_KINETIS_LPTMR_ENABLED
depends on !COUNTER_MCUX_LPTMR
select SYSTEM_TIMER_HAS_DISABLE_SUPPORT select SYSTEM_TIMER_HAS_DISABLE_SUPPORT
help help
This module implements a kernel device driver for the NXP MCUX Low This module implements a kernel device driver for the NXP MCUX Low

View file

@ -3,12 +3,10 @@
# Copyright (c) 2019 Intel Corp. # Copyright (c) 2019 Intel Corp.
# SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: Apache-2.0
DT_COMPAT_NXP_OS_TIMER := nxp,os-timer
config MCUX_OS_TIMER config MCUX_OS_TIMER
bool "MCUX OS Event timer" bool "MCUX OS Event timer"
depends on HAS_MCUX_OS_TIMER default y
default $(dt_compat_enabled,$(DT_COMPAT_NXP_OS_TIMER)) depends on DT_HAS_NXP_OS_TIMER_ENABLED
select TICKLESS_CAPABLE select TICKLESS_CAPABLE
help help
This module implements a kernel device driver for the NXP OS This module implements a kernel device driver for the NXP OS

View file

@ -6,7 +6,7 @@
config NPCX_ITIM_TIMER config NPCX_ITIM_TIMER
bool "Nuvoton NPCX series internal 64/32-bit timers" bool "Nuvoton NPCX series internal 64/32-bit timers"
default y default y
depends on SOC_FAMILY_NPCX depends on DT_HAS_NUVOTON_NPCX_ITIM_TIMER_ENABLED
select TICKLESS_CAPABLE select TICKLESS_CAPABLE
select TIMER_HAS_64BIT_CYCLE_COUNTER select TIMER_HAS_64BIT_CYCLE_COUNTER
help help

View file

@ -6,7 +6,7 @@
config RCAR_CMT_TIMER config RCAR_CMT_TIMER
bool "Renesas RCar cmt timer" bool "Renesas RCar cmt timer"
default y default y
depends on SOC_SERIES_RCAR_GEN3 depends on DT_HAS_RENESAS_RCAR_CMT_ENABLED
help help
This module implements a kernel device driver for the Renesas RCAR This module implements a kernel device driver for the Renesas RCAR
platform provides the standard "system clock driver" interfaces. platform provides the standard "system clock driver" interfaces.

View file

@ -5,7 +5,12 @@
config RISCV_MACHINE_TIMER config RISCV_MACHINE_TIMER
bool "RISCV Machine Timer" bool "RISCV Machine Timer"
depends on SOC_FAMILY_RISCV_PRIVILEGE default y
depends on DT_HAS_ANDESTECH_MACHINE_TIMER_ENABLED || \
DT_HAS_NEORV32_MACHINE_TIMER_ENABLED || \
DT_HAS_NUCLEI_SYSTIMER_ENABLED || \
DT_HAS_SIFIVE_CLINT0_ENABLED || \
DT_HAS_TELINK_MACHINE_TIMER_ENABLED
select TICKLESS_CAPABLE select TICKLESS_CAPABLE
select TIMER_HAS_64BIT_CYCLE_COUNTER select TIMER_HAS_64BIT_CYCLE_COUNTER
help help

View file

@ -6,7 +6,7 @@
config RV32M1_LPTMR_TIMER config RV32M1_LPTMR_TIMER
bool "RV32M1 LPTMR system timer driver" bool "RV32M1 LPTMR system timer driver"
default y default y
depends on SOC_OPENISA_RV32M1_RISCV32 depends on DT_HAS_OPENISA_RV32M1_LPTMR_ENABLED
depends on RV32M1_INTMUX depends on RV32M1_INTMUX
help help
This module implements a kernel device driver for using the LPTMR This module implements a kernel device driver for using the LPTMR

View file

@ -5,7 +5,8 @@
config SAM0_RTC_TIMER config SAM0_RTC_TIMER
bool "Atmel SAM0 series RTC timer" bool "Atmel SAM0 series RTC timer"
depends on SOC_FAMILY_SAM0 default y
depends on DT_HAS_ATMEL_SAM0_RTC_ENABLED
select TICKLESS_CAPABLE select TICKLESS_CAPABLE
help help
This module implements a kernel device driver for the Atmel SAM0 This module implements a kernel device driver for the Atmel SAM0

View file

@ -6,7 +6,7 @@
config XLNX_PSTTC_TIMER config XLNX_PSTTC_TIMER
bool "Xilinx PS ttc timer support" bool "Xilinx PS ttc timer support"
default y default y
depends on SOC_XILINX_ZYNQMP depends on DT_HAS_XLNX_TTCPS_ENABLED
select TICKLESS_CAPABLE select TICKLESS_CAPABLE
help help
This module implements a kernel device driver for the Xilinx ZynqMP This module implements a kernel device driver for the Xilinx ZynqMP