Re: [PATCH v2] PCI: Make PCI_ROM_ADDRESS_MASK a 32-bit constant

From: Bjorn Helgaas
Date: Fri Apr 14 2017 - 11:43:49 EST


On Tue, Apr 11, 2017 at 10:56:58AM -0700, Matthias Kaehlcke wrote:
> A 64-bit value is not needed since a PCI ROM address consists in 32 bits.
> This fixes a clang warning about "implicit conversion from 'unsigned
> long' to 'u32'".
>
> Signed-off-by: Matthias Kaehlcke <mka@xxxxxxxxxxxx>
> ---
> Changes in v2:
> - Define PCI_ROM_ADDRESS_MASK as a 32-bit constant instead of using a cast
> - Updated commit message
>
> include/uapi/linux/pci_regs.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/include/uapi/linux/pci_regs.h b/include/uapi/linux/pci_regs.h
> index 634c9c44ed6c..fff521c9458c 100644
> --- a/include/uapi/linux/pci_regs.h
> +++ b/include/uapi/linux/pci_regs.h
> @@ -114,7 +114,7 @@
> #define PCI_SUBSYSTEM_ID 0x2e
> #define PCI_ROM_ADDRESS 0x30 /* Bits 31..11 are address, 10..1 reserved */
> #define PCI_ROM_ADDRESS_ENABLE 0x01
> -#define PCI_ROM_ADDRESS_MASK (~0x7ffUL)
> +#define PCI_ROM_ADDRESS_MASK (~0x7ffU)

Does this mean we can remove the "(u32)" casts in __pci_read_base() and
pci_std_update_resource()? If so, can you do that in the same patch?

> #define PCI_CAPABILITY_LIST 0x34 /* Offset of first capability list entry */
>
> --
> 2.12.2.715.g7642488e1d-goog
>