<feed xmlns='http://www.w3.org/2005/Atom'>
<title>lwn.git/drivers/clocksource/cs5535-clockevt.c, branch docs-mw</title>
<subtitle>Linux kernel documentation tree maintained by Jonathan Corbet</subtitle>
<id>http://mirrors.hust.edu.cn/git/lwn.git/atom?h=docs-mw</id>
<link rel='self' href='http://mirrors.hust.edu.cn/git/lwn.git/atom?h=docs-mw'/>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/'/>
<updated>2019-02-23T11:13:45+00:00</updated>
<entry>
<title>clocksource/drivers/timer-cs5535: Rename the file for consistency</title>
<updated>2019-02-23T11:13:45+00:00</updated>
<author>
<name>Daniel Lezcano</name>
<email>daniel.lezcano@linaro.org</email>
</author>
<published>2019-02-19T10:06:46+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=371eec9b822b25c0fd8523487a78050ad813db7e'/>
<id>urn:sha1:371eec9b822b25c0fd8523487a78050ad813db7e</id>
<content type='text'>
For the sake of consistency, let's rename the file to a name similar
to other file names in this directory.

Signed-off-by: Daniel Lezcano &lt;daniel.lezcano@linaro.org&gt;
</content>
</entry>
<entry>
<title>clockevents/drivers/cs5535: Improve resilience to spurious interrupts</title>
<updated>2017-10-20T11:41:52+00:00</updated>
<author>
<name>David Kozub</name>
<email>zub@linux.fjfi.cvut.cz</email>
</author>
<published>2017-10-19T20:57:02+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=eb39a7c0355393c5a8d930f342ad7a6231b552c4'/>
<id>urn:sha1:eb39a7c0355393c5a8d930f342ad7a6231b552c4</id>
<content type='text'>
The interrupt handler mfgpt_tick() is not robust versus spurious interrupts
which happen before the clock event device is registered and fully
initialized.

The reason is that the safe guard against spurious interrupts solely checks
for the clockevents shutdown state, but lacks a check for detached
state. If the interrupt hits while the device is in detached state it
passes the safe guard and dereferences the event handler call back which is
NULL.

Add the missing state check.

Fixes: 8f9327cbb6e8 ("clockevents/drivers/cs5535: Migrate to new 'set-state' interface")
Suggested-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Signed-off-by: David Kozub &lt;zub@linux.fjfi.cvut.cz&gt;
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: Daniel Lezcano &lt;daniel.lezcano@linaro.org&gt;
Cc: stable@vger.kernel.org
Link: https://lkml.kernel.org/r/20171020093103.3317F6004D@linux.fjfi.cvut.cz

</content>
</entry>
<entry>
<title>Annotate hardware config module parameters in drivers/clocksource/</title>
<updated>2017-04-20T11:02:32+00:00</updated>
<author>
<name>David Howells</name>
<email>dhowells@redhat.com</email>
</author>
<published>2017-04-04T15:54:22+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=cc9c617557cd0442294138188ac8611659768a10'/>
<id>urn:sha1:cc9c617557cd0442294138188ac8611659768a10</id>
<content type='text'>
When the kernel is running in secure boot mode, we lock down the kernel to
prevent userspace from modifying the running kernel image.  Whilst this
includes prohibiting access to things like /dev/mem, it must also prevent
access by means of configuring driver modules in such a way as to cause a
device to access or modify the kernel image.

To this end, annotate module_param* statements that refer to hardware
configuration and indicate for future reference what type of parameter they
specify.  The parameter parser in the core sees this information and can
skip such parameters with an error message if the kernel is locked down.
The module initialisation then runs as normal, but just sees whatever the
default values for those parameters is.

Note that we do still need to do the module initialisation because some
drivers have viable defaults set in case parameters aren't specified and
some drivers support automatic configuration (e.g. PNP or PCI) in addition
to manually coded parameters.

This patch annotates drivers in drivers/clocksource/.

[Note: With regard to cs5535-clockevt.c, Thomas Gleixner asked whether the
 timer_irq parameter is required for the driver to work on anything other than
 arbitrary hardware which has it mapped to 0.  Jens Rottmann replied that the
 parameter defaults to 0, which means:

	1. autodetect (=keep IRQ BIOS has set up)
	2. if that fails use CONFIG_CS5535_MFGPT_DEFAULT_IRQ
	   (see drivers/misc/cs5535-mfgpt.c: cs5535_mfgpt_set_irq())

 Jens further noted that there may not be any systems that have CS5535/36
 devices that support EFI and secure boot.]

Suggested-by: Alan Cox &lt;gnomes@lxorguk.ukuu.org.uk&gt;
Signed-off-by: David Howells &lt;dhowells@redhat.com&gt;
cc: Daniel Lezcano &lt;daniel.lezcano@linaro.org&gt;
cc: Thomas Gleixner &lt;tglx@linutronix.de&gt;
cc: Jens Rottmann &lt;Jens.Rottmann@ADLINKtech.com&gt;
cc: linux-kernel@vger.kernel.org
</content>
</entry>
<entry>
<title>clockevents/drivers/cs5535: Migrate to new 'set-state' interface</title>
<updated>2015-08-06T10:16:42+00:00</updated>
<author>
<name>Viresh Kumar</name>
<email>viresh.kumar@linaro.org</email>
</author>
<published>2015-06-12T08:00:16+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=8f9327cbb6e87ce1bed3e5dfbac70d8a96c6d1cc'/>
<id>urn:sha1:8f9327cbb6e87ce1bed3e5dfbac70d8a96c6d1cc</id>
<content type='text'>
Migrate cs5535 driver to the new 'set-state' interface provided by
the clockevents core, the earlier 'set-mode' interface is marked
obsolete now.

This also enables us to implement callbacks for new states of clockevent
devices, for example: ONESHOT_STOPPED.

Acked-by: Daniel Lezcano &lt;daniel.lezcano@linaro.org&gt;
Cc: Andres Salomon &lt;dilinger@queued.net&gt;
Signed-off-by: Viresh Kumar &lt;viresh.kumar@linaro.org&gt;
Signed-off-by: Daniel Lezcano &lt;daniel.lezcano@linaro.org&gt;
</content>
</entry>
<entry>
<title>clocksource: misc drivers: Remove deprecated IRQF_DISABLED</title>
<updated>2013-12-11T10:40:27+00:00</updated>
<author>
<name>Michael Opdenacker</name>
<email>michael.opdenacker@free-electrons.com</email>
</author>
<published>2013-12-09T09:12:10+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=38c30a8421ce8b06492121deee422ba7ecfaeef2'/>
<id>urn:sha1:38c30a8421ce8b06492121deee422ba7ecfaeef2</id>
<content type='text'>
This patch removes the use of the IRQF_DISABLED flag

It's a NOOP since 2.6.35 and it will be removed one day.

[dlezcano] : slightly changed the changelog

Signed-off-by: Michael Opdenacker &lt;michael.opdenacker@free-electrons.com&gt;
Signed-off-by: Daniel Lezcano &lt;daniel.lezcano@linaro.org&gt;
</content>
</entry>
<entry>
<title>clocksource: use clockevents_config_and_register() where possible</title>
<updated>2013-01-14T18:12:42+00:00</updated>
<author>
<name>Shawn Guo</name>
<email>shawn.guo@linaro.org</email>
</author>
<published>2013-01-12T11:50:06+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=77cc982f6a3b33a5aa058ad3b20cda8866db2948'/>
<id>urn:sha1:77cc982f6a3b33a5aa058ad3b20cda8866db2948</id>
<content type='text'>
The clockevent core is able to figure out the best mult and shift,
calculate min_delta_ns and max_delta_ns, with the necessary info passed
into clockevents_config_and_register().  Use this combined configure
and register function where possible to make the codes less error prone
and gain some positive diff stat.

Signed-off-by: Shawn Guo &lt;shawn.guo@linaro.org&gt;
Cc: Andres Salomon &lt;dilinger@queued.net&gt;
Cc: Nicolas Ferre &lt;nicolas.ferre@atmel.com&gt;
Acked-by: Maxime Ripard &lt;maxime.ripard@free-electrons.com&gt;
Acked-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Reviewed-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Signed-off-by: Olof Johansson &lt;olof@lixom.net&gt;
</content>
</entry>
<entry>
<title>cs5535-clockevt: typo, it's MFGPT, not MFPGT</title>
<updated>2012-08-21T23:45:02+00:00</updated>
<author>
<name>Jens Rottmann</name>
<email>JRottmann@LiPPERTEmbedded.de</email>
</author>
<published>2012-08-21T23:15:43+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=61e01be22e954f53a4bbac8066015d9f4ab9e42d'/>
<id>urn:sha1:61e01be22e954f53a4bbac8066015d9f4ab9e42d</id>
<content type='text'>
Signed-off-by: Jens Rottmann &lt;JRottmann@LiPPERTEmbedded.de&gt;
Cc: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: John Stultz &lt;john.stultz@linaro.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>cs5535-clockevt: Allow the MFGPT IRQ to be shared</title>
<updated>2012-03-06T13:17:45+00:00</updated>
<author>
<name>Jens Rottmann</name>
<email>JRottmann@LiPPERTEmbedded.de</email>
</author>
<published>2012-03-05T23:07:54+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=c0a239233331f7d6d2256dde80cb19fd6f9b3542'/>
<id>urn:sha1:c0a239233331f7d6d2256dde80cb19fd6f9b3542</id>
<content type='text'>
Shared timer IRQs are not a good solution, however the Geode platform has
no APIC, IRQs are a scarce resource and there is no technical reason to
forbid it rightaway.  Increased latencies and overhead due to sharing are
still better than a driver refusing to load.

Signed-off-by: Jens Rottmann &lt;JRottmann@LiPPERTEmbedded.de&gt;
Acked-by: Andres Salomon &lt;dilinger@queued.net&gt;
Cc: John Stultz &lt;john.stultz@linaro.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
</content>
</entry>
<entry>
<title>cs5535-clockevt: Don't ignore MFGPT on SMP-capable kernels</title>
<updated>2012-03-06T13:17:44+00:00</updated>
<author>
<name>Jens Rottmann</name>
<email>JRottmann@LiPPERTEmbedded.de</email>
</author>
<published>2012-03-05T23:07:54+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=fc579da75f0151eec4c465b0f79b4ef8e3dfb8c2'/>
<id>urn:sha1:fc579da75f0151eec4c465b0f79b4ef8e3dfb8c2</id>
<content type='text'>
On SMP-capable kernels (e.g.  generic distro kernel) the cs5535-clockevt
driver loads but is not actually used.

Setting cpumask to cpu_all_mask works for UP-only kernels, but if compiled
for SMP - though still running on the same UP hardware -
kernel/time/tick-common.c:tick_check_new_device() reads this as
"non-cpu-local" and silently ignores the device.

If we leave cpumask unset clockevents_register_device() will initialize it
and the cs5535-clockevt driver will be used no matter how the kernel was
compiled.  Should anyone ever manage to stick a CS553x in an SMP system
(is this even possible?) then a warning will be printed.  This is fine as
the cs5535-clockevt driver was never written/tested for SMP.

If bisecting led you here this patch may have exposed a pre-existing MFGPT
problem.  Configure for UP-only and re-check.

Signed-off-by: Jens Rottmann &lt;JRottmann@LiPPERTEmbedded.de&gt;
Acked-by: Andres Salomon &lt;dilinger@queued.net&gt;
Cc: John Stultz &lt;john.stultz@linaro.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
</content>
</entry>
<entry>
<title>Andres has moved</title>
<updated>2010-07-20T23:25:41+00:00</updated>
<author>
<name>Andres Salomon</name>
<email>dilinger@queued.net</email>
</author>
<published>2010-07-20T20:24:32+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=d45840d9f04be4d8c0288066f37bca3a448f7471'/>
<id>urn:sha1:d45840d9f04be4d8c0288066f37bca3a448f7471</id>
<content type='text'>
My Collabora address is no longer enabled - update the MODULE_AUTHOR
fields of drivers to my current email address.

Signed-off-by: Andres Salomon &lt;dilinger@queued.net&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
</feed>
