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

Mattijs Korpershoek
2026-03-05T13:08:39Z

Hi Siddharth,

Thank you for the patch.

On Thu, Mar 05, 2026 at 16:08, Siddharth Vadapalli <s-vadapalli@ti.com> wrote:

> 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

What's the exact warning string? With which compiler version?

Is there an example defconfig that I can use to reproduce this?

Thanks
Mattijs

> 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