<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/drivers/clocksource/timer-tegra186.c, branch v6.19.11</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=v6.19.11</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=v6.19.11'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2025-09-23T10:41:39+00:00</updated>
<entry>
<title>clocksource/drivers/timer-tegra186: Don't print superfluous errors</title>
<updated>2025-09-23T10:41:39+00:00</updated>
<author>
<name>Wolfram Sang</name>
<email>wsa+renesas@sang-engineering.com</email>
</author>
<published>2025-08-13T19:06:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=764d0654114b5ce52aafabdb2bf9ccee0e998651'/>
<id>urn:sha1:764d0654114b5ce52aafabdb2bf9ccee0e998651</id>
<content type='text'>
The watchdog core will handle error messages already.

Signed-off-by: Wolfram Sang &lt;wsa+renesas@sang-engineering.com&gt;
Signed-off-by: Daniel Lezcano &lt;daniel.lezcano@linaro.org&gt;
Reviewed-by: Mikko Perttunen &lt;mperttunen@nvidia.com&gt;
Link: https://lore.kernel.org/r/20250813190657.3628-2-wsa+renesas@sang-engineering.com
</content>
</entry>
<entry>
<title>clocksource/drivers/tegra186: Avoid 64-bit division</title>
<updated>2025-09-23T08:55:12+00:00</updated>
<author>
<name>Arnd Bergmann</name>
<email>arnd@arndb.de</email>
</author>
<published>2025-06-20T11:19:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=409f8fe03e08f92bf5be96cedbcd7a3e8fb2eeaf'/>
<id>urn:sha1:409f8fe03e08f92bf5be96cedbcd7a3e8fb2eeaf</id>
<content type='text'>
The newly added function causes a build failure on 32-bit targets with
older compiler version such as gcc-10:

arm-linux-gnueabi-ld: drivers/clocksource/timer-tegra186.o: in function `tegra186_wdt_get_timeleft':
timer-tegra186.c:(.text+0x3c2): undefined reference to `__aeabi_uldivmod'

The calculation can trivially be changed to avoid the division entirely,
as USEC_PER_SEC is a multiple of 5. Change both such calculation for
consistency, even though gcc apparently managed to optimize the other one
properly already.

[dlezcano : Fixed conflict with 20250614175556.922159-2-linux@roeck-us.net ]

Fixes: 28c842c8b0f5 ("clocksource/drivers/timer-tegra186: Add WDIOC_GETTIMELEFT support")
Signed-off-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Signed-off-by: Daniel Lezcano &lt;daniel.lezcano@linaro.org&gt;
Link: https://lore.kernel.org/r/20250620111939.3395525-1-arnd@kernel.org
</content>
</entry>
<entry>
<title>clocksource/drivers/timer-tegra186: Simplify calculating timeleft</title>
<updated>2025-09-23T08:54:58+00:00</updated>
<author>
<name>Guenter Roeck</name>
<email>linux@roeck-us.net</email>
</author>
<published>2025-06-14T17:55:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=7f3abae5b447a7f8458a0f58a003c11c46aade99'/>
<id>urn:sha1:7f3abae5b447a7f8458a0f58a003c11c46aade99</id>
<content type='text'>
It is not necessary to use 64-bit operations to calculate the
remaining watchdog timeout. Simplify to use 32-bit operations,
and add comments explaining why there will be no overflow.

Signed-off-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Signed-off-by: Daniel Lezcano &lt;daniel.lezcano@linaro.org&gt;
Reviewed-by: Jon Hunter &lt;jonathanh@nvidia.com&gt;
Cc: Pohsun Su &lt;pohsuns@nvidia.com&gt;
Cc: Robert Lin &lt;robelin@nvidia.com&gt;
Link: https://lore.kernel.org/r/20250614175556.922159-2-linux@roeck-us.net
</content>
</entry>
<entry>
<title>clocksource/drivers/timer-tegra186: Avoid 64-bit divide operation</title>
<updated>2025-09-23T08:54:29+00:00</updated>
<author>
<name>Guenter Roeck</name>
<email>linux@roeck-us.net</email>
</author>
<published>2025-06-14T17:55:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=916aa36042db8ee230543ffe0d192f900e8b8c9f'/>
<id>urn:sha1:916aa36042db8ee230543ffe0d192f900e8b8c9f</id>
<content type='text'>
Building the driver on xtensa fails with

tensa-linux-ld: drivers/clocksource/timer-tegra186.o:
	in function `tegra186_timer_remove':
timer-tegra186.c:(.text+0x350):
	undefined reference to `__udivdi3'

Avoid the problem by rearranging the offending code to avoid the 64-bit
divide operation.

Fixes: 28c842c8b0f5 ("clocksource/drivers/timer-tegra186: Add WDIOC_GETTIMELEFT support")
Signed-off-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Signed-off-by: Daniel Lezcano &lt;daniel.lezcano@linaro.org&gt;
Reviewed-by: Jon Hunter &lt;jonathanh@nvidia.com&gt;
Cc: Pohsun Su &lt;pohsuns@nvidia.com&gt;
Cc: Robert Lin &lt;robelin@nvidia.com&gt;
Link: https://lore.kernel.org/r/20250614175556.922159-1-linux@roeck-us.net
</content>
</entry>
<entry>
<title>clocksource/drivers/tegra186: Add module owner</title>
<updated>2025-09-23T08:52:04+00:00</updated>
<author>
<name>Daniel Lezcano</name>
<email>daniel.lezcano@linaro.org</email>
</author>
<published>2025-06-02T15:18:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=afe904f5091e2ceaa95b451f61a115a0224e8e38'/>
<id>urn:sha1:afe904f5091e2ceaa95b451f61a115a0224e8e38</id>
<content type='text'>
The conversion to modules requires a correct handling of the module
refcount in order to prevent to unload it if it is in use. That is
especially true with the clockevents where there is no function to
unregister them.

The core time framework correctly handles the module refcount with the
different clocksource and clockevents if the module owner is set.

Add the module owner to make sure the core framework will prevent
stupid things happening when the driver will be converted into a
module.

Signed-off-by: Daniel Lezcano &lt;daniel.lezcano@linaro.org&gt;
Reviewed-by: Will McVicker &lt;willmcvicker@google.com&gt;
Link: https://lore.kernel.org/r/20250602151853.1942521-5-daniel.lezcano@linaro.org
</content>
</entry>
<entry>
<title>clocksource/drivers/timer-tegra186: Remove unused bits</title>
<updated>2025-05-16T09:10:33+00:00</updated>
<author>
<name>robelin</name>
<email>robelin@nvidia.com</email>
</author>
<published>2025-05-07T04:43:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=39b27ddf4d680fc908b2fc788039406e2e1c4601'/>
<id>urn:sha1:39b27ddf4d680fc908b2fc788039406e2e1c4601</id>
<content type='text'>
The intention to keep the unsed if(0) block is gone now. Remove
them for clean codes.

Signed-off-by: robelin &lt;robelin@nvidia.com&gt;
Acked-by: Thierry Reding &lt;treding@nvidia.com&gt;
Link: https://lore.kernel.org/r/20250507044311.3751033-4-robelin@nvidia.com
Signed-off-by: Daniel Lezcano &lt;daniel.lezcano@linaro.org&gt;
</content>
</entry>
<entry>
<title>clocksource/drivers/timer-tegra186: Fix watchdog self-pinging</title>
<updated>2025-05-16T09:10:32+00:00</updated>
<author>
<name>Pohsun Su</name>
<email>pohsuns@nvidia.com</email>
</author>
<published>2025-05-07T04:43:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=b42d781e0350c969ef8155b800e33400f5f8b8a6'/>
<id>urn:sha1:b42d781e0350c969ef8155b800e33400f5f8b8a6</id>
<content type='text'>
This change removes watchdog self-pinging behavior.

The timer irq handler is triggered due to the 1st expiration,
the handler disables and enables watchdog but also implicitly
clears the expiration count so the count can only be 0 or 1.

Since this watchdog supports opened, configured, or pinged by
systemd, We remove this behavior or the watchdog may not bark
when systemd crashes since the 5th expiration never comes.

Signed-off-by: Pohsun Su &lt;pohsuns@nvidia.com&gt;
Signed-off-by: Robert Lin &lt;robelin@nvidia.com&gt;
Link: https://lore.kernel.org/r/20250507044311.3751033-3-robelin@nvidia.com
Signed-off-by: Daniel Lezcano &lt;daniel.lezcano@linaro.org&gt;
</content>
</entry>
<entry>
<title>clocksource/drivers/timer-tegra186: Add WDIOC_GETTIMELEFT support</title>
<updated>2025-05-16T09:10:32+00:00</updated>
<author>
<name>Pohsun Su</name>
<email>pohsuns@nvidia.com</email>
</author>
<published>2025-05-07T04:43:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=28c842c8b0f5d1c2da823b11326e63cdfdbc3def'/>
<id>urn:sha1:28c842c8b0f5d1c2da823b11326e63cdfdbc3def</id>
<content type='text'>
This change adds support for WDIOC_GETTIMELEFT so userspace
programs can get the number of seconds before system reset by
the watchdog timer via ioctl.

Signed-off-by: Pohsun Su &lt;pohsuns@nvidia.com&gt;
Signed-off-by: Robert Lin &lt;robelin@nvidia.com&gt;
Link: https://lore.kernel.org/r/20250507044311.3751033-2-robelin@nvidia.com
Signed-off-by: Daniel Lezcano &lt;daniel.lezcano@linaro.org&gt;
</content>
</entry>
<entry>
<title>Get rid of 'remove_new' relic from platform driver struct</title>
<updated>2024-12-01T23:12:43+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2024-12-01T23:12:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=e70140ba0d2b1a30467d4af6bcfe761327b9ec95'/>
<id>urn:sha1:e70140ba0d2b1a30467d4af6bcfe761327b9ec95</id>
<content type='text'>
The continual trickle of small conversion patches is grating on me, and
is really not helping.  Just get rid of the 'remove_new' member
function, which is just an alias for the plain 'remove', and had a
comment to that effect:

  /*
   * .remove_new() is a relic from a prototype conversion of .remove().
   * New drivers are supposed to implement .remove(). Once all drivers are
   * converted to not use .remove_new any more, it will be dropped.
   */

This was just a tree-wide 'sed' script that replaced '.remove_new' with
'.remove', with some care taken to turn a subsequent tab into two tabs
to make things line up.

I did do some minimal manual whitespace adjustment for places that used
spaces to line things up.

Then I just removed the old (sic) .remove_new member function, and this
is the end result.  No more unnecessary conversion noise.

Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>clocksource: Explicitly include correct DT includes</title>
<updated>2023-08-28T18:30:57+00:00</updated>
<author>
<name>Rob Herring</name>
<email>robh@kernel.org</email>
</author>
<published>2023-07-14T17:44:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=6303d0693f7d6c44bb6eb0b29c906ee28156dd28'/>
<id>urn:sha1:6303d0693f7d6c44bb6eb0b29c906ee28156dd28</id>
<content type='text'>
The DT of_device.h and of_platform.h date back to the separate
of_platform_bus_type before it was merged into the regular platform bus.
As part of that merge prepping Arm DT support 13 years ago, they
"temporarily" include each other. They also include platform_device.h
and of.h. As a result, there's a pretty much random mix of those include
files used throughout the tree. In order to detangle these headers and
replace the implicit includes with struct declarations, users need to
explicitly include the correct includes.

Link: https://lore.kernel.org/r/20230714174409.4053843-1-robh@kernel.org
Signed-off-by: Rob Herring &lt;robh@kernel.org&gt;
</content>
</entry>
</feed>
