<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/drivers/clocksource/h8300_timer8.c, branch linux-4.13.y</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=linux-4.13.y</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=linux-4.13.y'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2017-06-14T09:58:45+00:00</updated>
<entry>
<title>clocksource/drivers: Rename CLOCKSOURCE_OF_DECLARE to TIMER_OF_DECLARE</title>
<updated>2017-06-14T09:58:45+00:00</updated>
<author>
<name>Daniel Lezcano</name>
<email>daniel.lezcano@linaro.org</email>
</author>
<published>2017-05-26T14:56:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=1727339590fdb5a1ded881b540cd32121278d414'/>
<id>urn:sha1:1727339590fdb5a1ded881b540cd32121278d414</id>
<content type='text'>
The CLOCKSOURCE_OF_DECLARE macro is used widely for the timers to declare the
clocksource at early stage. However, this macro is also used to initialize
the clockevent if any, or the clockevent only.

It was originally suggested to declare another macro to initialize a
clockevent, so in order to separate the two entities even they belong to the
same IP. This was not accepted because of the impact on the DT where splitting
a clocksource/clockevent definition does not make sense as it is a Linux
concept not a hardware description.

On the other side, the clocksource has not interrupt declared while the
clockevent has, so it is easy from the driver to know if the description is
for a clockevent or a clocksource, IOW it could be implemented at the driver
level.

So instead of dealing with a named clocksource macro, let's use a more generic
one: TIMER_OF_DECLARE.

The patch has not functional changes.

Signed-off-by: Daniel Lezcano &lt;daniel.lezcano@linaro.org&gt;
Acked-by: Heiko Stuebner &lt;heiko@sntech.de&gt;
Acked-by: Neil Armstrong &lt;narmstrong@baylibre.com&gt;
Acked-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Acked-by: Matthias Brugger &lt;matthias.bgg@gmail.com&gt;
Reviewed-by: Linus Walleij &lt;linus.walleij@linaro.org&gt;
</content>
</entry>
<entry>
<title>clocksource: h8300_timer8: Don't reset rate in -&gt;set_state_oneshot()</title>
<updated>2017-03-23T19:14:04+00:00</updated>
<author>
<name>Nicolai Stange</name>
<email>nicstange@gmail.com</email>
</author>
<published>2017-02-06T21:12:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=a17e0178fa2898bd8c4ccaaefa83c729759a361c'/>
<id>urn:sha1:a17e0178fa2898bd8c4ccaaefa83c729759a361c</id>
<content type='text'>
With the upcoming NTP correction related rate adjustments to be implemented
in the clockevents core, the latter needs to get informed about every rate
change of a clockevent device made after its registration.

Currently, h8300_timer8 violates this requirement in that it registers its
clockevent device with the correct rate, but resets its -&gt;mult and -&gt;rate
values in timer8_clock_event_start(), called from its -&gt;set_state_oneshot()
function.

It seems like
  commit 4633f4cac85a ("clocksource/drivers/h8300: Cleanup startup and
                        remove module code."),
which introduced the rate initialization at registration, missed to remove
the manual setting of -&gt;mult and -&gt;shift from timer8_clock_event_start().

Purge the setting of -&gt;mult, -&gt;shift, -&gt;min_delta_ns and -&gt;max_delta_ns
from timer8_clock_event_start().

Signed-off-by: Nicolai Stange &lt;nicstange@gmail.com&gt;
Signed-off-by: John Stultz &lt;john.stultz@linaro.org&gt;
</content>
</entry>
<entry>
<title>clocksources: Switch back to the clksrc table</title>
<updated>2016-06-28T08:19:35+00:00</updated>
<author>
<name>Daniel Lezcano</name>
<email>daniel.lezcano@linaro.org</email>
</author>
<published>2016-06-06T22:27:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=177cf6e52b0a1a382b9892d3cc9aafd6e7c5943f'/>
<id>urn:sha1:177cf6e52b0a1a382b9892d3cc9aafd6e7c5943f</id>
<content type='text'>
All the clocksource drivers's init function are now converted to return
an error code. CLOCKSOURCE_OF_DECLARE is no longer used as well as the
clksrc-of table.

Let's convert back the names:
 - CLOCKSOURCE_OF_DECLARE_RET =&gt; CLOCKSOURCE_OF_DECLARE
 - clksrc-of-ret              =&gt; clksrc-of

Signed-off-by: Daniel Lezcano &lt;daniel.lezcano@linaro.org&gt;

For exynos_mct and samsung_pwm_timer:
Acked-by: Krzysztof Kozlowski &lt;k.kozlowski@samsung.com&gt;

For arch/arc:
Acked-by: Vineet Gupta &lt;vgupta@synopsys.com&gt;

For mediatek driver:
Acked-by: Matthias Brugger &lt;matthias.bgg@gmail.com&gt;

For the Rockchip-part
Acked-by: Heiko Stuebner &lt;heiko@sntech.de&gt;

For STi :
Acked-by: Patrice Chotard &lt;patrice.chotard@st.com&gt;

For the mps2-timer.c and versatile.c changes:
Acked-by: Liviu Dudau &lt;Liviu.Dudau@arm.com&gt;

For the OXNAS part :
Acked-by: Neil Armstrong &lt;narmstrong@baylibre.com&gt;

For LPC32xx driver:
Acked-by: Sylvain Lemieux &lt;slemieux.tyco@gmail.com&gt;

For Broadcom Kona timer change:
Acked-by: Ray Jui &lt;ray.jui@broadcom.com&gt;

For Sun4i and Sun5i:
Acked-by: Chen-Yu Tsai &lt;wens@csie.org&gt;

For Meson6:
Acked-by: Carlo Caione &lt;carlo@caione.org&gt;

For Keystone:
Acked-by: Santosh Shilimkar &lt;ssantosh@kernel.org&gt;

For NPS:
Acked-by: Noam Camus &lt;noamca@mellanox.com&gt;

For bcm2835:
Acked-by: Eric Anholt &lt;eric@anholt.net&gt;
</content>
</entry>
<entry>
<title>clocksource/drivers/h8300_timer8: Convert init function to return error</title>
<updated>2016-06-28T08:19:23+00:00</updated>
<author>
<name>Daniel Lezcano</name>
<email>daniel.lezcano@linaro.org</email>
</author>
<published>2016-06-06T15:56:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=691f8f878290f7a94b94fe238e28263982eb52ca'/>
<id>urn:sha1:691f8f878290f7a94b94fe238e28263982eb52ca</id>
<content type='text'>
The init functions do not return any error. They behave as the following:

  - panic, thus leading to a kernel crash while another timer may work and
       make the system boot up correctly

  or

  - print an error and let the caller unaware if the state of the system

Change that by converting the init functions to return an error conforming
to the CLOCKSOURCE_OF_RET prototype.

Proper error handling (rollback, errno value) will be changed later case
by case, thus this change just return back an error or success in the init
function.

Signed-off-by: Daniel Lezcano &lt;daniel.lezcano@linaro.org&gt;
</content>
</entry>
<entry>
<title>clocksource/drivers/h8300: Use ioread / iowrite</title>
<updated>2015-12-16T16:20:13+00:00</updated>
<author>
<name>Yoshinori Sato</name>
<email>ysato@users.sourceforge.jp</email>
</author>
<published>2015-12-04T17:48:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=d33f250af4e67d449f2c748b861ba99d50955469'/>
<id>urn:sha1:d33f250af4e67d449f2c748b861ba99d50955469</id>
<content type='text'>
Signed-off-by: Yoshinori Sato &lt;ysato@users.sourceforge.jp&gt;
Signed-off-by: Daniel Lezcano &lt;daniel.lezcano@linaro.org&gt;
</content>
</entry>
<entry>
<title>clocksource/drivers/h8300: Initializer cleanup.</title>
<updated>2015-12-16T10:33:35+00:00</updated>
<author>
<name>Yoshinori Sato</name>
<email>ysato@users.sourceforge.jp</email>
</author>
<published>2015-12-04T17:48:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=6f2b611db23404426a2b21b343392dc1d9584f92'/>
<id>urn:sha1:6f2b611db23404426a2b21b343392dc1d9584f92</id>
<content type='text'>
Signed-off-by: Yoshinori Sato &lt;ysato@users.sourceforge.jp&gt;
Signed-off-by: Daniel Lezcano &lt;daniel.lezcano@linaro.org&gt;
</content>
</entry>
<entry>
<title>clocksource/drivers/h8300: Simplify delta handling</title>
<updated>2015-12-16T10:33:33+00:00</updated>
<author>
<name>Yoshinori Sato</name>
<email>ysato@users.sourceforge.jp</email>
</author>
<published>2015-12-04T17:48:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=f37632d1e9ff8445e0d1ea761f4ce7b98e059d75'/>
<id>urn:sha1:f37632d1e9ff8445e0d1ea761f4ce7b98e059d75</id>
<content type='text'>
Signed-off-by: Yoshinori Sato &lt;ysato@users.sourceforge.jp&gt;
Signed-off-by: Daniel Lezcano &lt;daniel.lezcano@linaro.org&gt;
</content>
</entry>
<entry>
<title>h8300: Rename ctlr_out/in[bwl] to raw_read/write[bwl]</title>
<updated>2015-12-15T09:12:03+00:00</updated>
<author>
<name>Daniel Lezcano</name>
<email>daniel.lezcano@linaro.org</email>
</author>
<published>2015-11-08T21:55:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=751605152b4dbcdf3da2643c965ec1c3b734e11d'/>
<id>urn:sha1:751605152b4dbcdf3da2643c965ec1c3b734e11d</id>
<content type='text'>
For the sake of consistency, let rename all ctrl_out/in calls to the write/read
calls so we have the same API consistent with the other architectures hence
open the door for the increasing of the test compilation coverage.

The unsigned long coercive cast is removed because all variables are set to
the right type "void __iomem *".

Signed-off-by: Daniel Lezcano &lt;daniel.lezcano@linaro.org&gt;
</content>
</entry>
<entry>
<title>clocksource/drivers/h8300_timer8: Retrieve the clock rate at init time</title>
<updated>2015-12-15T08:42:20+00:00</updated>
<author>
<name>Daniel Lezcano</name>
<email>daniel.lezcano@linaro.org</email>
</author>
<published>2015-11-08T22:24:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=cce483e0ee70c2c9c6ff08e502b6f0bba3e15f62'/>
<id>urn:sha1:cce483e0ee70c2c9c6ff08e502b6f0bba3e15f62</id>
<content type='text'>
The current code retrieves the rate value when the timer is enabled which
occurs each time a timer is re-armed. Except if the clock frequency has changed
magically I don't see why this should be done each time.

Retrieve the clock rate value at init time only.

Signed-off-by: Daniel Lezcano &lt;daniel.lezcano@linaro.org&gt;
</content>
</entry>
<entry>
<title>clocksource/drivers/h8300_timer8: Remove irq and lock legacy code</title>
<updated>2015-12-15T08:42:18+00:00</updated>
<author>
<name>Daniel Lezcano</name>
<email>daniel.lezcano@linaro.org</email>
</author>
<published>2015-11-08T21:39:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=254d8b5d59516d670111e0ac14d53fed4d61118d'/>
<id>urn:sha1:254d8b5d59516d670111e0ac14d53fed4d61118d</id>
<content type='text'>
The time framawork takes care of disabling the interrupts and takes a lock
to prevent races.

Remove the legacy code in the driver taking care of the races.

Signed-off-by: Daniel Lezcano &lt;daniel.lezcano@linaro.org&gt;
</content>
</entry>
</feed>
