<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/mfd/madera-core.c, branch linux-5.10.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.10.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.10.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2025-12-06T21:08:10Z</updated>
<entry>
<title>mfd: madera: Work around false-positive -Wininitialized warning</title>
<updated>2025-12-06T21:08:10Z</updated>
<author>
<name>Arnd Bergmann</name>
</author>
<published>2025-08-07T07:19:28Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d33e5be1aee6f5b99e74a6536d7a7e1436c136b0'/>
<id>urn:sha1:d33e5be1aee6f5b99e74a6536d7a7e1436c136b0</id>
<content type='text'>
[ Upstream commit 364752aa0c6ab0a06a2d5bfdb362c1ca407f1a30 ]

clang-21 warns about one uninitialized variable getting dereferenced
in madera_dev_init:

drivers/mfd/madera-core.c:739:10: error: variable 'mfd_devs' is uninitialized when used here [-Werror,-Wuninitialized]
  739 |                               mfd_devs, n_devs,
      |                               ^~~~~~~~
drivers/mfd/madera-core.c:459:33: note: initialize the variable 'mfd_devs' to silence this warning
  459 |         const struct mfd_cell *mfd_devs;
      |                                        ^
      |                                         = NULL

The code is actually correct here because n_devs is only nonzero
when mfd_devs is a valid pointer, but this is impossible for the
compiler to see reliably.

Change the logic to check for the pointer as well, to make this easier
for the compiler to follow.

Signed-off-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Reviewed-by: Richard Fitzgerald &lt;rf@opensource.cirrus.com&gt;
Link: https://lore.kernel.org/r/20250807071932.4085458-1-arnd@kernel.org
Signed-off-by: Lee Jones &lt;lee@kernel.org&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>mfd: madera: Simplify with dev_err_probe()</title>
<updated>2020-09-30T15:24:57Z</updated>
<author>
<name>Krzysztof Kozlowski</name>
</author>
<published>2020-08-26T14:49:33Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f104563fe08047b18cd3c96b41de0bc9c16739c7'/>
<id>urn:sha1:f104563fe08047b18cd3c96b41de0bc9c16739c7</id>
<content type='text'>
Common pattern of handling deferred probe can be simplified with
dev_err_probe().  Less code and also it prints the error value.

Signed-off-by: Krzysztof Kozlowski &lt;krzk@kernel.org&gt;
Acked-by: Charles Keepax &lt;ckeepax@opensource.cirrus.com&gt;
Signed-off-by: Lee Jones &lt;lee.jones@linaro.org&gt;
</content>
</entry>
<entry>
<title>mfd: madera: Improve handling of regulator unbinding</title>
<updated>2020-08-13T06:50:54Z</updated>
<author>
<name>Charles Keepax</name>
</author>
<published>2020-07-23T10:54:59Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=77b3ddab713a2276c789a8e1beb339ce185cebc2'/>
<id>urn:sha1:77b3ddab713a2276c789a8e1beb339ce185cebc2</id>
<content type='text'>
The current unbinding process for Madera has some issues. The trouble
is runtime PM is disabled as the first step of the process, but
some of the drivers release IRQs causing regmap IRQ to issue a
runtime get which fails. To allow runtime PM to remain enabled during
mfd_remove_devices, the DCVDD regulator must remain available. In
the case of external DCVDD's this is simple, the regulator can simply
be disabled/put after the call to mfd_remove_devices. However, in
the case of an internally supplied DCVDD the regulator needs to be
released after the other MFD children depending on it.

Use the new MFD mfd_remove_devices_late functionality to split
the DCVDD regulator off from the other drivers.

Signed-off-by: Charles Keepax &lt;ckeepax@opensource.cirrus.com&gt;
Signed-off-by: Lee Jones &lt;lee.jones@linaro.org&gt;
</content>
</entry>
<entry>
<title>mfd: madera: Fix minor formatting issues</title>
<updated>2020-06-18T10:23:15Z</updated>
<author>
<name>Charles Keepax</name>
</author>
<published>2020-06-15T13:53:23Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b92735f45f99c9bdcf93ce822fab56231e64a904'/>
<id>urn:sha1:b92735f45f99c9bdcf93ce822fab56231e64a904</id>
<content type='text'>
The mfd_cell structures inconsistently use commas on single entries in
the table, make this consistent by always using a comma. Also remove an
extra blank line.

Signed-off-by: Charles Keepax &lt;ckeepax@opensource.cirrus.com&gt;
Signed-off-by: Lee Jones &lt;lee.jones@linaro.org&gt;
</content>
</entry>
<entry>
<title>mfd: madera: Allow more time for hardware reset</title>
<updated>2020-01-24T07:33:58Z</updated>
<author>
<name>Charles Keepax</name>
</author>
<published>2020-01-14T15:10:48Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=003035b3eb7085ee7d85f7ed063f10acf66b56d4'/>
<id>urn:sha1:003035b3eb7085ee7d85f7ed063f10acf66b56d4</id>
<content type='text'>
Both manual and power on resets have a brief period where the chip will
not be accessible immediately afterwards. Extend the time allowed for
this from a minimum of 1mS to 2mS based on newer evaluation of the
hardware and ensure this reset happens in all reset conditions. Whilst
making the change also remove the redundant NULL checks in the reset
functions as the GPIO functions already check for this.

Signed-off-by: Charles Keepax &lt;ckeepax@opensource.cirrus.com&gt;
Signed-off-by: Lee Jones &lt;lee.jones@linaro.org&gt;
</content>
</entry>
<entry>
<title>mfd: madera: Wait for boot done before accessing any other registers</title>
<updated>2020-01-24T07:33:58Z</updated>
<author>
<name>Charles Keepax</name>
</author>
<published>2020-01-06T10:28:34Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7f6d869846eca3800bf0a7fe080260bcc6439c2c'/>
<id>urn:sha1:7f6d869846eca3800bf0a7fe080260bcc6439c2c</id>
<content type='text'>
It is advised to wait for the boot done bit to be set before reading
any other register, update the driver to respect this.

Signed-off-by: Charles Keepax &lt;ckeepax@opensource.cirrus.com&gt;
Signed-off-by: Lee Jones &lt;lee.jones@linaro.org&gt;
</content>
</entry>
<entry>
<title>mfd: madera: Add support for requesting the supply clocks</title>
<updated>2019-11-11T08:45:03Z</updated>
<author>
<name>Charles Keepax</name>
</author>
<published>2019-10-21T13:58:13Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1e624fce3a1ca03fcea167cc43399d0073472edc'/>
<id>urn:sha1:1e624fce3a1ca03fcea167cc43399d0073472edc</id>
<content type='text'>
Add the ability to get the clock for each clock input pin of the chip
and enable MCLK2 since that is expected to be a permanently enabled
32kHz clock.

Signed-off-by: Charles Keepax &lt;ckeepax@opensource.cirrus.com&gt;
Signed-off-by: Lee Jones &lt;lee.jones@linaro.org&gt;
</content>
</entry>
<entry>
<title>mfd: madera: Fixup SPDX headers</title>
<updated>2019-07-02T11:11:31Z</updated>
<author>
<name>Charles Keepax</name>
</author>
<published>2019-06-26T13:33:36Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d6871a73387d51dfdde6ad1479aea54d3eafcc89'/>
<id>urn:sha1:d6871a73387d51dfdde6ad1479aea54d3eafcc89</id>
<content type='text'>
GPL-2.0-only is the preferred way of expressing v2 of the GPL, so switch
to that. Remove some redundant copyright notices and correct some
instances where the wrong comment type has been used in header files.

Signed-off-by: Charles Keepax &lt;ckeepax@opensource.cirrus.com&gt;
Signed-off-by: Lee Jones &lt;lee.jones@linaro.org&gt;
</content>
</entry>
<entry>
<title>mfd: madera: Add Madera core support for CS47L92</title>
<updated>2019-07-02T11:11:31Z</updated>
<author>
<name>Richard Fitzgerald</name>
</author>
<published>2019-05-30T14:39:53Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=297939901f382f16ab78a8073cdfb2a6279bb654'/>
<id>urn:sha1:297939901f382f16ab78a8073cdfb2a6279bb654</id>
<content type='text'>
This patch adds all the core support and defines for the Cirrus
Logic CS42L92, CS47L92 and CS47L93 smart audio CODECs.

Registers or fields are named MADERA_* if it is part of the
common hardware platform and does not conflict with any other
Madera codecs. It is named CS47L15_* if it is unique to CS47L15
and conflicts with definitions on other codecs.

Signed-off-by: Stuart Henderson &lt;stuarth@opensource.cirrus.com&gt;
Signed-off-by: Richard Fitzgerald &lt;rf@opensource.cirrus.com&gt;
Signed-off-by: Charles Keepax &lt;ckeepax@opensource.cirrus.com&gt;
Signed-off-by: Lee Jones &lt;lee.jones@linaro.org&gt;
</content>
</entry>
<entry>
<title>mfd: madera: Add Madera core support for CS47L15</title>
<updated>2019-07-02T11:11:31Z</updated>
<author>
<name>Richard Fitzgerald</name>
</author>
<published>2019-05-30T14:39:52Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1ef921b6d1b68887be22f02dabc6ae73c112dce4'/>
<id>urn:sha1:1ef921b6d1b68887be22f02dabc6ae73c112dce4</id>
<content type='text'>
This patch adds all the core support and defines for the Cirrus
Logic CS47L15 smart audio CODEC.

Registers or fields are named MADERA_* if it is part of the
common hardware platform and does not conflict with any other
Madera codecs. It is named CS47L15_* if it is unique to CS47L15
and conflicts with definitions on other codecs.

Signed-off-by: Richard Fitzgerald &lt;rf@opensource.cirrus.com&gt;
Signed-off-by: Charles Keepax &lt;ckeepax@opensource.cirrus.com&gt;
Signed-off-by: Lee Jones &lt;lee.jones@linaro.org&gt;
</content>
</entry>
</feed>
