<feed xmlns='http://www.w3.org/2005/Atom'>
<title>opensbi.git/lib/utils/reset/fdt_reset.c, branch v1.6</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<id>http://cgit.235523.xyz/opensbi.git/atom/lib/utils/reset/fdt_reset.c?h=v1.6</id>
<link rel='self' href='http://cgit.235523.xyz/opensbi.git/atom/lib/utils/reset/fdt_reset.c?h=v1.6'/>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/opensbi.git/'/>
<updated>2024-11-28T12:18:17Z</updated>
<entry>
<title>lib: utils/reset: Use fdt_driver for initialization</title>
<updated>2024-11-28T12:18:17Z</updated>
<author>
<name>Samuel Holland</name>
<email>samuel.holland@sifive.com</email>
</author>
<published>2024-11-11T22:02:53Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/opensbi.git/commit/?id=6d9ad492dbfdda00add7ff15a8599736f46d040a'/>
<id>urn:sha1:6d9ad492dbfdda00add7ff15a8599736f46d040a</id>
<content type='text'>
The reset driver subsystem does not need any extra data, so it can use
`struct fdt_driver` directly. The generic fdt_reset_init() performs a
best-effort initialization of all matching DT nodes. Platform-specific
logic expects exactly one DT node to match a single driver. This is
accomplished by using fdt_driver_init_one() with a local list containing
that one driver.

Signed-off-by: Samuel Holland &lt;samuel.holland@sifive.com&gt;
Reviewed-by: Anup Patel &lt;anup@brainfault.org&gt;
</content>
</entry>
<entry>
<title>treewide: Make carray arrays const and NULL-terminated</title>
<updated>2024-11-28T11:39:17Z</updated>
<author>
<name>Samuel Holland</name>
<email>samuel.holland@sifive.com</email>
</author>
<published>2024-11-11T22:02:45Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/opensbi.git/commit/?id=df1c1000014049d95d65de831f9015a2dcf9fa34'/>
<id>urn:sha1:df1c1000014049d95d65de831f9015a2dcf9fa34</id>
<content type='text'>
This allows the compiler to generate significantly better code, because
it does not have to maintain either the loop counter or loop limit. Plus
there are half as many symbols to relocate. This also simplifies passing
carray arrays to helper functions.

Signed-off-by: Samuel Holland &lt;samuel.holland@sifive.com&gt;
Reviewed-by: Anup Patel &lt;anup@brainfault.org&gt;
</content>
</entry>
<entry>
<title>lib: utils/reset: Pass the FDT to fdt_reset_init()</title>
<updated>2024-08-24T07:32:58Z</updated>
<author>
<name>Samuel Holland</name>
<email>samuel.holland@sifive.com</email>
</author>
<published>2024-07-31T04:58:55Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/opensbi.git/commit/?id=fa6dfce017eed32cbae2581bc285bafd52929d42'/>
<id>urn:sha1:fa6dfce017eed32cbae2581bc285bafd52929d42</id>
<content type='text'>
Indicate that this function does not modify the FDT blob, and
deduplicate the call to fdt_get_address().

Signed-off-by: Samuel Holland &lt;samuel.holland@sifive.com&gt;
Reviewed-by: Andrew Jones &lt;ajones@ventanamicro.com&gt;
Reviewed-by: Anup Patel &lt;anup@brainfault.org&gt;
</content>
</entry>
<entry>
<title>lib: utils/reset: Constify FDT pointers in parsing functions</title>
<updated>2024-08-24T07:32:42Z</updated>
<author>
<name>Samuel Holland</name>
<email>samuel.holland@sifive.com</email>
</author>
<published>2024-07-31T04:58:50Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/opensbi.git/commit/?id=57a047930219f0599a0aa27a72de681efa2856aa'/>
<id>urn:sha1:57a047930219f0599a0aa27a72de681efa2856aa</id>
<content type='text'>
Indicate that none of these functions modify the devicetree by
constifying the parameter type.

Signed-off-by: Samuel Holland &lt;samuel.holland@sifive.com&gt;
Reviewed-by: Andrew Jones &lt;ajones@ventanamicro.com&gt;
Reviewed-by: Anup Patel &lt;anup@brainfault.org&gt;
</content>
</entry>
<entry>
<title>lib: utils/reset: Try initializing all reset devices in dt</title>
<updated>2024-06-13T16:18:03Z</updated>
<author>
<name>Xiang W</name>
<email>wxjstz@126.com</email>
</author>
<published>2024-06-13T15:03:07Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/opensbi.git/commit/?id=62e178a0a7b989d7cab9b2d4e33b291bc9a58c65'/>
<id>urn:sha1:62e178a0a7b989d7cab9b2d4e33b291bc9a58c65</id>
<content type='text'>
In DT, multiple reset devices may use the same driver, and they
may have different priorities. If rc is returned after the first
initialization, the highest priority device may be lost.

Fixes: a73ff043e991 (lib: utils/reset: Fix fdt_reset to search for more dt nodes)
Signed-off-by: Xiang W &lt;wxjstz@126.com&gt;
Reviewed-by: Anup Patel &lt;anup@brainfault.org&gt;
</content>
</entry>
<entry>
<title>lib: utils/reset: Fix fdt_reset to search for more dt nodes</title>
<updated>2024-06-13T13:19:51Z</updated>
<author>
<name>Xiang W</name>
<email>wxjstz@126.com</email>
</author>
<published>2024-06-11T11:19:34Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/opensbi.git/commit/?id=a73ff043e99122be9f50215f04d0a8e93d69a978'/>
<id>urn:sha1:a73ff043e99122be9f50215f04d0a8e93d69a978</id>
<content type='text'>
If there are multiple dt nodes, the previous code only tries to match
the first one, which may lose initialization.

Signed-off-by: Xiang W &lt;wxjstz@126.com&gt;
Reviewed-by: Anup Patel &lt;anup@brainfault.org&gt;
</content>
</entry>
<entry>
<title>lib: utils/reset: Skip initialize reset when dt is not enabled</title>
<updated>2024-06-13T13:10:38Z</updated>
<author>
<name>Xiang W</name>
<email>wxjstz@126.com</email>
</author>
<published>2024-06-11T11:19:33Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/opensbi.git/commit/?id=b5c984bd089510cc6c7ad7a5646ead1cf8ea676a'/>
<id>urn:sha1:b5c984bd089510cc6c7ad7a5646ead1cf8ea676a</id>
<content type='text'>
When the dt node has a status property and the value is not ok or
okay, skip initializing reset.

Signed-off-by: Xiang W &lt;wxjstz@126.com&gt;
Reviewed-by: Anup Patel &lt;anup@brainfault.org&gt;
</content>
</entry>
<entry>
<title>lib: utils/reset: Generate FDT reset driver list at compile-time</title>
<updated>2022-05-13T03:56:06Z</updated>
<author>
<name>Anup Patel</name>
<email>apatel@ventanamicro.com</email>
</author>
<published>2022-05-13T03:56:06Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/opensbi.git/commit/?id=73cf51191403be2ebdf9f9a1d17812d1550316ff'/>
<id>urn:sha1:73cf51191403be2ebdf9f9a1d17812d1550316ff</id>
<content type='text'>
Instead of having FDT reset driver list hard-coded in the C source,
we generate it using carray.sh at compile-time.

Signed-off-by: Anup Patel &lt;apatel@ventanamicro.com&gt;
Reviewed-by: Atish Patra &lt;atishp@rivosinc.com&gt;
</content>
</entry>
<entry>
<title>lib: utils/reset: separate driver init func</title>
<updated>2021-11-12T04:46:23Z</updated>
<author>
<name>Nikita Shubin</name>
<email>n.shubin@yadro.com</email>
</author>
<published>2021-11-10T09:42:26Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/opensbi.git/commit/?id=1d462e039782e49d2a96a776e50b7478d87b228d'/>
<id>urn:sha1:1d462e039782e49d2a96a776e50b7478d87b228d</id>
<content type='text'>
Move driver init code to separate function, so it can be reused
elsewhere.

Tested-by: Heinrich Schuchardt &lt;heinrich.schuchardt@canonical.com&gt;
Reviewed-by: Alexandre Ghiti &lt;alexandre.ghiti@canonical.com&gt;
Tested-by: Alexandre Ghiti &lt;alexandre.ghiti@canonical.com&gt;
Signed-off-by: Nikita Shubin &lt;n.shubin@yadro.com&gt;
</content>
</entry>
<entry>
<title>lib: sbi: error handling in fdt_reset_init()</title>
<updated>2021-11-08T05:20:48Z</updated>
<author>
<name>Heinrich Schuchardt</name>
<email>heinrich.schuchardt@canonical.com</email>
</author>
<published>2021-11-06T09:54:51Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/opensbi.git/commit/?id=be245acfffa297b5ed4e0c7bb473a6bd55231bf8'/>
<id>urn:sha1:be245acfffa297b5ed4e0c7bb473a6bd55231bf8</id>
<content type='text'>
The initialization of a reset driver may fail for various reasons, like
a PMIC based reset driver not finding the required I2C driver. The return
code of the init routine may take other error values than -ENODEV.

If the initialization of a reset driver fails, this should not lead to the
board hanging. It is enough that the reset driver does not call
sbi_system_reset_add_device() to avoid invoking the driver for a device
that could not be initialized.

Change the return type of fdt_reset_init() to void.
Print a message if an error occurs.

Signed-off-by: Heinrich Schuchardt &lt;heinrich.schuchardt@canonical.com&gt;
Reviewed-by: Dong Du &lt;Dd_nirvana@sjtu.edu.cn&gt;
Reviewed-by: Anup Patel &lt;anup.patel@wdc.com&gt;
</content>
</entry>
</feed>
