Commit b963f2345fa2 for kernel

commit b963f2345fa20417401c51a69dedb6a58eea33a9
Author: Keith Busch <kbusch@kernel.org>
Date:   Tue Sep 22 08:34:16 2026 -0700

    nios2: fix __wsum type degradation in csum_fold()

    csum_fold() shifts a bitwise __wsum type, which sparse reports as
    "restricted __wsum degrades to integer". Sparse only checks the body of
    a static inline once something instantiates it, so this went unnoticed
    until a recent block layer change added the first csum_fold() caller to
    a file built on this architecture.

    Force cast to a __u32 for the shift, as the other architectures do.

    Fixes: eea9507a69d6 ("nios2: Library functions")
    Reported-by: kernel test robot <lkp@intel.com>
    Closes: https://lore.kernel.org/oe-kbuild-all/202609222053.5gjiJjtb-lkp@intel.com/
    Signed-off-by: Keith Busch <kbusch@kernel.org>
    Signed-off-by: Dinh Nguyen <dinguyen@kernel.org>

diff --git a/arch/nios2/include/asm/checksum.h b/arch/nios2/include/asm/checksum.h
index 69004e07a1ba..b6b415ae17a0 100644
--- a/arch/nios2/include/asm/checksum.h
+++ b/arch/nios2/include/asm/checksum.h
@@ -27,7 +27,7 @@ static inline __sum16 csum_fold(__wsum sum)
 		"add	%0, %0, r8\n"
 		"nor	%0, %0, %0\n"
 		: "=r" (sum)
-		: "r" (sum << 16), "0" (sum)
+		: "r" ((__force u32)sum << 16), "0" (sum)
 		: "r8");
 	return (__force __sum16) sum;
 }