Hi Joshua,

[auto build test ERROR on linus/master]
[also build test ERROR on v4.9-rc2 next-20161028]
[if your patch is applied to the wrong git tree, please drop us a note to help 
improve the system]
[Suggest to use git(>=2.9.0) format-patch --base=<commit> (or --base=auto for 
convenience) to record what (public, well-known) commit your patch series was 
built on]
[Check https://git-scm.com/docs/git-format-patch for more information]

url:    
https://github.com/0day-ci/linux/commits/Joshua-Clayton/lib-add-bitrev8x4/20161029-012535
config: i386-allmodconfig (attached as .config)
compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
reproduce:
        # save the attached .config to linux build tree
        make ARCH=i386 

All error/warnings (new ones prefixed by >>):

   In file included from include/linux/delay.h:10:0,
                    from drivers/fpga/cyclone-ps-spi.c:14:
   drivers/fpga/cyclone-ps-spi.c: In function 'cyclonespi_write':
>> drivers/fpga/cyclone-ps-spi.c:89:46: error: 'SZ_4K' undeclared (first use in 
>> this function)
      size_t stride = min(fw_data_end - fw_data, SZ_4K);
                                                 ^
   include/linux/kernel.h:738:2: note: in definition of macro '__min'
     t2 min2 = (y);     \
     ^~
>> drivers/fpga/cyclone-ps-spi.c:89:19: note: in expansion of macro 'min'
      size_t stride = min(fw_data_end - fw_data, SZ_4K);
                      ^~~
   drivers/fpga/cyclone-ps-spi.c:89:46: note: each undeclared identifier is 
reported only once for each function it appears in
      size_t stride = min(fw_data_end - fw_data, SZ_4K);
                                                 ^
   include/linux/kernel.h:738:2: note: in definition of macro '__min'
     t2 min2 = (y);     \
     ^~
>> drivers/fpga/cyclone-ps-spi.c:89:19: note: in expansion of macro 'min'
      size_t stride = min(fw_data_end - fw_data, SZ_4K);
                      ^~~

vim +/SZ_4K +89 drivers/fpga/cyclone-ps-spi.c

     8   * Works on Cyclone V. Should work on cyclone series.
     9   * May work on other Altera fpgas.
    10   *
    11   */
    12  
    13  #include <linux/bitrev.h>
  > 14  #include <linux/delay.h>
    15  #include <linux/fpga/fpga-mgr.h>
    16  #include <linux/gpio/consumer.h>
    17  #include <linux/module.h>
    18  #include <linux/of_gpio.h>
    19  #include <linux/spi/spi.h>
    20  
    21  #define FPGA_RESET_TIME         50   /* time in usecs to trigger FPGA 
config */
    22  #define FPGA_MIN_DELAY          250  /* min usecs to wait for config 
status */
    23  
    24  struct cyclonespi_conf {
    25          struct gpio_desc *config;
    26          struct gpio_desc *status;
    27          struct spi_device *spi;
    28  };
    29  
    30  static const struct of_device_id of_ef_match[] = {
    31          { .compatible = "altr,cyclone-ps-spi-fpga-mgr", },
    32          {}
    33  };
    34  MODULE_DEVICE_TABLE(of, of_ef_match);
    35  
    36  static enum fpga_mgr_states cyclonespi_state(struct fpga_manager *mgr)
    37  {
    38          return mgr->state;
    39  }
    40  
    41  static int cyclonespi_write_init(struct fpga_manager *mgr, u32 flags,
    42                                   const char *buf, size_t count)
    43  {
    44          struct cyclonespi_conf *conf = (struct cyclonespi_conf 
*)mgr->priv;
    45  
    46          if (flags & FPGA_MGR_PARTIAL_RECONFIG) {
    47                  dev_err(&mgr->dev, "Partial reconfiguration not 
supported.\n");
    48                  return -EINVAL;
    49          }
    50  
    51          gpiod_set_value(conf->config, 0);
    52          usleep_range(FPGA_RESET_TIME, FPGA_RESET_TIME + 20);
    53          if (gpiod_get_value(conf->status) == 1) {
    54                  dev_err(&mgr->dev, "Status pin should be low.\n");
    55                  return -EIO;
    56          }
    57  
    58          gpiod_set_value(conf->config, 1);
    59          usleep_range(FPGA_MIN_DELAY, FPGA_MIN_DELAY + 20);
    60          if (gpiod_get_value(conf->status) == 0) {
    61                  dev_err(&mgr->dev, "Status pin not ready.\n");
    62                  return -EIO;
    63          }
    64  
    65          return 0;
    66  }
    67  
    68  static void rev_buf(void *buf, size_t len)
    69  {
    70          u32 *fw32 = (u32 *)buf;
    71          const u32 *fw_end = (u32 *)(buf + len);
    72  
    73          /* set buffer to lsb first */
    74          while (fw32 < fw_end) {
    75                  *fw32 = bitrev8x4(*fw32);
    76                  fw32++;
    77          }
    78  }
    79  
    80  static int cyclonespi_write(struct fpga_manager *mgr, const char *buf,
    81                              size_t count)
    82  {
    83          struct cyclonespi_conf *conf = (struct cyclonespi_conf 
*)mgr->priv;
    84          const char *fw_data = buf;
    85          const char *fw_data_end = fw_data + count;
    86  
    87          while (fw_data < fw_data_end) {
    88                  int ret;
  > 89                  size_t stride = min(fw_data_end - fw_data, SZ_4K);
    90  
    91                  rev_buf((void *)fw_data, stride);
    92                  ret = spi_write(conf->spi, fw_data, stride);

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

Attachment: .config.gz
Description: application/gzip

Reply via email to