[wsa:i2c/platform_data 24/27] arch/blackfin/include/asm/bfin_twi.h:18:29: error: dereferencing pointer to incomplete type 'struct bfin_twi_iface'

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

 



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


[Index of Archives]     [Linux GPIO]     [Linux SPI]     [Linux Hardward Monitoring]     [LM Sensors]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux