Hi Greg,

FYI, the error/warning still remains.

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git 
staging-testing
head:   a4ecdcbfc4dd91417706e4644e4e93de43b34bea
commit: 7dc7967fc39af81191558f63eeaf3d2b83899b1c [430/495] staging: kpc2000: 
add initial set of Daktronics drivers
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
        git checkout 7dc7967fc39af81191558f63eeaf3d2b83899b1c
        # save the attached .config to linux build tree
        GCC_VERSION=7.2.0 make.cross ARCH=arm 

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <l...@intel.com>

All errors (new ones prefixed by >>):

   drivers/staging//kpc2000/kpc_spi/spi_driver.c:97:5: note: offset of packed 
bit-field 'wl' has changed in GCC 4.4
        } bitfield;
        ^
   drivers/staging//kpc2000/kpc_spi/spi_driver.c:97:5: note: offset of packed 
bit-field 'cs' has changed in GCC 4.4
   drivers/staging//kpc2000/kpc_spi/spi_driver.c:97:5: note: offset of packed 
bit-field 'wcnt' has changed in GCC 4.4
   drivers/staging//kpc2000/kpc_spi/spi_driver.c: In function 'kp_spi_read_reg':
   drivers/staging//kpc2000/kpc_spi/spi_driver.c:158:11: error: implicit 
declaration of function 'readq'; did you mean 'readl'? 
[-Werror=implicit-function-declaration]
        val = readq((void*)addr);
              ^~~~~
              readl
   drivers/staging//kpc2000/kpc_spi/spi_driver.c: In function 
'kp_spi_write_reg':
>> drivers/staging//kpc2000/kpc_spi/spi_driver.c:167:5: error: implicit 
>> declaration of function 'writeq'; did you mean 'writeb'? 
>> [-Werror=implicit-function-declaration]
        writeq(val, (void*)addr);
        ^~~~~~
        writeb
   cc1: some warnings being treated as errors

vim +167 drivers/staging//kpc2000/kpc_spi/spi_driver.c

    80  
    81  
    82  union kp_spi_config {
    83      /* use this to access individual elements */
    84      struct __attribute__((packed)) spi_config_bitfield {
    85          unsigned char pha       : 1; /* spim_clk Phase      */
    86          unsigned char pol       : 1; /* spim_clk Polarity   */
    87          unsigned char epol      : 1; /* spim_csx Polarity   */
    88          unsigned char dpe       : 1; /* Transmission Enable */
    89          unsigned char wl        : 5; /* Word Length         */
    90          unsigned char           : 3;
    91          unsigned char trm       : 2; /* TxRx Mode           */
    92          unsigned char cs        : 4; /* Chip Select         */
    93          unsigned char wcnt      : 7; /* Word Count          */
    94          unsigned char ffen      : 1; /* FIFO Enable         */
    95          unsigned char spi_en    : 1; /* SPI Enable          */
    96          unsigned char           : 5;
  > 97      } bitfield;
    98      /* use this to grab the whole register */
    99      u32 reg;
   100  };
   101  
   102  
   103  
   104  union kp_spi_status {
   105      struct __attribute__((packed)) spi_status_bitfield {
   106          unsigned char rx    :  1; /* Rx Status       */
   107          unsigned char tx    :  1; /* Tx Status       */
   108          unsigned char eo    :  1; /* End of Transfer */
   109          unsigned char       :  1;
   110          unsigned char txffe :  1; /* Tx FIFO Empty   */
   111          unsigned char txfff :  1; /* Tx FIFO Full    */
   112          unsigned char rxffe :  1; /* Rx FIFO Empty   */
   113          unsigned char rxfff :  1; /* Rx FIFO Full    */
   114          unsigned int        : 24;
   115      } bitfield;
   116      u32 reg;
   117  };
   118  
   119  
   120  
   121  union kp_spi_ffctrl {
   122      struct __attribute__((packed)) spi_ffctrl_bitfield {
   123          unsigned char ffstart :  1; /* FIFO Start */
   124          unsigned int          : 31;
   125      } bitfield;
   126      u32 reg;
   127  };
   128  
   129  
   130  
   131  /***************
   132   * SPI Helpers *
   133   ***************/
   134  static inline int
   135  kp_spi_bytes_per_word(int word_len)
   136  {
   137      if (word_len <= 8){
   138          return 1;
   139      }
   140      else if (word_len <= 16) {
   141          return 2;
   142      }
   143      else { /* word_len <= 32 */
   144          return 4;
   145      }
   146  }
   147  
   148  static inline u64
   149  kp_spi_read_reg(struct kp_spi_controller_state *cs, int idx)
   150  {
   151      u64 __iomem *addr = cs->base;
   152      u64 val;
   153  
   154      addr += idx;
   155      if ((idx == KP_SPI_REG_CONFIG) && (cs->conf_cache >= 0)){
   156          return cs->conf_cache;
   157      }
   158      val = readq((void*)addr);
   159      return val;
   160  }
   161  
   162  static inline void
   163  kp_spi_write_reg(struct kp_spi_controller_state *cs, int idx, u64 val)
   164  {
   165      u64 __iomem *addr = cs->base;
   166      addr += idx;
 > 167      writeq(val, (void*)addr);
   168      if (idx == KP_SPI_REG_CONFIG)
   169          cs->conf_cache = val;
   170  }
   171  

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

Attachment: .config.gz
Description: application/gzip

_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to