<feed xmlns='http://www.w3.org/2005/Atom'>
<title>u-boot.git/include/linux, branch main</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<id>http://cgit.235523.xyz/u-boot.git/atom/include/linux?h=main</id>
<link rel='self' href='http://cgit.235523.xyz/u-boot.git/atom/include/linux?h=main'/>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/'/>
<updated>2026-08-11T15:35:22Z</updated>
<entry>
<title>include: linux: Import hw_bitfield.h from Linux v6.18</title>
<updated>2026-08-11T15:35:22Z</updated>
<author>
<name>Jonas Karlman</name>
<email>jonas@kwiboo.se</email>
</author>
<published>2026-08-03T18:43:12Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=0c68b88ce574ddaa2f94f3e5d747c25db693dc18'/>
<id>urn:sha1:0c68b88ce574ddaa2f94f3e5d747c25db693dc18</id>
<content type='text'>
Hardware of various vendors, but very notably Rockchip, often uses
32-bit registers where the upper 16-bit half of the register is a
write-enable mask for the lower half.

Add hw_bitfield.h with two macros: FIELD_PREP_WM16, and
FIELD_PREP_WM16_CONST. The latter is a version that can be used in
initializers, like FIELD_PREP_CONST.

Import hw_bitfield.h from Linux commit 21368fcbb124 ("bitmap: introduce
hardware-specific bitfield operations"), first introduced in v6.18-rc1.

This contains two changes compared to the Linux version:
- include of linux/limit.h was dropped
- use of const_true() in FIELD_PREP_WM16_CONST() was dropped

Signed-off-by: Jonas Karlman &lt;jonas@kwiboo.se&gt;
Acked-by: Quentin Schulz &lt;quentin.schulz@cherry.de&gt;
Reviewed-by: Tom Rini &lt;trini@konsulko.com&gt;
Link: https://patch.msgid.link/20260803184314.2240153-2-jonas@kwiboo.se
Signed-off-by: Quentin Schulz &lt;u-boot@0leil.net&gt;
</content>
</entry>
<entry>
<title>string: add strcasestr()</title>
<updated>2026-07-21T19:51:07Z</updated>
<author>
<name>Rasmus Villemoes</name>
<email>rv@rasmusvillemoes.dk</email>
</author>
<published>2026-07-08T20:37:07Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=13822d7f42706da356368f1389f8de10ac9869a5'/>
<id>urn:sha1:13822d7f42706da356368f1389f8de10ac9869a5</id>
<content type='text'>
While this is not likely needed by any "real" driver code, a later
convenience addition to the "config" command will need this. As usual,
the linker will throw it away if nothing actually uses it, so it
should have no size impact when not used.

Reviewed-by: Simon Glass &lt;sjg@chromium.org&gt;
Signed-off-by: Rasmus Villemoes &lt;rv@rasmusvillemoes.dk&gt;
</content>
</entry>
<entry>
<title>string: remove more pointless __HAVE_ARCH_STR*</title>
<updated>2026-07-21T19:51:07Z</updated>
<author>
<name>Rasmus Villemoes</name>
<email>rv@rasmusvillemoes.dk</email>
</author>
<published>2026-07-08T20:37:06Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=07fcb18623b4d4ad604668cfccb63890ce300ce5'/>
<id>urn:sha1:07fcb18623b4d4ad604668cfccb63890ce300ce5</id>
<content type='text'>
None of these six macros are defined by any architecture. Moreover,
the ifndef guard only exists in either string.h or string.c, making them
completely pointless.

I'm not sure whether we have an explicit coding style discouraging the
"extern" qualifier on function declarations, and string.h has a random
mix of everything, but I can't leave it on strncasecmp() now that it
will be immediately after strcasecmp() which doesn't have it.

Reviewed-by: Simon Glass &lt;sjg@chromium.org&gt;
Signed-off-by: Rasmus Villemoes &lt;rv@rasmusvillemoes.dk&gt;
</content>
</entry>
<entry>
<title>string: remove unused strswab() function</title>
<updated>2026-07-21T19:51:07Z</updated>
<author>
<name>Rasmus Villemoes</name>
<email>rv@rasmusvillemoes.dk</email>
</author>
<published>2026-07-08T20:37:05Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=a31d9375dfbd7f0f4030c0b81f2030ff554529be'/>
<id>urn:sha1:a31d9375dfbd7f0f4030c0b81f2030ff554529be</id>
<content type='text'>
The last use of this function with rather peculiar semantics[*] vanished
in 2021 with 0a527fda782 ("Fix IDE commands issued, fix endian issues,
fix non MMIO"). It has no tests, and should a need for something
similar ever appear, it is better done with some proper
utf16le/utf16be/utf16 abstractions rather than cluttering code with
'#ifdef __LITTLE_ENDIAN'.

[*] The byte-swapping itself is weird enough. But why is an input string
of odd length ok, while the empty string is not allowed?

Reviewed-by: Simon Glass &lt;sjg@chromium.org&gt;
Signed-off-by: Rasmus Villemoes &lt;rv@rasmusvillemoes.dk&gt;
</content>
</entry>
<entry>
<title>string: correct prototype of strchrnul()</title>
<updated>2026-07-21T19:51:06Z</updated>
<author>
<name>Rasmus Villemoes</name>
<email>rv@rasmusvillemoes.dk</email>
</author>
<published>2026-07-08T20:37:03Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=210fedfcfc1a146faac67dddb3581c6b9dcd01b4'/>
<id>urn:sha1:210fedfcfc1a146faac67dddb3581c6b9dcd01b4</id>
<content type='text'>
Both glibc's (where this originated as a GNU extension) and the
kernel's versions of strchrnul() return "char *", not "const
char *". That also makes it consistent with the standard strchr()
function.

Reviewed-by: Simon Glass &lt;sjg@chromium.org&gt;
Signed-off-by: Rasmus Villemoes &lt;rv@rasmusvillemoes.dk&gt;
</content>
</entry>
<entry>
<title>pinctrl: add more pinconf/pinctrl definitions</title>
<updated>2026-07-08T19:29:18Z</updated>
<author>
<name>Mikhail Kshevetskiy</name>
<email>mikhail.kshevetskiy@iopsys.eu</email>
</author>
<published>2026-07-03T11:56:19Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=7518f6fbc4b9f786dabef4ada2881024a2039bb9'/>
<id>urn:sha1:7518f6fbc4b9f786dabef4ada2881024a2039bb9</id>
<content type='text'>
These pinconf/pinctrl definitions will be used by the next patches.

The definitions was taken from public headers of linux-7.0. It's used
by several linux pinctrl drivers, so it might be helpful for U-Boot as
well.

Pinconf definitions are placed near the corresponding U-Boot definitions
in file include/dm/pinctrl.h. Pin/group/function definitions stored within
the same path as in linux (include/linux/pinctrl/pinctrl.h).

Signed-off-by: Mikhail Kshevetskiy &lt;mikhail.kshevetskiy@iopsys.eu&gt;
Reviewed-by: David Lechner &lt;dlechner@baylibre.com&gt;
</content>
</entry>
<entry>
<title>bitfield: Add non-constant field_{prep, get}() helpers</title>
<updated>2026-07-08T19:29:18Z</updated>
<author>
<name>Geert Uytterhoeven</name>
<email>geert+renesas@glider.be</email>
</author>
<published>2026-07-03T11:56:12Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=da10fca9b062bde09144d65a0559676c658ac0ae'/>
<id>urn:sha1:da10fca9b062bde09144d65a0559676c658ac0ae</id>
<content type='text'>
The existing FIELD_{GET,PREP}() macros are limited to compile-time
constants.  However, it is very common to prepare or extract bitfield
elements where the bitfield mask is not a compile-time constant.

To avoid this limitation, the AT91 clock driver and several other
drivers already have their own non-const field_{prep,get}() macros.
Make them available for general use by adding them to
&lt;linux/bitfield.h&gt;, and improve them slightly:
  1. Avoid evaluating macro parameters more than once,
  2. Replace "ffs() - 1" by "__ffs()",
  3. Support 64-bit use on 32-bit architectures,
  4. Wire field_{get,prep}() to FIELD_{GET,PREP}() when mask is
     actually constant.

This is deliberately not merged into the existing FIELD_{GET,PREP}()
macros, as people expressed the desire to keep stricter variants for
increased safety, or for performance critical paths.

Yury: use __mask within new macros.

Signed-off-by: Geert Uytterhoeven &lt;geert+renesas@glider.be&gt;
Acked-by: Alexandre Belloni &lt;alexandre.belloni@bootlin.com&gt;
Acked-by: Jonathan Cameron &lt;Jonathan.Cameron@huawei.com&gt;
Acked-by: Crt Mori &lt;cmo@melexis.com&gt;
Acked-by: Nuno Sá &lt;nuno.sa@analog.com&gt;
Acked-by: Richard Genoud &lt;richard.genoud@bootlin.com&gt;
Reviewed-by: Andy Shevchenko &lt;andriy.shevchenko@intel.com&gt;
Reviewed-by: Yury Norov (NVIDIA) &lt;yury.norov@gmail.com&gt;
Signed-off-by: Yury Norov (NVIDIA) &lt;yury.norov@gmail.com&gt;
[Linux commit: c1c6ab80b25c8db1e2ef5ae3ac8075d2c242ae13]
Signed-off-by: Mikhail Kshevetskiy &lt;mikhail.kshevetskiy@iopsys.eu&gt;
Reviewed-by: David Lechner &lt;dlechner@baylibre.com&gt;
Reviewed-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>bitfield: Add less-checking __FIELD_{GET,PREP}()</title>
<updated>2026-07-08T19:29:18Z</updated>
<author>
<name>Geert Uytterhoeven</name>
<email>geert+renesas@glider.be</email>
</author>
<published>2026-07-03T11:56:11Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=9c10cba536874641bbc70a53588d6a59c9292e2e'/>
<id>urn:sha1:9c10cba536874641bbc70a53588d6a59c9292e2e</id>
<content type='text'>
The BUILD_BUG_ON_MSG() check against "~0ull" works only with "unsigned
(long) long" _mask types.  For constant masks, that condition is usually
met, as GENMASK() yields an UL value.  The few places where the
constant mask is stored in an intermediate variable were fixed by
changing the variable type to u64.

However, for non-constant masks, smaller unsigned types should be valid,
too, but currently lead to "result of comparison of constant
18446744073709551615 with expression of type ... is always
false"-warnings with clang and W=1.

Hence refactor the __BF_FIELD_CHECK() helper, and factor out
__FIELD_{GET,PREP}().  The later lack the single problematic check, but
are otherwise identical to FIELD_{GET,PREP}(), and are intended to be
used in the fully non-const variants later.

Signed-off-by: Geert Uytterhoeven &lt;geert+renesas@glider.be&gt;
Signed-off-by: Yury Norov (NVIDIA) &lt;yury.norov@gmail.com&gt;
[Linux commit: 2a6c045640c38a407a39cd40c3c4d8dd2fd89aa8]
Signed-off-by: Mikhail Kshevetskiy &lt;mikhail.kshevetskiy@iopsys.eu&gt;
Reviewed-by: David Lechner &lt;dlechner@baylibre.com&gt;
Reviewed-by: Simon Glass &lt;sjg@chromium.org&gt;
Signed-off-by: Scott Wood &lt;scottwood@freescale.com&gt;
Acked-by: Gerald Van Baren &lt;vanbaren@cideas.com&gt;
Reviewed-by: Andre Przywara &lt;andre.przywara@arm.com&gt;
Signed-off-by: Masahiro Yamada &lt;yamada.masahiro@socionext.com&gt;
</content>
</entry>
<entry>
<title>bitops: import BITS_PER_TYPE() macro from linux</title>
<updated>2026-07-08T19:29:18Z</updated>
<author>
<name>Mikhail Kshevetskiy</name>
<email>mikhail.kshevetskiy@iopsys.eu</email>
</author>
<published>2026-07-03T11:56:10Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=ab447ac61782bad20b73bd9e19dcadb255c27f8a'/>
<id>urn:sha1:ab447ac61782bad20b73bd9e19dcadb255c27f8a</id>
<content type='text'>
This macro will be used by include/linux/bitfield.h header.

Signed-off-by: Mikhail Kshevetskiy &lt;mikhail.kshevetskiy@iopsys.eu&gt;
Reviewed-by: David Lechner &lt;dlechner@baylibre.com&gt;
Reviewed-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>clk: clk-divider: add clk_register_divider_table()</title>
<updated>2026-06-27T02:02:46Z</updated>
<author>
<name>Brian Ruley</name>
<email>brian.ruley@gehealthcare.com</email>
</author>
<published>2026-06-16T12:51:40Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=3c9cb48b4757f631e30a6cba634d62be815ac066'/>
<id>urn:sha1:3c9cb48b4757f631e30a6cba634d62be815ac066</id>
<content type='text'>
The existing clk_register_divider() only supports linear or
power-of-two divider mappings. Some hardware (e.g. i.MX6 PLL5
post_div and video_div) uses non-linear register-value-to-divisor
mappings that require a lookup table.

Add clk_register_divider_table() which accepts a clk_div_table,
and reimplement clk_register_divider() as a wrapper passing
table=NULL.

Signed-off-by: Brian Ruley &lt;brian.ruley@gehealthcare.com&gt;
</content>
</entry>
</feed>
