tree: https://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux.git i2c/platform_data head: 1c80c28c2b11b07c767d4d2694fbee14e498758d commit: f49a5f5f913d556f74f9d5f787c195c4c9ac1ce6 [24/27] i2c: bfin_twi: merge the two header files config: blackfin-allmodconfig (attached as .config) compiler: bfin-uclinux-gcc (GCC) 6.2.0 reproduce: wget https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross git checkout f49a5f5f913d556f74f9d5f787c195c4c9ac1ce6 # save the attached .config to linux build tree make.cross ARCH=blackfin All error/warnings (new ones prefixed by >>): In file included from arch/blackfin/kernel/debug-mmrs.c:22:0: >> arch/blackfin/include/asm/bfin_twi.h:17:42: warning: 'struct bfin_twi_iface' declared inside parameter list will not be visible outside of this definition or declaration static inline u16 read_##reg_name(struct bfin_twi_iface *iface) \ ^ >> arch/blackfin/include/asm/bfin_twi.h:22:1: note: in expansion of macro 'DEFINE_TWI_REG' DEFINE_TWI_REG(CLKDIV, clkdiv) ^~~~~~~~~~~~~~ In file included from arch/blackfin/mach-bf533/include/mach/blackfin.h:15:0, from arch/blackfin/include/asm/irqflags.h:11, from include/linux/irqflags.h:15, from arch/blackfin/include/asm/bitops.h:33, from include/linux/bitops.h:36, from include/linux/kernel.h:10, from include/linux/list.h:8, from include/linux/wait.h:6, from include/linux/fs.h:5, from include/linux/debugfs.h:18, from arch/blackfin/kernel/debug-mmrs.c:9: arch/blackfin/include/asm/bfin_twi.h: In function 'read_CLKDIV': >> arch/blackfin/include/asm/bfin_twi.h:18:29: error: dereferencing pointer to incomplete type 'struct bfin_twi_iface' { return bfin_read16(&iface->regs_base->reg); } \ ^ arch/blackfin/include/asm/def_LPBlackfin.h:34:10: note: in definition of macro '_bfin_readX' : "a" (addr) \ ^~~~ >> arch/blackfin/include/asm/bfin_twi.h:18:11: note: in expansion of macro 'bfin_read16' { return bfin_read16(&iface->regs_base->reg); } \ ^~~~~~~~~~~ >> arch/blackfin/include/asm/bfin_twi.h:22:1: note: in expansion of macro 'DEFINE_TWI_REG' DEFINE_TWI_REG(CLKDIV, clkdiv) ^~~~~~~~~~~~~~ In file included from arch/blackfin/kernel/debug-mmrs.c:22:0: arch/blackfin/include/asm/bfin_twi.h: At top level: arch/blackfin/include/asm/bfin_twi.h:19:44: warning: 'struct bfin_twi_iface' declared inside parameter list will not be visible outside of this definition or declaration static inline void write_##reg_name(struct bfin_twi_iface *iface, u16 v) \ ^ >> arch/blackfin/include/asm/bfin_twi.h:22:1: note: in expansion of macro 'DEFINE_TWI_REG' DEFINE_TWI_REG(CLKDIV, clkdiv) ^~~~~~~~~~~~~~ In file included from arch/blackfin/mach-bf533/include/mach/blackfin.h:15:0, from arch/blackfin/include/asm/irqflags.h:11, from include/linux/irqflags.h:15, from arch/blackfin/include/asm/bitops.h:33, from include/linux/bitops.h:36, from include/linux/kernel.h:10, from include/linux/list.h:8, from include/linux/wait.h:6, from include/linux/fs.h:5, from include/linux/debugfs.h:18, from arch/blackfin/kernel/debug-mmrs.c:9: arch/blackfin/include/asm/bfin_twi.h: In function 'write_CLKDIV': arch/blackfin/include/asm/bfin_twi.h:20:23: error: dereferencing pointer to incomplete type 'struct bfin_twi_iface' { bfin_write16(&iface->regs_base->reg, v); } ^ arch/blackfin/include/asm/def_LPBlackfin.h:42:10: note: in definition of macro '_bfin_writeX' : "a" (addr), "d" ((u##size)(val)) \ ^~~~ >> arch/blackfin/include/asm/bfin_twi.h:20:4: note: in expansion of macro 'bfin_write16' { bfin_write16(&iface->regs_base->reg, v); } ^~~~~~~~~~~~ >> arch/blackfin/include/asm/bfin_twi.h:22:1: note: in expansion of macro 'DEFINE_TWI_REG' DEFINE_TWI_REG(CLKDIV, clkdiv) ^~~~~~~~~~~~~~ In file included from arch/blackfin/kernel/debug-mmrs.c:22:0: arch/blackfin/include/asm/bfin_twi.h: At top level: >> arch/blackfin/include/asm/bfin_twi.h:17:42: warning: 'struct bfin_twi_iface' declared inside parameter list will not be visible outside of this definition or declaration static inline u16 read_##reg_name(struct bfin_twi_iface *iface) \ ^ arch/blackfin/include/asm/bfin_twi.h:23:1: note: in expansion of macro 'DEFINE_TWI_REG' DEFINE_TWI_REG(SLAVE_CTL, slave_ctl) ^~~~~~~~~~~~~~ In file included from arch/blackfin/mach-bf533/include/mach/blackfin.h:15:0, from arch/blackfin/include/asm/irqflags.h:11, from include/linux/irqflags.h:15, from arch/blackfin/include/asm/bitops.h:33, from include/linux/bitops.h:36, from include/linux/kernel.h:10, from include/linux/list.h:8, from include/linux/wait.h:6, from include/linux/fs.h:5, from include/linux/debugfs.h:18, from arch/blackfin/kernel/debug-mmrs.c:9: arch/blackfin/include/asm/bfin_twi.h: In function 'read_SLAVE_CTL': >> arch/blackfin/include/asm/bfin_twi.h:18:29: error: dereferencing pointer to incomplete type 'struct bfin_twi_iface' { return bfin_read16(&iface->regs_base->reg); } \ ^ arch/blackfin/include/asm/def_LPBlackfin.h:34:10: note: in definition of macro '_bfin_readX' : "a" (addr) \ ^~~~ >> arch/blackfin/include/asm/bfin_twi.h:18:11: note: in expansion of macro 'bfin_read16' { return bfin_read16(&iface->regs_base->reg); } \ ^~~~~~~~~~~ arch/blackfin/include/asm/bfin_twi.h:23:1: note: in expansion of macro 'DEFINE_TWI_REG' DEFINE_TWI_REG(SLAVE_CTL, slave_ctl) ^~~~~~~~~~~~~~ In file included from arch/blackfin/kernel/debug-mmrs.c:22:0: arch/blackfin/include/asm/bfin_twi.h: At top level: arch/blackfin/include/asm/bfin_twi.h:19:44: warning: 'struct bfin_twi_iface' declared inside parameter list will not be visible outside of this definition or declaration static inline void write_##reg_name(struct bfin_twi_iface *iface, u16 v) \ ^ arch/blackfin/include/asm/bfin_twi.h:23:1: note: in expansion of macro 'DEFINE_TWI_REG' DEFINE_TWI_REG(SLAVE_CTL, slave_ctl) ^~~~~~~~~~~~~~ In file included from arch/blackfin/mach-bf533/include/mach/blackfin.h:15:0, from arch/blackfin/include/asm/irqflags.h:11, from include/linux/irqflags.h:15, from arch/blackfin/include/asm/bitops.h:33, from include/linux/bitops.h:36, from include/linux/kernel.h:10, from include/linux/list.h:8, from include/linux/wait.h:6, from include/linux/fs.h:5, from include/linux/debugfs.h:18, from arch/blackfin/kernel/debug-mmrs.c:9: arch/blackfin/include/asm/bfin_twi.h: In function 'write_SLAVE_CTL': arch/blackfin/include/asm/bfin_twi.h:20:23: error: dereferencing pointer to incomplete type 'struct bfin_twi_iface' { bfin_write16(&iface->regs_base->reg, v); } ^ arch/blackfin/include/asm/def_LPBlackfin.h:42:10: note: in definition of macro '_bfin_writeX' : "a" (addr), "d" ((u##size)(val)) \ ^~~~ >> arch/blackfin/include/asm/bfin_twi.h:20:4: note: in expansion of macro 'bfin_write16' { bfin_write16(&iface->regs_base->reg, v); } ^~~~~~~~~~~~ arch/blackfin/include/asm/bfin_twi.h:23:1: note: in expansion of macro 'DEFINE_TWI_REG' DEFINE_TWI_REG(SLAVE_CTL, slave_ctl) ^~~~~~~~~~~~~~ In file included from arch/blackfin/kernel/debug-mmrs.c:22:0: arch/blackfin/include/asm/bfin_twi.h: At top level: >> arch/blackfin/include/asm/bfin_twi.h:17:42: warning: 'struct bfin_twi_iface' declared inside parameter list will not be visible outside of this definition or declaration static inline u16 read_##reg_name(struct bfin_twi_iface *iface) \ ^ arch/blackfin/include/asm/bfin_twi.h:24:1: note: in expansion of macro 'DEFINE_TWI_REG' DEFINE_TWI_REG(SLAVE_STAT, slave_stat) ^~~~~~~~~~~~~~ In file included from arch/blackfin/mach-bf533/include/mach/blackfin.h:15:0, from arch/blackfin/include/asm/irqflags.h:11, from include/linux/irqflags.h:15, from arch/blackfin/include/asm/bitops.h:33, from include/linux/bitops.h:36, from include/linux/kernel.h:10, from include/linux/list.h:8, from include/linux/wait.h:6, from include/linux/fs.h:5, from include/linux/debugfs.h:18, from arch/blackfin/kernel/debug-mmrs.c:9: arch/blackfin/include/asm/bfin_twi.h: In function 'read_SLAVE_STAT': >> arch/blackfin/include/asm/bfin_twi.h:18:29: error: dereferencing pointer to incomplete type 'struct bfin_twi_iface' { return bfin_read16(&iface->regs_base->reg); } \ ^ arch/blackfin/include/asm/def_LPBlackfin.h:34:10: note: in definition of macro '_bfin_readX' : "a" (addr) \ ^~~~ >> arch/blackfin/include/asm/bfin_twi.h:18:11: note: in expansion of macro 'bfin_read16' { return bfin_read16(&iface->regs_base->reg); } \ ^~~~~~~~~~~ arch/blackfin/include/asm/bfin_twi.h:24:1: note: in expansion of macro 'DEFINE_TWI_REG' DEFINE_TWI_REG(SLAVE_STAT, slave_stat) ^~~~~~~~~~~~~~ In file included from arch/blackfin/kernel/debug-mmrs.c:22:0: arch/blackfin/include/asm/bfin_twi.h: At top level: arch/blackfin/include/asm/bfin_twi.h:19:44: warning: 'struct bfin_twi_iface' declared inside parameter list will not be visible outside of this definition or declaration static inline void write_##reg_name(struct bfin_twi_iface *iface, u16 v) \ ^ arch/blackfin/include/asm/bfin_twi.h:24:1: note: in expansion of macro 'DEFINE_TWI_REG' DEFINE_TWI_REG(SLAVE_STAT, slave_stat) ^~~~~~~~~~~~~~ In file included from arch/blackfin/mach-bf533/include/mach/blackfin.h:15:0, from arch/blackfin/include/asm/irqflags.h:11, from include/linux/irqflags.h:15, from arch/blackfin/include/asm/bitops.h:33, from include/linux/bitops.h:36, from include/linux/kernel.h:10, from include/linux/list.h:8, from include/linux/wait.h:6, from include/linux/fs.h:5, from include/linux/debugfs.h:18, from arch/blackfin/kernel/debug-mmrs.c:9: arch/blackfin/include/asm/bfin_twi.h: In function 'write_SLAVE_STAT': arch/blackfin/include/asm/bfin_twi.h:20:23: error: dereferencing pointer to incomplete type 'struct bfin_twi_iface' { bfin_write16(&iface->regs_base->reg, v); } ^ arch/blackfin/include/asm/def_LPBlackfin.h:42:10: note: in definition of macro '_bfin_writeX' : "a" (addr), "d" ((u##size)(val)) \ ^~~~ >> arch/blackfin/include/asm/bfin_twi.h:20:4: note: in expansion of macro 'bfin_write16' { bfin_write16(&iface->regs_base->reg, v); } ^~~~~~~~~~~~ arch/blackfin/include/asm/bfin_twi.h:24:1: note: in expansion of macro 'DEFINE_TWI_REG' DEFINE_TWI_REG(SLAVE_STAT, slave_stat) ^~~~~~~~~~~~~~ In file included from arch/blackfin/kernel/debug-mmrs.c:22:0: arch/blackfin/include/asm/bfin_twi.h: At top level: >> arch/blackfin/include/asm/bfin_twi.h:17:42: warning: 'struct bfin_twi_iface' declared inside parameter list will not be visible outside of this definition or declaration static inline u16 read_##reg_name(struct bfin_twi_iface *iface) \ ^ arch/blackfin/include/asm/bfin_twi.h:25:1: note: in expansion of macro 'DEFINE_TWI_REG' DEFINE_TWI_REG(SLAVE_ADDR, slave_addr) ^~~~~~~~~~~~~~ In file included from arch/blackfin/mach-bf533/include/mach/blackfin.h:15:0, from arch/blackfin/include/asm/irqflags.h:11, from include/linux/irqflags.h:15, from arch/blackfin/include/asm/bitops.h:33, from include/linux/bitops.h:36, from include/linux/kernel.h:10, from include/linux/list.h:8, from include/linux/wait.h:6, from include/linux/fs.h:5, from include/linux/debugfs.h:18, from arch/blackfin/kernel/debug-mmrs.c:9: arch/blackfin/include/asm/bfin_twi.h: In function 'read_SLAVE_ADDR': >> arch/blackfin/include/asm/bfin_twi.h:18:29: error: dereferencing pointer to incomplete type 'struct bfin_twi_iface' { return bfin_read16(&iface->regs_base->reg); } \ ^ arch/blackfin/include/asm/def_LPBlackfin.h:34:10: note: in definition of macro '_bfin_readX' : "a" (addr) \ ^~~~ >> arch/blackfin/include/asm/bfin_twi.h:18:11: note: in expansion of macro 'bfin_read16' { return bfin_read16(&iface->regs_base->reg); } \ ^~~~~~~~~~~ arch/blackfin/include/asm/bfin_twi.h:25:1: note: in expansion of macro 'DEFINE_TWI_REG' DEFINE_TWI_REG(SLAVE_ADDR, slave_addr) ^~~~~~~~~~~~~~ In file included from arch/blackfin/kernel/debug-mmrs.c:22:0: arch/blackfin/include/asm/bfin_twi.h: At top level: arch/blackfin/include/asm/bfin_twi.h:19:44: warning: 'struct bfin_twi_iface' declared inside parameter list will not be visible outside of this definition or declaration static inline void write_##reg_name(struct bfin_twi_iface *iface, u16 v) \ ^ arch/blackfin/include/asm/bfin_twi.h:25:1: note: in expansion of macro 'DEFINE_TWI_REG' DEFINE_TWI_REG(SLAVE_ADDR, slave_addr) ^~~~~~~~~~~~~~ In file included from arch/blackfin/mach-bf533/include/mach/blackfin.h:15:0, from arch/blackfin/include/asm/irqflags.h:11, from include/linux/irqflags.h:15, from arch/blackfin/include/asm/bitops.h:33, from include/linux/bitops.h:36, from include/linux/kernel.h:10, from include/linux/list.h:8, from include/linux/wait.h:6, from include/linux/fs.h:5, from include/linux/debugfs.h:18, from arch/blackfin/kernel/debug-mmrs.c:9: arch/blackfin/include/asm/bfin_twi.h: In function 'write_SLAVE_ADDR': arch/blackfin/include/asm/bfin_twi.h:20:23: error: dereferencing pointer to incomplete type 'struct bfin_twi_iface' { bfin_write16(&iface->regs_base->reg, v); } ^ arch/blackfin/include/asm/def_LPBlackfin.h:42:10: note: in definition of macro '_bfin_writeX' : "a" (addr), "d" ((u##size)(val)) \ ^~~~ >> arch/blackfin/include/asm/bfin_twi.h:20:4: note: in expansion of macro 'bfin_write16' { bfin_write16(&iface->regs_base->reg, v); } ^~~~~~~~~~~~ arch/blackfin/include/asm/bfin_twi.h:25:1: note: in expansion of macro 'DEFINE_TWI_REG' DEFINE_TWI_REG(SLAVE_ADDR, slave_addr) ^~~~~~~~~~~~~~ In file included from arch/blackfin/kernel/debug-mmrs.c:22:0: arch/blackfin/include/asm/bfin_twi.h: At top level: vim +18 arch/blackfin/include/asm/bfin_twi.h 61c16b5c Mike Frysinger 2010-10-22 11 f49a5f5f Wolfram Sang 2017-05-17 12 #include <linux/types.h> f49a5f5f Wolfram Sang 2017-05-17 13 #include <linux/i2c.h> 45126da2 Sonic Zhang 2014-01-28 14 #include <asm/blackfin.h> 1e92bf6d Sonic Zhang 2012-05-15 15 1e92bf6d Sonic Zhang 2012-05-15 16 #define DEFINE_TWI_REG(reg_name, reg) \ 1e92bf6d Sonic Zhang 2012-05-15 @17 static inline u16 read_##reg_name(struct bfin_twi_iface *iface) \ f794d7ba Sonic Zhang 2012-06-05 @18 { return bfin_read16(&iface->regs_base->reg); } \ 1e92bf6d Sonic Zhang 2012-05-15 19 static inline void write_##reg_name(struct bfin_twi_iface *iface, u16 v) \ f794d7ba Sonic Zhang 2012-06-05 @20 { bfin_write16(&iface->regs_base->reg, v); } 1e92bf6d Sonic Zhang 2012-05-15 21 1e92bf6d Sonic Zhang 2012-05-15 @22 DEFINE_TWI_REG(CLKDIV, clkdiv) 1e92bf6d Sonic Zhang 2012-05-15 23 DEFINE_TWI_REG(SLAVE_CTL, slave_ctl) 1e92bf6d Sonic Zhang 2012-05-15 24 DEFINE_TWI_REG(SLAVE_STAT, slave_stat) 1e92bf6d Sonic Zhang 2012-05-15 25 DEFINE_TWI_REG(SLAVE_ADDR, slave_addr) :::::: The code at line 18 was first introduced by commit :::::: f794d7ba884ffdde063273a97045a6b8d05aa94c i2c: i2c-bfin-twi: Always access 16 bit MMR by bfin 16 bit access Macro. :::::: TO: Sonic Zhang <sonic.zhang@xxxxxxxxxx> :::::: CC: Bob Liu <lliubbo@xxxxxxxxx> --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
Attachment:
.config.gz
Description: application/gzip