<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-next.git/drivers/clocksource, branch master</title>
<subtitle>Linux kernel latest source</subtitle>
<id>http://mirrors.hust.edu.cn/git/linux-next.git/atom?h=master</id>
<link rel='self' href='http://mirrors.hust.edu.cn/git/linux-next.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/linux-next.git/'/>
<updated>2026-08-18T23:56:25+00:00</updated>
<entry>
<title>Merge tag 'timers-vdso-2026-08-17' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip</title>
<updated>2026-08-18T23:56:25+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2026-08-18T23:56:25+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/linux-next.git/commit/?id=104a813376837da3b9651457d6fdc99596257fba'/>
<id>urn:sha1:104a813376837da3b9651457d6fdc99596257fba</id>
<content type='text'>
Pull VDSO updates from Thomas Gleixner:

 - Consolidate the VDSO datastore further and provide support for
   mlock_all() and prefaulting.

 - Provide 32-bit legacy time related functionality only if
   CONFIG_COMPAT_32BIT_TIME is enabled. The config switch exists,
   but architecture code still exposes the legacy functionality even
   disabled.

   Clean this up by adding the missing guards and validating at build
   time that the VDSO is legacy free if disabled.

 - Consolidate the VDSO related config options in core and drivers,
   which removes some non-sensical dependencies and quite an amount of
   #ifdeffery.

 - Clean up the PAGE_SIZE definition maze

* tag 'timers-vdso-2026-08-17' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (30 commits)
  random: vDSO: Drop custom PAGE_SIZE definitions
  LoongArch: Remove CONFIG_GENERIC_GETTIMEOFDAY ifdeffery
  clocksource/drivers/timer-riscv: Remove CONFIG_GENERIC_GETTIMEOFDAY ifdeffery
  clocksource/drivers/arm_arch_timer: Remove CONFIG_GENERIC_GETTIMEOFDAY ifdeffery
  clocksource/drivers/mips-gic-timer: Remove CONFIG_GENERIC_GETTIMEOFDAY ifdeffery
  MIPS: csrc-r4k: Remove CONFIG_GENERIC_GETTIMEOFDAY ifdeffery
  vDSO: Make clockmode constants available without CONFIG_GENERIC_GETTIMEOFDAY
  kbuild: Support generated asm-headers in subdirectories
  vdso: Rename HAVE_GENERIC_VDSO to VDSO_DATASTORE
  vdso: Drop HAVE_GENERIC_VDSO from architecture kconfig files
  vdso: Automatically select HAVE_GENERIC_VDSO if necessary
  MIPS: vdso: Stop using CONFIG_HAVE_GENERIC_VDSO
  vdso: Remove the dependency on HAVE_GENERIC_VDSO from ARCH_HAS_VDSO_ARCH_DATA
  futex: Remove dependency on HAVE_GENERIC_VDSO from FUTEX_ROBUST_UNLOCK
  vdso/gettimeofday: Verify COMPAT_32BIT_TIME interactions
  sparc: vdso: Respect COMPAT_32BIT_TIME
  MIPS: VDSO: Respect COMPAT_32BIT_TIME
  powerpc/vdso: Respect COMPAT_32BIT_TIME
  ARM: VDSO: Respect COMPAT_32BIT_TIME
  arm64: vdso32: Respect COMPAT_32BIT_TIME
  ...
</content>
</entry>
<entry>
<title>Merge tag 'timers-clocksource-2026-08-17' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip</title>
<updated>2026-08-18T23:20:25+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2026-08-18T23:20:25+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/linux-next.git/commit/?id=b0239dd672306ad242545f793132938847f17e53'/>
<id>urn:sha1:b0239dd672306ad242545f793132938847f17e53</id>
<content type='text'>
Pull clocksource/event driver updates from Thomas Gleixner:

 - Remove redundant dev_err() and dev_err_probe() invocations in various
   drivers

 - Handle SWAP_IO_SPACE correctly in the rtl-otto driver

 - Make the Samsumg PWM timer driver PREEMPT_RT compatible

 - Ensure that the SUN4I timer is programmed with a delta larger than
   zero as a zero delta causes the the timer to be disabled

 - The usual fixes and improvements all over the place

* tag 'timers-clocksource-2026-08-17' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  clocksource/drivers/armada: Unwind timer clock on init failure
  clocksource/drivers/rtl-otto: Change driver to use __raw reads and writes
  clocksource/drivers/samsung_pwm: Switch to raw_spinlock_t type
  clocksource/drivers/clps711x: Do not unmap clocksource MMIO
  clocksource/drivers/nxp-pit: Fix IRQ leak on cpuhp_setup_state error path
  clocksource/drivers/timer-sun4i: Advertise a real minimum delta
  clocksource: Remove redundant dev_err()/dev_err_probe()
  clocksource/drivers/sh_cmt: Use named initializers for platform_device_id arrays
  clocksource/drivers/sh_mtu2: Drop unused assignment of platform_device_id
</content>
</entry>
<entry>
<title>clocksource/drivers/armada: Unwind timer clock on init failure</title>
<updated>2026-08-13T16:13:15+00:00</updated>
<author>
<name>Yuho Choi</name>
<email>dbgh9129@gmail.com</email>
</author>
<published>2026-08-02T21:35:45+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/linux-next.git/commit/?id=8b4127f6db40381229f3564d34ac35f36311c201'/>
<id>urn:sha1:8b4127f6db40381229f3564d34ac35f36311c201</id>
<content type='text'>
The Armada timer init paths enable their clock before calling the
common initialization routine. If that routine returns an error, the
clock is left enabled even though the timer was not initialized
successfully.

Fixes: 12549e27c63c ("clocksource/drivers/time-armada-370-xp: Convert init function to return error")
Signed-off-by: Yuho Choi &lt;dbgh9129@gmail.com&gt;
Signed-off-by: Daniel Lezcano &lt;daniel.lezcano@kernel.org&gt;
Link: https://patch.msgid.link/20260802213545.565913-1-dbgh9129@gmail.com
</content>
</entry>
<entry>
<title>clocksource/drivers/rtl-otto: Change driver to use __raw reads and writes</title>
<updated>2026-08-13T16:13:15+00:00</updated>
<author>
<name>Rustam Adilov</name>
<email>adilov@disroot.org</email>
</author>
<published>2026-07-25T17:55:10+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/linux-next.git/commit/?id=739007deca12d95db13762301b0745aa92938717'/>
<id>urn:sha1:739007deca12d95db13762301b0745aa92938717</id>
<content type='text'>
As it stands, the driver uses ioread32 and iowrite32 for register
access and it works fine. However this stops working when the
SWAP_IO_SPACE config is enabled as this drivers expects ioread32 and
iowrite32 to be in native endian (that is big endian for currently
supported SoCs). RTL9607C is a big endian MIPS SoC that has identical
timer as the already supported chips but needs to have SWAP_IO_SPACE
to have a functioning little endian USB host.

Fix this by replacing all instances of ioread32 and iowrite32 with
__raw_readl and __raw_writel variants. Since they essentially do the
same register access, this shouldn't affect anything on other
machines.

Signed-off-by: Rustam Adilov &lt;adilov@disroot.org&gt;
Signed-off-by: Daniel Lezcano &lt;daniel.lezcano@kernel.org&gt;
Reviewed-by: Chris Packham &lt;chris.packham@alliedtelesis.co.nz&gt;
Link: https://patch.msgid.link/20260725175510.77240-1-adilov@disroot.org
</content>
</entry>
<entry>
<title>clocksource/drivers/samsung_pwm: Switch to raw_spinlock_t type</title>
<updated>2026-08-13T16:13:15+00:00</updated>
<author>
<name>Marek Szyprowski</name>
<email>m.szyprowski@samsung.com</email>
</author>
<published>2026-07-13T08:56:53+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/linux-next.git/commit/?id=3b212f9d70805d91febae01d618868f4860e267c'/>
<id>urn:sha1:3b212f9d70805d91febae01d618868f4860e267c</id>
<content type='text'>
Samsung PWM timer might be used as a clock source on some legacy systems.
When PREEMPT_RT is enabled on ARM, regular spinlock is converted to a
sleeping lock (mutex-based), which must not be used in atomic context
such as hard interrupt handlers. Switch the samsung_pwm_lock to the
raw_spinlock, which remains a true non-sleeping spinlock even
under PREEMPT_RT.

Fixes: 7aac482e6290 ("clocksource: samsung_pwm_timer: Make PWM spinlock global")
Fixes: f11899894c0a ("clocksource: add samsung pwm timer driver")
Signed-off-by: Marek Szyprowski &lt;m.szyprowski@samsung.com&gt;
Signed-off-by: Daniel Lezcano &lt;daniel.lezcano@kernel.org&gt;
Reviewed-by: Krzysztof Kozlowski &lt;krzysztof.kozlowski@oss.qualcomm.com&gt;
Reviewed-by: Sebastian Andrzej Siewior &lt;bigeasy@linutronix.de&gt;
Acked-by: Uwe Kleine-König &lt;ukleinek@kernel.org&gt;
Link: https://patch.msgid.link/20260713085653.1145015-1-m.szyprowski@samsung.com
</content>
</entry>
<entry>
<title>clocksource/drivers/clps711x: Do not unmap clocksource MMIO</title>
<updated>2026-08-13T16:13:15+00:00</updated>
<author>
<name>Guangshuo Li</name>
<email>lgs201920130244@gmail.com</email>
</author>
<published>2026-07-04T17:54:51+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/linux-next.git/commit/?id=e998c6300ef4e062a704ee17b5a812c0b595cf42'/>
<id>urn:sha1:e998c6300ef4e062a704ee17b5a812c0b595cf42</id>
<content type='text'>
clps711x_clksrc_init() stores the timer base address in the static tcd
pointer and registers it as both the clocksource MMIO address and the
sched_clock read address.

The clocksource init path must therefore keep the mapping alive after
clps711x_timer_init() returns. However, the shared unmap_io exit path is
also reached after successful clocksource registration, so the MMIO
mapping is torn down while the clocksource and sched_clock readers may
still access it.

Return directly after successful clocksource registration and leave the
mapping alive for the registered readers. Keep the unmap_io path for the
error paths and for the clockevent init path.

Fixes: cd32e596f02f ("clocksource/drivers/clps711x: Fix resource leaks in error paths")
Signed-off-by: Guangshuo Li &lt;lgs201920130244@gmail.com&gt;
Signed-off-by: Daniel Lezcano &lt;daniel.lezcano@kernel.org&gt;
Link: https://patch.msgid.link/20260704175451.256364-1-lgs201920130244@gmail.com
</content>
</entry>
<entry>
<title>clocksource/drivers/nxp-pit: Fix IRQ leak on cpuhp_setup_state error path</title>
<updated>2026-08-13T16:13:01+00:00</updated>
<author>
<name>WenTao Liang</name>
<email>vulab@iscas.ac.cn</email>
</author>
<published>2026-06-28T13:07:00+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/linux-next.git/commit/?id=05520e035f8332c8e33f3011b5ca016fde61793d'/>
<id>urn:sha1:05520e035f8332c8e33f3011b5ca016fde61793d</id>
<content type='text'>
When cpuhp_setup_state fails after pit_clockevent_per_cpu_init has
successfully called request_irq, the error handling jumps directly to
out_pit_clocksource_unregister without freeing the registered IRQ.

This leaks the IRQ line and, since kfree(pit) follows, leaves a
dangling pointer registered as the interrupt handler's dev_id,
potentially leading to a use-after-free if the IRQ fires afterwards.

Fix it by calling pit_clockevent_per_cpu_exit to properly release the
IRQ before falling through to the existing cleanup chain.

Suggested-by: Greg KH &lt;gregkh@linuxfoundation.org&gt;
Fixes: bee33f22d7c3 ("clocksource/drivers/nxp-pit: Add NXP Automotive s32g2 / s32g3 support")
Cc: stable@vger.kernel.org
Signed-off-by: WenTao Liang &lt;vulab@iscas.ac.cn&gt;
Signed-off-by: Daniel Lezcano &lt;daniel.lezcano@kernel.org&gt;
Link: https://patch.msgid.link/20260628130700.45680-1-vulab@iscas.ac.cn
</content>
</entry>
<entry>
<title>clocksource/drivers/timer-sun4i: Advertise a real minimum delta</title>
<updated>2026-08-13T16:13:01+00:00</updated>
<author>
<name>Felix Yan</name>
<email>felixonmars@archlinux.org</email>
</author>
<published>2026-06-24T22:04:34+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/linux-next.git/commit/?id=d21808328225ab8cee46885bf9a0dffcefbe630e'/>
<id>urn:sha1:d21808328225ab8cee46885bf9a0dffcefbe630e</id>
<content type='text'>
sun4i_clkevt_next_event() compensates for the timer stop/start
synchronization delay by programming evt - TIMER_SYNC_TICKS into the
hardware interval register. The clockevent device currently advertises
TIMER_SYNC_TICKS as min_delta_ticks, so the clockevents core is allowed
to call set_next_event() with evt == TIMER_SYNC_TICKS.

That programs a zero-tick interval. With oneshot/highres/nohz timer
operation this can leave the next event stuck, which was observed as a
boot hang on Allwinner D1 after the clockevents core started reusing
forced minimum-delta events.

Advertise one extra tick instead, so the smallest event accepted by the
core still programs at least one hardware tick after the synchronization
compensation.

Fixes: 12e1480bcb49 ("clocksource: sun4i: Report the minimum tick that we can program")
Reported-by: Indrek Kruusa &lt;indrek.kruusa@gmail.com&gt;
Closes: https://lore.kernel.org/linux-riscv/CA+fTLhgLmTY+exGujKf8OYYQvcEW5X5NJ_5sLq2AYL6zER2c0A@mail.gmail.com/
Assisted-by: Codex:gpt-5.5
Signed-off-by: Felix Yan &lt;felixonmars@archlinux.org&gt;
Signed-off-by: Daniel Lezcano &lt;daniel.lezcano@kernel.org&gt;
Tested-by: Indrek Kruusa &lt;indrek.kruusa@gmail.com&gt;
Acked-by: Jernej Skrabec &lt;jernej.skrabec@gmail.com&gt;
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/linux-riscv/CA+fTLhgLmTY+exGujKf8OYYQvcEW5X5NJ_5sLq2AYL6zER2c0A@mail.gmail.com/
Link: https://patch.msgid.link/20260624220434.4183732-1-felixonmars@archlinux.org
</content>
</entry>
<entry>
<title>clocksource: Remove redundant dev_err()/dev_err_probe()</title>
<updated>2026-08-13T16:13:01+00:00</updated>
<author>
<name>Pan Chuang</name>
<email>panchuang@vivo.com</email>
</author>
<published>2026-07-13T13:07:39+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/linux-next.git/commit/?id=6d6dd3863aa35f1873c7e8b82b1ee66244255a3a'/>
<id>urn:sha1:6d6dd3863aa35f1873c7e8b82b1ee66244255a3a</id>
<content type='text'>
Since commit 55b48e23f5c4 ("genirq/devres: Add error handling in
devm_request_*_irq()"), devm_request_irq() automatically logs
detailed error messages on failure. Remove the now-redundant
driver-specific dev_err() and dev_err_probe() calls.

Signed-off-by: Pan Chuang &lt;panchuang@vivo.com&gt;
Signed-off-by: Daniel Lezcano &lt;daniel.lezcano@kernel.org&gt;
Link: https://patch.msgid.link/20260713130740.293502-1-panchuang@vivo.com
</content>
</entry>
<entry>
<title>clocksource/drivers/sh_cmt: Use named initializers for platform_device_id arrays</title>
<updated>2026-08-13T16:12:29+00:00</updated>
<author>
<name>Uwe Kleine-König (The Capable Hub)</name>
<email>u.kleine-koenig@baylibre.com</email>
</author>
<published>2026-06-17T09:24:11+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/linux-next.git/commit/?id=38c6b710926567aa696332a300e85b6cab56eac1'/>
<id>urn:sha1:38c6b710926567aa696332a300e85b6cab56eac1</id>
<content type='text'>
Named initializers are better readable and more robust to changes of the
struct definition. This robustness is relevant for a planned change to
struct platform_device_id replacing .driver_data by an anonymous union.

Signed-off-by: Uwe Kleine-König (The Capable Hub) &lt;u.kleine-koenig@baylibre.com&gt;
Signed-off-by: Daniel Lezcano &lt;daniel.lezcano@kernel.org&gt;
Link: https://patch.msgid.link/6a6951b86f0e9a2ab4a378ab63edf7a487f1d693.1781687723.git.u.kleine-koenig@baylibre.com
</content>
</entry>
</feed>
