tree 1f6c66366fe856b86649bf1411219cf33584e488
parent 91a7927aa6679d1a3ea30ed9dfe17002d11bcac4
parent 7803a66399381570dae5cea030b01b26cd5ca676
author Tom Rini <trini@konsulko.com> 1726933036 -0600
committer Tom Rini <trini@konsulko.com> 1726933036 -0600
mergetag object 7803a66399381570dae5cea030b01b26cd5ca676
 type commit
 tag doc-2024-10-rc6
 tagger Heinrich Schuchardt <heinrich.schuchardt@canonical.com> 1726910641 +0200
 
 Pull request doc-2024-10-rc6
 
 Documentation:
 
 * Correct function descriptions that are not Sphinx conformant.
 * Correct incorrect dependency CONFIG_USB_USB_GADGET in the ums command
   description.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEK7wKXt3/btL6/yA+hO4vgnE3U0sFAmbukOUACgkQhO4vgnE3
 U0t1RQ/+MCLp2HohRhhQ83UhOcHgTjH3efT5v/v6VWMtd4khE8fd+WlurZeLQn0o
 BQyU6cnHNNlUxu5xkTHRCcsCcgWaeXBnq/vQVdCVuYeCFNLuG653Lb1MrpUXkRbA
 +0DgA+//zpSTCQxbzIcutbfkjTyXhMbxdc0C/NUyFU3VKKOg5mB2Zst0gfTMOvD5
 et/hMdj4d4F/4VamdzYadQRp8XHGcP7ucvBXeM7ILXnoh2JpLrT+wlSN32tNw93d
 AE12FFK6eea2a/arq/yNCyQjkgrnakLq6hWyygoDoigqc2fo/Dg/ZDHEAhB7uWzd
 vmUx1xFEQFo8eKz6PktRFbjusRZBsiMzVmKBeyS5slXiAceJ7YJnJsaGUDnyuP80
 eFoma0s71KEjU+E5588l3pxr52HFM98VbWXK5jtdyk8veYp+zeYVj3IVdw217tPq
 NlXk4mRqyUppJC/pcEwv7ZZBLT5T9rgYpS1StHpF0WP0iiWQWeR7npBoU/ITcVpv
 7n5h/SnIwl20Zf/xFkY+IoUBHokzPDc5vgPVm7gIxzPqOMyP0UoE9ccbA/ZXXIXR
 FcCYWR3hmXtF+c2+8b6yHmgvz/Rpo775iJV99AI067ZV6ZgoRFFNMd7SPgf6hvFU
 IIwtDRaROy0Xj5WpTsDSXHvT426I+GJ9/li4Gs3w/sRAaEaFqxQ=
 =aqv6
 -----END PGP SIGNATURE-----

Merge tag 'doc-2024-10-rc6' of https://source.denx.de/u-boot/custodians/u-boot-efi

Pull request doc-2024-10-rc6

Documentation:

* Correct function descriptions that are not Sphinx conformant.
* Correct incorrect dependency CONFIG_USB_USB_GADGET in the ums command
  description.
