On Tue, Jan 01, 2019 at 11:31:39AM +0800, kbuild test robot wrote: > Hi Devesh, > > I love your patch! Yet something to improve: > > [auto build test ERROR on rdma/for-next] > [also build test ERROR on v4.20 next-20181224] > [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] > > url: https://github.com/0day-ci/linux/commits/Devesh-Sharma/Add-support-Broadcom-s-57500-series-of-adapters/20181231-151329 > base: https://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git for-next > config: arm-allmodconfig (attached as .config) > compiler: arm-linux-gnueabi-gcc (Debian 7.2.0-11) 7.2.0 > reproduce: > wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross > chmod +x ~/bin/make.cross > # save the attached .config to linux build tree > GCC_VERSION=7.2.0 make.cross ARCH=arm > > All errors (new ones prefixed by >>): > > In file included from drivers/infiniband/hw/bnxt_re/qplib_rcfw.c:49:0: > drivers/infiniband/hw/bnxt_re/qplib_rcfw.h: In function 'bnxt_qplib_ring_creq_db64': > >> drivers/infiniband/hw/bnxt_re/qplib_rcfw.h:175:2: error: implicit declaration of function 'writeq'; did you mean 'writeb'? [-Werror=implicit-function-declaration] > writeq(*val, db); > ^~~~~~ > writeb > cc1: some warnings being treated as errors > > vim +175 drivers/infiniband/hw/bnxt_re/qplib_rcfw.h > > 147 > 148 #define CREQ_CMP_VALID(hdr, raw_cons, cp_bit) \ > 149 (!!((hdr)->v & CREQ_BASE_V) == \ > 150 !((raw_cons) & (cp_bit))) > 151 > 152 #define CREQ_DB_KEY_CP (0x2 << CMPL_DOORBELL_KEY_SFT) > 153 #define CREQ_DB_IDX_VALID CMPL_DOORBELL_IDX_VALID > 154 #define CREQ_DB_IRQ_DIS CMPL_DOORBELL_MASK > 155 #define CREQ_DB_CP_FLAGS_REARM (CREQ_DB_KEY_CP | \ > 156 CREQ_DB_IDX_VALID) > 157 #define CREQ_DB_CP_FLAGS (CREQ_DB_KEY_CP | \ > 158 CREQ_DB_IDX_VALID | \ > 159 CREQ_DB_IRQ_DIS) > 160 > 161 static inline void bnxt_qplib_ring_creq_db64(void __iomem *db, u32 index, > 162 u16 xid, bool arm) > 163 { > 164 struct dbc_dbc hdr64 = { 0 }; > 165 u32 tmp = 0; > 166 u64 *val; > 167 > 168 hdr64.index = cpu_to_le32(index & DBC_DBC_INDEX_MASK); > 169 tmp = xid & DBC_DBC_XID_MASK; > 170 tmp |= DBC_DBC_PATH_ROCE; > 171 tmp |= arm ? DBC_DBC_TYPE_NQ_ARM : DBC_DBC_TYPE_NQ; > 172 hdr64.type_path_xid = cpu_to_le32(tmp); > 173 val = (u64 *)&hdr64.index; > 174 wmb(); > > 175 writeq(*val, db); You can probably use 'depends on 64BIT' in the kconfig? This is what qib does Jaason