<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/mfd/stmpe.c, branch linux-4.9.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.9.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.9.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2021-09-22T09:43:10Z</updated>
<entry>
<title>mfd: Don't use irq_create_mapping() to resolve a mapping</title>
<updated>2021-09-22T09:43:10Z</updated>
<author>
<name>Marc Zyngier</name>
</author>
<published>2021-07-25T18:07:54Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c424a75ba2a88cade67932ef86e075dea2f69d42'/>
<id>urn:sha1:c424a75ba2a88cade67932ef86e075dea2f69d42</id>
<content type='text'>
[ Upstream commit 9ff80e2de36d0554e3a6da18a171719fe8663c17 ]

Although irq_create_mapping() is able to deal with duplicate
mappings, it really isn't supposed to be a substitute for
irq_find_mapping(), and can result in allocations that take place
in atomic context if the mapping didn't exist.

Fix the handful of MFD drivers that use irq_create_mapping() in
interrupt context by using irq_find_mapping() instead.

Cc: Linus Walleij &lt;linus.walleij@linaro.org&gt;
Cc: Lee Jones &lt;lee.jones@linaro.org&gt;
Cc: Maxime Coquelin &lt;mcoquelin.stm32@gmail.com&gt;
Cc: Alexandre Torgue &lt;alexandre.torgue@foss.st.com&gt;
Signed-off-by: Marc Zyngier &lt;maz@kernel.org&gt;
Signed-off-by: Lee Jones &lt;lee.jones@linaro.org&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>mfd: stmpe: Fix RESET regression on STMPE2401</title>
<updated>2016-11-16T09:50:33Z</updated>
<author>
<name>Linus Walleij</name>
</author>
<published>2016-11-01T09:22:53Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f40584200bc4af7aa4399635b9ac213c62a13ae7'/>
<id>urn:sha1:f40584200bc4af7aa4399635b9ac213c62a13ae7</id>
<content type='text'>
Since commit c4dd1ba355aae2bc3d1213da6c66c53e3c31e028
("mfd: stmpe: Add reset support for all STMPE variant")
we're resetting the STMPE expanders before use.

This caused a regression on the STMP2401 on the Nomadik
NHK8815:

stmpe-i2c 0-0043: stmpe2401 detected, chip id: 0x101
nmk-i2c 101f8000.i2c0: write to slave 0x43 timed out
nmk-i2c 101f8000.i2c0: no ack received after address transmission
stmpe-i2c 0-0044: stmpe2401 detected, chip id: 0x101
nmk-i2c 101f8000.i2c0: write to slave 0x44 timed out
nmk-i2c 101f8000.i2c0: no ack received after address transmission

It turns out that we start to poll for the reset bit to
go low again too quickly: the STMPE2401 is not yet online and
ready to be asked for the status of the RESET bit.

By introducing a 10ms delay before starting to hammer
the register for information, we get back to normal:

stmpe-i2c 0-0043: stmpe2401 detected, chip id: 0x101
stmpe-i2c 0-0044: stmpe2401 detected, chip id: 0x101

Cc: stable@vger.kernel.org
Cc: Amelie Delaunay &lt;amelie.delaunay@st.com&gt;
Fixes: c4dd1ba355aa ("mfd: stmpe: Add reset support for all STMPE variant")
Signed-off-by: Linus Walleij &lt;linus.walleij@linaro.org&gt;
Acked-by: Patrice Chotard &lt;patrice.chotard@st.com&gt;
Signed-off-by: Lee Jones &lt;lee.jones@linaro.org&gt;
</content>
</entry>
<entry>
<title>mfd: Add STMPE1600 support</title>
<updated>2016-08-10T08:25:18Z</updated>
<author>
<name>Patrice Chotard</name>
</author>
<published>2016-08-10T07:39:14Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6bb9f0d93399cbde14fc6a1532341a14a85d2df4'/>
<id>urn:sha1:6bb9f0d93399cbde14fc6a1532341a14a85d2df4</id>
<content type='text'>
STMPE1600 is a 16-bit port expander.
Datasheet is available here :
http://www2.st.com/content/st_com/en/products/interfaces-and-transceivers/
i-o-expanders-and-level-translators/i-o-expanders/stmpe1600.html

Signed-off-by: Amelie DELAUNAY &lt;amelie.delaunay@st.com&gt;
Signed-off-by: Patrice Chotard &lt;patrice.chotard@st.com&gt;
Acked-by: Linus Walleij &lt;linus.walleij@linaro.org&gt;
Signed-off-by: Lee Jones &lt;lee.jones@linaro.org&gt;
</content>
</entry>
<entry>
<title>mfd: stmpe: Rework registers access</title>
<updated>2016-08-10T08:24:39Z</updated>
<author>
<name>Patrice Chotard</name>
</author>
<published>2016-08-10T07:39:11Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=897ac6674c64ca94df5b70ea5c6815a296e1d32a'/>
<id>urn:sha1:897ac6674c64ca94df5b70ea5c6815a296e1d32a</id>
<content type='text'>
this update allows to use registers map as following :
regs[reg_index + offset] instead of
regs[reg_index] + offset

This makes code clearer and will facilitate the addition of STMPE1600
on which LSB and MSB registers are respectively located at addr and addr + 1.
Despite for all others STMPE variant, LSB and MSB registers are respectively
located in reverse order at addr + 1 and addr.

For variant which have 3 registers's bank, we use LSB,CSB and MSB indexes
which contains respectively LSB (or LOW), CSB (or MID) and MSB (or HIGH)
register addresses (STMPE1801/STMPE24xx).
For variant which have 2 registers's bank, we use LSB and CSB indexes only.
In this case the CSB index contains the MSB regs address (STMPE 1601).

Signed-off-by: Patrice Chotard &lt;patrice.chotard@st.com&gt;
Reviewed-by: Linus Walleij &lt;linus.walleij@linaro.org&gt;
Signed-off-by: Lee Jones &lt;lee.jones@linaro.org&gt;
</content>
</entry>
<entry>
<title>mfd: stmpe: Use generic bit mask name</title>
<updated>2016-08-10T08:24:29Z</updated>
<author>
<name>Patrice Chotard</name>
</author>
<published>2016-08-10T07:39:10Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c16bee7897bffc3814390c9279bf01137a6bd595'/>
<id>urn:sha1:c16bee7897bffc3814390c9279bf01137a6bd595</id>
<content type='text'>
In order to prepare the ground to STMPE1600,
as STMPE1600's SYS_CTRL register has the same layout as
STMPE801 variant, unify STMPExxx_REG_SYS_CTRL_RESET/INT_EN/INT_HI
bit masks to more generic STMPE_SYS_CTRL_RESET/INT_EN/INT_HI

Signed-off-by: Patrice Chotard &lt;patrice.chotard@st.com&gt;
Signed-off-by: Lee Jones &lt;lee.jones@linaro.org&gt;
</content>
</entry>
<entry>
<title>mfd: stmpe: Add reset support for all STMPE variant</title>
<updated>2016-08-10T08:23:33Z</updated>
<author>
<name>Patrice Chotard</name>
</author>
<published>2016-08-10T07:39:07Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c4dd1ba355aae2bc3d1213da6c66c53e3c31e028'/>
<id>urn:sha1:c4dd1ba355aae2bc3d1213da6c66c53e3c31e028</id>
<content type='text'>
Reset was only implemented for STMPE1801 variant despite
all variant have a SOFT_RESET bit.

For STMPE2401/2403/801/1601/1801 SOFT_RESET bit is bit 7
of SYS_CTRL register.
For STMPE610/811 (which have the same variant id) SOFT_RESET
bit is bit 1 of SYS_CTRL register.

Signed-off-by: Patrice Chotard &lt;patrice.chotard@st.com&gt;
Acked-by: Linus Walleij &lt;linus.walleij@linaro.org&gt;
Signed-off-by: Lee Jones &lt;lee.jones@linaro.org&gt;
</content>
</entry>
<entry>
<title>mfd: stmpe: Add STMPE_IDX_SYS_CTRL/2 enum</title>
<updated>2016-08-10T08:23:25Z</updated>
<author>
<name>Patrice Chotard</name>
</author>
<published>2016-08-10T07:39:06Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0f4be8cf637ea4637faba8a0e4bf2270287c6ba0'/>
<id>urn:sha1:0f4be8cf637ea4637faba8a0e4bf2270287c6ba0</id>
<content type='text'>
As STMPE1801/1601/24xx has a SYS_CTRL register and
STMPE1601/2403 has even a SYS_CTRL2 register, add
STMPE_IDX_SYS_CTRL/2 and update driver code accordingly

This update prepares the ground for not yet supported STMPE1600
which share similar REG_SYS_CTRL register.

Signed-off-by: Patrice Chotard &lt;patrice.chotard@st.com&gt;
Acked-by: Linus Walleij &lt;linus.walleij@linaro.org&gt;
Signed-off-by: Lee Jones &lt;lee.jones@linaro.org&gt;
</content>
</entry>
<entry>
<title>mfd: stmpe: Move platform data into MFD driver</title>
<updated>2016-06-29T09:15:51Z</updated>
<author>
<name>Linus Walleij</name>
</author>
<published>2016-05-25T12:22:02Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=fc1882dcb5031953169a38260a0e653910825e46'/>
<id>urn:sha1:fc1882dcb5031953169a38260a0e653910825e46</id>
<content type='text'>
The STMPE platform data is only populated from the device tree
in all existing users, so push the struct and make the OF case
the norm.

Signed-off-by: Linus Walleij &lt;linus.walleij@linaro.org&gt;
Signed-off-by: Lee Jones &lt;lee.jones@linaro.org&gt;
</content>
</entry>
<entry>
<title>mfd: stmpe: Add the proper PWM resources</title>
<updated>2016-03-16T08:50:37Z</updated>
<author>
<name>Linus Walleij</name>
</author>
<published>2016-02-14T13:07:07Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b273c5e0b65a98003e6fde6bf2eeba15d1ce8cf4'/>
<id>urn:sha1:b273c5e0b65a98003e6fde6bf2eeba15d1ce8cf4</id>
<content type='text'>
This adds the PWM resources to the STMPE MFD driver, so that
it can properly grab and use them.

Signed-off-by: Linus Walleij &lt;linus.walleij@linaro.org&gt;
Signed-off-by: Lee Jones &lt;lee.jones@linaro.org&gt;
</content>
</entry>
<entry>
<title>mfd: stmpe: PWM on 24xx has altfunc 1</title>
<updated>2015-10-26T14:48:57Z</updated>
<author>
<name>Linus Walleij</name>
</author>
<published>2015-08-27T21:50:02Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f6d10341390d5d5bda1122dc5365e34d78f672ee'/>
<id>urn:sha1:f6d10341390d5d5bda1122dc5365e34d78f672ee</id>
<content type='text'>
On the STMPE2401 and STMPE2401 altfunction 1 corresponds to the
PWM channels. This oneliner was missing in the case-switch, making
it impossible to enable the PWM channel output.

Signed-off-by: Linus Walleij &lt;linus.walleij@linaro.org&gt;
Signed-off-by: Lee Jones &lt;lee.jones@linaro.org&gt;
</content>
</entry>
</feed>
