diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2026-06-15 11:04:03 +0300 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2026-06-15 11:04:03 +0300 |
| commit | f20e2fdaaeb74330a6c5d65af22a8c47409a7a91 (patch) | |
| tree | 73497c6bd12008e52c96e54d4e1e79032bdda1b5 /include/linux | |
| parent | 9e94480d81b9eb9bd175499636bf622e5d62176d (diff) | |
| parent | c66494c79ede1af529dbf67f9ed6fdbf42e05ef3 (diff) | |
| download | linux-f20e2fdaaeb74330a6c5d65af22a8c47409a7a91.tar.xz | |
Merge tag 'timers-clocksource-2026-06-13' of gitolite.kernel.org:pub/scm/linux/kernel/git/tip/tip
Pull clocksource updates from Thomas Gleixner:
"Updates for clocksource/clockevent drivers:
- Add devm helpers for clocksources, which allows to simplify driver
teardown and probe failure handling.
- More module conversion work
- Update the support for the ARM EL2 virtual timer including the
required ACPI changes.
- Add clockevent and clocksource support for the TI Dual Mode Timer
- Fix the support for multiple watchdog instances in the TEGRA186
driver
- Add D1 timer support to the SUN5I driver
- The usual devicetree updates, cleanups and small fixes all over the
place"
* tag 'timers-clocksource-2026-06-13' of gitolite.kernel.org:pub/scm/linux/kernel/git/tip/tip: (24 commits)
clocksource: move NXP timer selection to drivers/clocksource
clocksource/drivers/timer-tegra186: Reserve and service a kernel watchdog
clocksource/drivers/timer-tegra186: Register all accessible watchdog timers
clocksource/drivers/timer-tegra186: Correct num_wdts for Tegra186 and Tegra234
clocksource/drivers/timer-tegra186: Fix support for multiple watchdog instances
clocksource/drivers/timer-ti-dm: Add clockevent support
clocksource/drivers/timer-ti-dm: Add clocksource support
clocksource/drivers/timer-ti-dm: Fix property name in comment
dt-bindings: timer: arm,arch_timer: Fix requirements for interrupt description
clocksource/drivers/arm_arch_timer: Default to EL2 virtual timer when running VHE
ACPI: GTDT: Parse information related to the EL2 virtual timer
ACPI: GTDT: Account for GTDTv3 size when walking the platform timer descriptors
clocksource: Add devm_clocksource_register_*() helpers
clocksource/drivers/sun5i: Add D1 hstimer support
dt-bindings: timer: allwinner,sun5i-a13-hstimer: add H616 and D1
dt-bindings: timer: Add StarFive JHB100 clint
dt-bindings: timer: renesas,rz-mtu3: document RZ/{T2H,N2H}
dt-bindings: timer: renesas,rz-mtu3: Remove TCIU8 interrupt
dt-bindings: timer: Remove sifive,fine-ctr-bits property
clocksource/drivers/timer-of: Make the code compatible with modules
...
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/clocksource.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/include/linux/clocksource.h b/include/linux/clocksource.h index 7c38190b10bf..c5b34c16602e 100644 --- a/include/linux/clocksource.h +++ b/include/linux/clocksource.h @@ -236,6 +236,9 @@ clocks_calc_mult_shift(u32 *mult, u32 *shift, u32 from, u32 to, u32 minsec); */ extern int __clocksource_register_scale(struct clocksource *cs, u32 scale, u32 freq); +extern int +__devm_clocksource_register_scale(struct device *dev, struct clocksource *cs, + u32 scale, u32 freq); extern void __clocksource_update_freq_scale(struct clocksource *cs, u32 scale, u32 freq); @@ -258,6 +261,18 @@ static inline int clocksource_register_khz(struct clocksource *cs, u32 khz) return __clocksource_register_scale(cs, 1000, khz); } +static inline int devm_clocksource_register_hz(struct device *dev, + struct clocksource *cs, u32 hz) +{ + return __devm_clocksource_register_scale(dev, cs, 1, hz); +} + +static inline int devm_clocksource_register_khz(struct device *dev, + struct clocksource *cs, u32 khz) +{ + return __devm_clocksource_register_scale(dev, cs, 1000, khz); +} + static inline void __clocksource_update_freq_hz(struct clocksource *cs, u32 hz) { __clocksource_update_freq_scale(cs, 1, hz); |
