Messages in this thread | | | Subject | Re: [PATCH 1/2] PCI: controller: thunder: fix compile testing | From | "Kuppuswamy, Sathyanarayanan" <> | Date | Thu, 25 Feb 2021 09:44:12 -0800 |
| |
On 2/25/21 6:37 AM, Arnd Bergmann wrote: > From: Arnd Bergmann <arnd@arndb.de> > > Compile-testing these drivers is currently broken. Enabling > it causes a couple of build failures though: > > drivers/pci/controller/pci-thunder-ecam.c:119:30: error: shift count >= width of type [-Werror,-Wshift-count-overflow] > drivers/pci/controller/pci-thunder-pem.c:54:2: error: implicit declaration of function 'writeq' [-Werror,-Wimplicit-function-declaration] > drivers/pci/controller/pci-thunder-pem.c:392:8: error: implicit declaration of function 'acpi_get_rc_resources' [-Werror,-Wimplicit-function-declaration] > > Fix them with the obvious one-line changes. Looks good to me. > > Signed-off-by: Arnd Bergmann <arnd@arndb.de> > --- > drivers/pci/controller/pci-thunder-ecam.c | 2 +- > drivers/pci/controller/pci-thunder-pem.c | 13 +++++++------ > drivers/pci/pci.h | 6 ++++++ > 3 files changed, 14 insertions(+), 7 deletions(-) > > diff --git a/drivers/pci/controller/pci-thunder-ecam.c b/drivers/pci/controller/pci-thunder-ecam.c > index f964fd26f7e0..ffd84656544f 100644 > --- a/drivers/pci/controller/pci-thunder-ecam.c > +++ b/drivers/pci/controller/pci-thunder-ecam.c > @@ -116,7 +116,7 @@ static int thunder_ecam_p2_config_read(struct pci_bus *bus, unsigned int devfn, > * the config space access window. Since we are working with > * the high-order 32 bits, shift everything down by 32 bits. > */ > - node_bits = (cfg->res.start >> 32) & (1 << 12); > + node_bits = upper_32_bits(cfg->res.start) & (1 << 12); > > v |= node_bits; > set_val(v, where, size, val); > diff --git a/drivers/pci/controller/pci-thunder-pem.c b/drivers/pci/controller/pci-thunder-pem.c > index 1a3f70ac61fc..0660b9da204f 100644 > --- a/drivers/pci/controller/pci-thunder-pem.c > +++ b/drivers/pci/controller/pci-thunder-pem.c > @@ -12,6 +12,7 @@ > #include <linux/pci-acpi.h> > #include <linux/pci-ecam.h> > #include <linux/platform_device.h> > +#include <linux/io-64-nonatomic-lo-hi.h> > #include "../pci.h" > > #if defined(CONFIG_PCI_HOST_THUNDER_PEM) || (defined(CONFIG_ACPI) && defined(CONFIG_PCI_QUIRKS)) > @@ -324,9 +325,9 @@ static int thunder_pem_init(struct device *dev, struct pci_config_window *cfg, > * structure here for the BAR. > */ > bar4_start = res_pem->start + 0xf00000; > - pem_pci->ea_entry[0] = (u32)bar4_start | 2; > - pem_pci->ea_entry[1] = (u32)(res_pem->end - bar4_start) & ~3u; > - pem_pci->ea_entry[2] = (u32)(bar4_start >> 32); > + pem_pci->ea_entry[0] = lower_32_bits(bar4_start) | 2; > + pem_pci->ea_entry[1] = lower_32_bits(res_pem->end - bar4_start) & ~3u; > + pem_pci->ea_entry[2] = upper_32_bits(bar4_start); > > cfg->priv = pem_pci; > return 0; > @@ -334,9 +335,9 @@ static int thunder_pem_init(struct device *dev, struct pci_config_window *cfg, > > #if defined(CONFIG_ACPI) && defined(CONFIG_PCI_QUIRKS) > > -#define PEM_RES_BASE 0x87e0c0000000UL > -#define PEM_NODE_MASK GENMASK(45, 44) > -#define PEM_INDX_MASK GENMASK(26, 24) > +#define PEM_RES_BASE 0x87e0c0000000ULL > +#define PEM_NODE_MASK GENMASK_ULL(45, 44) > +#define PEM_INDX_MASK GENMASK_ULL(26, 24) > #define PEM_MIN_DOM_IN_NODE 4 > #define PEM_MAX_DOM_IN_NODE 10 > > diff --git a/drivers/pci/pci.h b/drivers/pci/pci.h > index 0a2b6d993fe1..022c2f433676 100644 > --- a/drivers/pci/pci.h > +++ b/drivers/pci/pci.h > @@ -625,6 +625,12 @@ static inline int pci_dev_specific_reset(struct pci_dev *dev, int probe) > #if defined(CONFIG_PCI_QUIRKS) && defined(CONFIG_ARM64) > int acpi_get_rc_resources(struct device *dev, const char *hid, u16 segment, > struct resource *res); > +#else > +static inline int acpi_get_rc_resources(struct device *dev, const char *hid, > + u16 segment, struct resource *res) > +{ > + return -ENODEV; > +} > #endif > > int pci_rebar_get_current_size(struct pci_dev *pdev, int bar); >
-- Sathyanarayanan Kuppuswamy Linux Kernel Developer
| |