[pci:pci/host-cleanups-wip 24/95] drivers/pci/host/pcie-altera.c:108:30: error: passing argument 1 of 'altera_cra_readl' from incompatible pointer type

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



tree:   https://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git pci/host-cleanups-wip
head:   ee9b4e4188d1ca0e60edc96ed54acebe8ec19dc9
commit: d2de4b27af4b2a37bf64554adec03de52b076f99 [24/95] PCI: altera: Rename CRA accessors
config: arm-allmodconfig (attached as .config)
compiler: arm-linux-gnueabi-gcc (Debian 6.1.1-9) 6.1.1 20160705
reproduce:
        wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        git checkout d2de4b27af4b2a37bf64554adec03de52b076f99
        # save the attached .config to linux build tree
        make.cross ARCH=arm 

All errors (new ones prefixed by >>):

   drivers/pci/host/pcie-altera.c:62:9: error: expected identifier or '(' before ':' token
            : TLP_FMTTYPE_CFGRD1) << 24) | \
            ^
   drivers/pci/host/pcie-altera.c:95:43: warning: 'struct altera_pcie' declared inside parameter list will not be visible outside of this definition or declaration
    static inline u32 altera_cra_readl(struct altera_pcie *altera, const u32 reg)
                                              ^~~~~~~~~~~
   In file included from include/linux/swab.h:4:0,
                    from include/uapi/linux/byteorder/big_endian.h:12,
                    from include/linux/byteorder/big_endian.h:4,
                    from arch/arm/include/uapi/asm/byteorder.h:19,
                    from include/asm-generic/bitops/le.h:5,
                    from arch/arm/include/asm/bitops.h:340,
                    from include/linux/bitops.h:36,
                    from include/linux/kernel.h:10,
                    from include/linux/delay.h:10,
                    from drivers/pci/host/pcie-altera.c:20:
   drivers/pci/host/pcie-altera.c: In function 'altera_cra_readl':
   drivers/pci/host/pcie-altera.c:97:29: error: dereferencing pointer to incomplete type 'struct altera_pcie'
     return readl_relaxed(altera->cra_base + reg);
                                ^
   include/uapi/linux/swab.h:113:54: note: in definition of macro '__swab32'
    #define __swab32(x) (__u32)__builtin_bswap32((__u32)(x))
                                                         ^
   include/linux/byteorder/generic.h:88:21: note: in expansion of macro '__le32_to_cpu'
    #define le32_to_cpu __le32_to_cpu
                        ^~~~~~~~~~~~~
   drivers/pci/host/pcie-altera.c:97:9: note: in expansion of macro 'readl_relaxed'
     return readl_relaxed(altera->cra_base + reg);
            ^~~~~~~~~~~~~
   drivers/pci/host/pcie-altera.c: At top level:
   drivers/pci/host/pcie-altera.c:100:45: warning: 'struct altera_pcie' declared inside parameter list will not be visible outside of this definition or declaration
    static inline void altera_cra_writel(struct altera_pcie *altera,
                                                ^~~~~~~~~~~
   In file included from include/linux/io.h:25:0,
                    from include/linux/irq.h:24,
                    from include/linux/irqchip/chained_irq.h:21,
                    from drivers/pci/host/pcie-altera.c:22:
   drivers/pci/host/pcie-altera.c: In function 'altera_cra_writel':
   drivers/pci/host/pcie-altera.c:103:30: error: dereferencing pointer to incomplete type 'struct altera_pcie'
     writel_relaxed(value, altera->cra_base + reg);
                                 ^
   arch/arm/include/asm/io.h:297:71: note: in definition of macro 'writel_relaxed'
    #define writel_relaxed(v,c) __raw_writel((__force u32) cpu_to_le32(v),c)
                                                                          ^
   drivers/pci/host/pcie-altera.c: At top level:
   drivers/pci/host/pcie-altera.c:106:43: warning: 'struct altera_pcie' declared inside parameter list will not be visible outside of this definition or declaration
    static bool altera_pcie_link_is_up(struct altera_pcie *altera)
                                              ^~~~~~~~~~~
   drivers/pci/host/pcie-altera.c: In function 'altera_pcie_link_is_up':
>> drivers/pci/host/pcie-altera.c:108:30: error: passing argument 1 of 'altera_cra_readl' from incompatible pointer type [-Werror=incompatible-pointer-types]
     return !!((altera_cra_readl(altera, RP_LTSSM) & RP_LTSSM_MASK) == LTSSM_L0);
                                 ^~~~~~
   drivers/pci/host/pcie-altera.c:95:19: note: expected 'struct altera_pcie *' but argument is of type 'struct altera_pcie *'
    static inline u32 altera_cra_readl(struct altera_pcie *altera, const u32 reg)
                      ^~~~~~~~~~~~~~~~
   drivers/pci/host/pcie-altera.c: At top level:
   drivers/pci/host/pcie-altera.c:130:33: warning: 'struct altera_pcie' declared inside parameter list will not be visible outside of this definition or declaration
    static void tlp_write_tx(struct altera_pcie *altera,
                                    ^~~~~~~~~~~
   drivers/pci/host/pcie-altera.c: In function 'tlp_write_tx':
>> drivers/pci/host/pcie-altera.c:133:20: error: passing argument 1 of 'altera_cra_writel' from incompatible pointer type [-Werror=incompatible-pointer-types]
     altera_cra_writel(altera, tlp_rp_regdata->reg0, RP_TX_REG0);
                       ^~~~~~
   drivers/pci/host/pcie-altera.c:100:20: note: expected 'struct altera_pcie *' but argument is of type 'struct altera_pcie *'
    static inline void altera_cra_writel(struct altera_pcie *altera,
                       ^~~~~~~~~~~~~~~~~
   drivers/pci/host/pcie-altera.c:134:20: error: passing argument 1 of 'altera_cra_writel' from incompatible pointer type [-Werror=incompatible-pointer-types]
     altera_cra_writel(altera, tlp_rp_regdata->reg1, RP_TX_REG1);
                       ^~~~~~
   drivers/pci/host/pcie-altera.c:100:20: note: expected 'struct altera_pcie *' but argument is of type 'struct altera_pcie *'
    static inline void altera_cra_writel(struct altera_pcie *altera,
                       ^~~~~~~~~~~~~~~~~
   drivers/pci/host/pcie-altera.c:135:20: error: passing argument 1 of 'altera_cra_writel' from incompatible pointer type [-Werror=incompatible-pointer-types]
     altera_cra_writel(altera, tlp_rp_regdata->ctrl, RP_TX_CNTRL);
                       ^~~~~~
   drivers/pci/host/pcie-altera.c:100:20: note: expected 'struct altera_pcie *' but argument is of type 'struct altera_pcie *'
    static inline void altera_cra_writel(struct altera_pcie *altera,
                       ^~~~~~~~~~~~~~~~~
   drivers/pci/host/pcie-altera.c: At top level:
   drivers/pci/host/pcie-altera.c:138:45: warning: 'struct altera_pcie' declared inside parameter list will not be visible outside of this definition or declaration
    static bool altera_pcie_valid_config(struct altera_pcie *altera,
                                                ^~~~~~~~~~~
   drivers/pci/host/pcie-altera.c: In function 'altera_pcie_valid_config':
   drivers/pci/host/pcie-altera.c:142:27: error: dereferencing pointer to incomplete type 'struct altera_pcie'
     if (bus->number != altera->root_bus_nr) {
                              ^~
   drivers/pci/host/pcie-altera.c:143:31: error: passing argument 1 of 'altera_pcie_link_is_up' from incompatible pointer type [-Werror=incompatible-pointer-types]
      if (!altera_pcie_link_is_up(altera))
                                  ^~~~~~
   drivers/pci/host/pcie-altera.c:106:13: note: expected 'struct altera_pcie *' but argument is of type 'struct altera_pcie *'
    static bool altera_pcie_link_is_up(struct altera_pcie *altera)
                ^~~~~~~~~~~~~~~~~~~~~~
   drivers/pci/host/pcie-altera.c: At top level:
   drivers/pci/host/pcie-altera.c:154:35: warning: 'struct altera_pcie' declared inside parameter list will not be visible outside of this definition or declaration
    static int tlp_read_packet(struct altera_pcie *altera, u32 *value)
                                      ^~~~~~~~~~~
   drivers/pci/host/pcie-altera.c: In function 'tlp_read_packet':
   drivers/pci/host/pcie-altera.c:167:27: error: passing argument 1 of 'altera_cra_readl' from incompatible pointer type [-Werror=incompatible-pointer-types]
      ctrl = altera_cra_readl(altera, RP_RXCPL_STATUS);
                              ^~~~~~
   drivers/pci/host/pcie-altera.c:95:19: note: expected 'struct altera_pcie *' but argument is of type 'struct altera_pcie *'
    static inline u32 altera_cra_readl(struct altera_pcie *altera, const u32 reg)
                      ^~~~~~~~~~~~~~~~
   drivers/pci/host/pcie-altera.c:169:28: error: passing argument 1 of 'altera_cra_readl' from incompatible pointer type [-Werror=incompatible-pointer-types]
       reg0 = altera_cra_readl(altera, RP_RXCPL_REG0);
                               ^~~~~~
   drivers/pci/host/pcie-altera.c:95:19: note: expected 'struct altera_pcie *' but argument is of type 'struct altera_pcie *'
    static inline u32 altera_cra_readl(struct altera_pcie *altera, const u32 reg)
                      ^~~~~~~~~~~~~~~~
   drivers/pci/host/pcie-altera.c:170:28: error: passing argument 1 of 'altera_cra_readl' from incompatible pointer type [-Werror=incompatible-pointer-types]
       reg1 = altera_cra_readl(altera, RP_RXCPL_REG1);
                               ^~~~~~
   drivers/pci/host/pcie-altera.c:95:19: note: expected 'struct altera_pcie *' but argument is of type 'struct altera_pcie *'
    static inline u32 altera_cra_readl(struct altera_pcie *altera, const u32 reg)
                      ^~~~~~~~~~~~~~~~
   drivers/pci/host/pcie-altera.c: At top level:
   drivers/pci/host/pcie-altera.c:193:37: warning: 'struct altera_pcie' declared inside parameter list will not be visible outside of this definition or declaration
    static void tlp_write_packet(struct altera_pcie *altera, u32 *headers,
                                        ^~~~~~~~~~~
   drivers/pci/host/pcie-altera.c: In function 'tlp_write_packet':
   drivers/pci/host/pcie-altera.c:201:15: error: passing argument 1 of 'tlp_write_tx' from incompatible pointer type [-Werror=incompatible-pointer-types]
     tlp_write_tx(altera, &tlp_rp_regdata);
                  ^~~~~~
   drivers/pci/host/pcie-altera.c:130:13: note: expected 'struct altera_pcie *' but argument is of type 'struct altera_pcie *'
    static void tlp_write_tx(struct altera_pcie *altera,
                ^~~~~~~~~~~~
   drivers/pci/host/pcie-altera.c:207:16: error: passing argument 1 of 'tlp_write_tx' from incompatible pointer type [-Werror=incompatible-pointer-types]
      tlp_write_tx(altera, &tlp_rp_regdata);
                   ^~~~~~
   drivers/pci/host/pcie-altera.c:130:13: note: expected 'struct altera_pcie *' but argument is of type 'struct altera_pcie *'
    static void tlp_write_tx(struct altera_pcie *altera,
                ^~~~~~~~~~~~
   drivers/pci/host/pcie-altera.c:217:15: error: passing argument 1 of 'tlp_write_tx' from incompatible pointer type [-Werror=incompatible-pointer-types]
     tlp_write_tx(altera, &tlp_rp_regdata);
                  ^~~~~~
   drivers/pci/host/pcie-altera.c:130:13: note: expected 'struct altera_pcie *' but argument is of type 'struct altera_pcie *'
    static void tlp_write_tx(struct altera_pcie *altera,
                ^~~~~~~~~~~~
   drivers/pci/host/pcie-altera.c: At top level:
   drivers/pci/host/pcie-altera.c:220:38: warning: 'struct altera_pcie' declared inside parameter list will not be visible outside of this definition or declaration
    static int tlp_cfg_dword_read(struct altera_pcie *altera, u8 bus, u32 devfn,
                                         ^~~~~~~~~~~
   drivers/pci/host/pcie-altera.c: In function 'tlp_cfg_dword_read':
   drivers/pci/host/pcie-altera.c:61:22: error: dereferencing pointer to incomplete type 'struct altera_pcie'
        ((((bus == altera->root_bus_nr) ? TLP_FMTTYPE_CFGRD0
                         ^
   drivers/pci/host/pcie-altera.c:225:15: note: in expansion of macro 'TLP_CFG_DW0'
     headers[0] = TLP_CFG_DW0(altera, bus);
                  ^~~~~~~~~~~
   drivers/pci/host/pcie-altera.c:225:39: error: expected ':' before ';' token
     headers[0] = TLP_CFG_DW0(altera, bus);
                                          ^
   drivers/pci/host/pcie-altera.c:232:1: error: expected ')' before '}' token
    }
    ^
   drivers/pci/host/pcie-altera.c:232:1: error: expected ')' before '}' token
   drivers/pci/host/pcie-altera.c:232:1: error: expected ';' before '}' token
   drivers/pci/host/pcie-altera.c:232:1: warning: no return statement in function returning non-void [-Wreturn-type]
   drivers/pci/host/pcie-altera.c: At top level:
   drivers/pci/host/pcie-altera.c:234:39: warning: 'struct altera_pcie' declared inside parameter list will not be visible outside of this definition or declaration
    static int tlp_cfg_dword_write(struct altera_pcie *altera, u8 bus, u32 devfn,

vim +/altera_cra_readl +108 drivers/pci/host/pcie-altera.c

    89	struct tlp_rp_regpair_t {
    90		u32 ctrl;
    91		u32 reg0;
    92		u32 reg1;
    93	};
    94	
  > 95	static inline u32 altera_cra_readl(struct altera_pcie *altera, const u32 reg)
    96	{
    97		return readl_relaxed(altera->cra_base + reg);
    98	}
    99	
   100	static inline void altera_cra_writel(struct altera_pcie *altera,
   101					     const u32 value, const u32 reg)
   102	{
   103		writel_relaxed(value, altera->cra_base + reg);
   104	}
   105	
 > 106	static bool altera_pcie_link_is_up(struct altera_pcie *altera)
   107	{
 > 108		return !!((altera_cra_readl(altera, RP_LTSSM) & RP_LTSSM_MASK) == LTSSM_L0);
   109	}
   110	
   111	/*
   112	 * Altera PCIe port uses BAR0 of RC's configuration space as the translation
   113	 * from PCI bus to native BUS.  Entire DDR region is mapped into PCIe space
   114	 * using these registers, so it can be reached by DMA from EP devices.
   115	 * This BAR0 will also access to MSI vector when receiving MSI/MSIX interrupt
   116	 * from EP devices, eventually trigger interrupt to GIC.  The BAR0 of bridge
   117	 * should be hidden during enumeration to avoid the sizing and resource
   118	 * allocation by PCIe core.
   119	 */
   120	static bool altera_pcie_hide_rc_bar(struct pci_bus *bus, unsigned int  devfn,
   121					    int offset)
   122	{
   123		if (pci_is_root_bus(bus) && (devfn == 0) &&
   124		    (offset == PCI_BASE_ADDRESS_0))
   125			return true;
   126	
   127		return false;
   128	}
   129	
   130	static void tlp_write_tx(struct altera_pcie *altera,
   131				 struct tlp_rp_regpair_t *tlp_rp_regdata)
   132	{
 > 133		altera_cra_writel(altera, tlp_rp_regdata->reg0, RP_TX_REG0);
   134		altera_cra_writel(altera, tlp_rp_regdata->reg1, RP_TX_REG1);
   135		altera_cra_writel(altera, tlp_rp_regdata->ctrl, RP_TX_CNTRL);
   136	}

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Attachment: .config.gz
Description: application/gzip


[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux