<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/drivers/rtc/rtc-imxdi.c, branch linux-4.16.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.</subtitle>
<id>https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-4.16.y</id>
<link rel='self' href='https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-4.16.y'/>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/'/>
<updated>2017-06-20T10:19:14Z</updated>
<entry>
<title>sched/wait: Disambiguate wq_entry-&gt;task_list and wq_head-&gt;task_list naming</title>
<updated>2017-06-20T10:19:14Z</updated>
<author>
<name>Ingo Molnar</name>
<email>mingo@kernel.org</email>
</author>
<published>2017-06-20T10:06:46Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=2055da97389a605c8a00d163d40903afbe413921'/>
<id>urn:sha1:2055da97389a605c8a00d163d40903afbe413921</id>
<content type='text'>
So I've noticed a number of instances where it was not obvious from the
code whether -&gt;task_list was for a wait-queue head or a wait-queue entry.

Furthermore, there's a number of wait-queue users where the lists are
not for 'tasks' but other entities (poll tables, etc.), in which case
the 'task_list' name is actively confusing.

To clear this all up, name the wait-queue head and entry list structure
fields unambiguously:

	struct wait_queue_head::task_list	=&gt; ::head
	struct wait_queue_entry::task_list	=&gt; ::entry

For example, this code:

	rqw-&gt;wait.task_list.next != &amp;wait-&gt;task_list

... is was pretty unclear (to me) what it's doing, while now it's written this way:

	rqw-&gt;wait.head.next != &amp;wait-&gt;entry

... which makes it pretty clear that we are iterating a list until we see the head.

Other examples are:

	list_for_each_entry_safe(pos, next, &amp;x-&gt;task_list, task_list) {
	list_for_each_entry(wq, &amp;fence-&gt;wait.task_list, task_list) {

... where it's unclear (to me) what we are iterating, and during review it's
hard to tell whether it's trying to walk a wait-queue entry (which would be
a bug), while now it's written as:

	list_for_each_entry_safe(pos, next, &amp;x-&gt;head, entry) {
	list_for_each_entry(wq, &amp;fence-&gt;wait.head, entry) {

Cc: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Cc: Peter Zijlstra &lt;peterz@infradead.org&gt;
Cc: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Ingo Molnar &lt;mingo@kernel.org&gt;
</content>
</entry>
<entry>
<title>rtc: constify rtc_class_ops structures</title>
<updated>2017-01-11T16:23:06Z</updated>
<author>
<name>Bhumika Goyal</name>
<email>bhumirks@gmail.com</email>
</author>
<published>2017-01-05T16:55:05Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=8bc57e7f11971665b4a7886305dffcd27213d718'/>
<id>urn:sha1:8bc57e7f11971665b4a7886305dffcd27213d718</id>
<content type='text'>
Declare rtc_class_ops structures as const as they are only passed
as an argument to the function devm_rtc_device_register. This argument
is of type const struct rtc_class_ops *, so rtc_class_ops structures
having this property can be declared const.
Done using Coccinelle:

@r1 disable optional_qualifier @
identifier i;
position p;
@@
static struct rtc_class_ops i@p = {...};

@ok1@
identifier r1.i;
position p;
@@
devm_rtc_device_register(...,&amp;i@p,...)

@bad@
position p!={r1.p,ok1.p};
identifier r1.i;
@@
i@p

@depends on !bad disable optional_qualifier@
identifier r1.i;
@@
+const
struct rtc_class_ops i;

Signed-off-by: Bhumika Goyal &lt;bhumirks@gmail.com&gt;
Signed-off-by: Alexandre Belloni &lt;alexandre.belloni@free-electrons.com&gt;
</content>
</entry>
<entry>
<title>rtc: imxdi: use the security violation interrupt</title>
<updated>2017-01-11T16:23:05Z</updated>
<author>
<name>Martin Kaiser</name>
<email>martin@kaiser.cx</email>
</author>
<published>2017-01-03T18:49:50Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=fef1eeb1a787653aa3fa028be1d898609bf69094'/>
<id>urn:sha1:fef1eeb1a787653aa3fa028be1d898609bf69094</id>
<content type='text'>
The DryIce chipset has a dedicated security violation interrupt that is
triggered for security violations (if configured to do so).  According
to the publicly available imx258 reference manual, irq 56 is used for
this interrupt.

If an irq number is provided for the security violation interrupt,
install the same handler that we're already using for the "normal"
interrupt.

imxdi-&gt;irq is used only in the probe function, make it a local variable.

Signed-off-by: Martin Kaiser &lt;martin@kaiser.cx&gt;
Signed-off-by: Alexandre Belloni &lt;alexandre.belloni@free-electrons.com&gt;
</content>
</entry>
<entry>
<title>rtc: imxdi: (trivial) fix a typo</title>
<updated>2016-12-07T15:47:47Z</updated>
<author>
<name>Martin Kaiser</name>
<email>martin@kaiser.cx</email>
</author>
<published>2016-11-19T13:03:33Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=b88e0ae958267dc63bea661d66c15f61ba1dd93c'/>
<id>urn:sha1:b88e0ae958267dc63bea661d66c15f61ba1dd93c</id>
<content type='text'>
Fix a typo

Signed-off-by: Martin Kaiser &lt;martin@kaiser.cx&gt;
Signed-off-by: Alexandre Belloni &lt;alexandre.belloni@free-electrons.com&gt;
</content>
</entry>
<entry>
<title>rtc: imxdi: fix spelling mistake in warning message</title>
<updated>2016-01-11T19:19:58Z</updated>
<author>
<name>Colin Ian King</name>
<email>colin.king@canonical.com</email>
</author>
<published>2015-11-28T16:38:40Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=d5878a869fe8c272d3a843a47ef0716c91ba3e25'/>
<id>urn:sha1:d5878a869fe8c272d3a843a47ef0716c91ba3e25</id>
<content type='text'>
Minor issue, fix spelling mistake, happend -&gt; happened

Signed-off-by: Colin Ian King &lt;colin.king@canonical.com&gt;
Signed-off-by: Alexandre Belloni &lt;alexandre.belloni@free-electrons.com&gt;
</content>
</entry>
<entry>
<title>rtc: imxdi: when locked, do not fail silently</title>
<updated>2015-06-19T18:03:21Z</updated>
<author>
<name>Juergen Borleis</name>
<email>jbe@pengutronix.de</email>
</author>
<published>2015-04-27T13:59:51Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=9bb698c60a12d3b5db62f99a0874565c791e998b'/>
<id>urn:sha1:9bb698c60a12d3b5db62f99a0874565c791e998b</id>
<content type='text'>
If the DryICE unit is locked it is impossible to set the time. Provide an
error message for this case.

Signed-off-by: Juergen Borleis &lt;jbe@pengutronix.de&gt;
Signed-off-by: Robert Schwebel &lt;rsc@pengutronix.de&gt;
[rsc: got NDA clearance from Freescale]
Signed-off-by: Alexandre Belloni &lt;alexandre.belloni@free-electrons.com&gt;
</content>
</entry>
<entry>
<title>rtc: imxdi: monitor a security violation at runtime</title>
<updated>2015-06-19T18:03:21Z</updated>
<author>
<name>Juergen Borleis</name>
<email>jbe@pengutronix.de</email>
</author>
<published>2015-04-27T13:59:50Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=a7c535e3a8e50e625750d2aa0ed4f84591ca7bfa'/>
<id>urn:sha1:a7c535e3a8e50e625750d2aa0ed4f84591ca7bfa</id>
<content type='text'>
Maybe the unit enters the hardware related state at runtime and not at
system boot time (after a power cycle).

Signed-off-by: Juergen Borleis &lt;jbe@pengutronix.de&gt;
Signed-off-by: Robert Schwebel &lt;rsc@pengutronix.de&gt;
[rsc: got NDA clearance from Freescale]
Signed-off-by: Alexandre Belloni &lt;alexandre.belloni@free-electrons.com&gt;
</content>
</entry>
<entry>
<title>rtc: imxdi: add the unit recovery code</title>
<updated>2015-06-19T18:03:21Z</updated>
<author>
<name>Juergen Borleis</name>
<email>jbe@pengutronix.de</email>
</author>
<published>2015-04-27T13:59:49Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=c7e9bbe022c7bee57d9e14b42a7c3732da8db558'/>
<id>urn:sha1:c7e9bbe022c7bee57d9e14b42a7c3732da8db558</id>
<content type='text'>
This code is required to recover the unit from a security violation.
Hopefully this code can recover the unit from a hardware related invalid
state as well.

Signed-off-by: Juergen Borleis &lt;jbe@pengutronix.de&gt;
Signed-off-by: Robert Schwebel &lt;rsc@pengutronix.de&gt;
[rsc: got NDA clearance from Freescale]
Signed-off-by: Alexandre Belloni &lt;alexandre.belloni@free-electrons.com&gt;
</content>
</entry>
<entry>
<title>rtc: imxdi: add some background info about the states the machine can be in</title>
<updated>2015-06-19T18:03:21Z</updated>
<author>
<name>Juergen Borleis</name>
<email>jbe@pengutronix.de</email>
</author>
<published>2015-04-27T13:59:48Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=3ba3fab765beecd599d8e8e00dc2ed4306518dfd'/>
<id>urn:sha1:3ba3fab765beecd599d8e8e00dc2ed4306518dfd</id>
<content type='text'>
Document the i.MX DryIce machine states.

Signed-off-by: Juergen Borleis &lt;jbe@pengutronix.de&gt;
Signed-off-by: Robert Schwebel &lt;rsc@pengutronix.de&gt;
[rsc: got NDA clearance from Freescale]
Signed-off-by: Alexandre Belloni &lt;alexandre.belloni@free-electrons.com&gt;
</content>
</entry>
<entry>
<title>rtc: imxdi: avoid the __raw* register access functions</title>
<updated>2015-06-19T18:03:20Z</updated>
<author>
<name>Juergen Borleis</name>
<email>jbe@pengutronix.de</email>
</author>
<published>2015-04-27T13:59:47Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=e30d31317bb01832379d86826cba1e3dcff78987'/>
<id>urn:sha1:e30d31317bb01832379d86826cba1e3dcff78987</id>
<content type='text'>
Be independent of the endianness of the kernel.

Signed-off-by: Juergen Borleis &lt;jbe@pengutronix.de&gt;
Signed-off-by: Alexandre Belloni &lt;alexandre.belloni@free-electrons.com&gt;
</content>
</entry>
</feed>
