[PATCH] common: spl: spl_dfu.c: Fix warning associated with PCI subclass_code

Siddharth Vadapalli
2026-03-05T10:36:45Z

The subclass_code member of the pci_ep_header structure is a 1-byte
field. The macro PCI_CLASS_MEMORY_RAM is a concetation of baseclass_code
and subclass_code as follows:
PCI_BASE_CLASS_MEMORY: 0x05
Subclass Code for RAM: 0x00
PCI_CLASS_MEMORY_RAM: 0x0500
Hence, instead of extracting it via an implicity type conversion from int
to u8 which throws a warning, explicitly mask the bits to extract the
subclass_code.

Fixes: cde77583cf0b ("spl: Add support for Device Firmware Upgrade (DFU) over PCIe")
Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>
---

Hello,

This patch is based on commit
f473a453b0c kbuild: Drop phandle from diff between base DT and U-Boot augmented DT if DEVICE_TREE_DEBUG=1of the master branch of U-Boot.

Regards,
Siddharth.

common/spl/spl_dfu.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/common/spl/spl_dfu.c b/common/spl/spl_dfu.c
index b09f82790c9..7d21bb4d16a 100644
--- a/common/spl/spl_dfu.c
+++ b/common/spl/spl_dfu.c
@@ -64,7 +64,7 @@ static int dfu_over_pcie(void)
hdr.deviceid = CONFIG_SPL_PCI_DFU_DEVICE_ID;
hdr.vendorid = CONFIG_SPL_PCI_DFU_VENDOR_ID;
hdr.baseclass_code = PCI_BASE_CLASS_MEMORY;
- hdr.subclass_code = PCI_CLASS_MEMORY_RAM;
+ hdr.subclass_code = PCI_CLASS_MEMORY_RAM & 0xff;

ret = pci_ep_write_header(dev, fn, &hdr);
if (ret) {
--
2.51.1