qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v5 1/4] firmware: introduce sysfs driver for QEM


From: kbuild test robot
Subject: Re: [Qemu-devel] [PATCH v5 1/4] firmware: introduce sysfs driver for QEMU's fw_cfg device
Date: Tue, 24 Nov 2015 04:14:50 +0800
User-agent: Mutt/1.5.23 (2014-03-12)

Hi Gabriel,

[auto build test WARNING on v4.4-rc2]
[also build test WARNING on next-20151123]
[cannot apply to robh/for-next]

url:    
https://github.com/0day-ci/linux/commits/Gabriel-L-Somlo/SysFS-driver-for-QEMU-fw_cfg-device/20151124-000402
config: arm-allyesconfig (attached as .config)
reproduce:
        wget 
https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross
 -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        make.cross ARCH=arm 

All warnings (new ones prefixed by >>):

   drivers/firmware/qemu_fw_cfg.c: In function 'fw_cfg_cmdline_set':
>> drivers/firmware/qemu_fw_cfg.c:510:7: warning: format '%lli' expects 
>> argument of type 'long long int *', but argument 3 has type 'phys_addr_t *' 
>> [-Wformat=]
          &ctrl_off, &data_off, &consumed);
          ^
>> drivers/firmware/qemu_fw_cfg.c:510:7: warning: format '%lli' expects 
>> argument of type 'long long int *', but argument 5 has type 'resource_size_t 
>> *' [-Wformat=]
   drivers/firmware/qemu_fw_cfg.c:510:7: warning: format '%lli' expects 
argument of type 'long long int *', but argument 6 has type 'resource_size_t *' 
[-Wformat=]
   drivers/firmware/qemu_fw_cfg.c: In function 'fw_cfg_cmdline_get':
>> drivers/firmware/qemu_fw_cfg.c:563:5: warning: format '%llx' expects 
>> argument of type 'long long unsigned int', but argument 4 has type 
>> 'resource_size_t' [-Wformat=]
        fw_cfg_cmdline_dev->resource[0].start);
        ^
   drivers/firmware/qemu_fw_cfg.c:563:5: warning: format '%llx' expects 
argument of type 'long long unsigned int', but argument 5 has type 
'resource_size_t' [-Wformat=]
   drivers/firmware/qemu_fw_cfg.c:569:5: warning: format '%llx' expects 
argument of type 'long long unsigned int', but argument 4 has type 
'resource_size_t' [-Wformat=]
        fw_cfg_cmdline_dev->resource[2].start);
        ^
   drivers/firmware/qemu_fw_cfg.c:569:5: warning: format '%llx' expects 
argument of type 'long long unsigned int', but argument 5 has type 
'resource_size_t' [-Wformat=]
>> drivers/firmware/qemu_fw_cfg.c:569:5: warning: format '%llu' expects 
>> argument of type 'long long unsigned int', but argument 6 has type 
>> 'resource_size_t' [-Wformat=]
   drivers/firmware/qemu_fw_cfg.c:569:5: warning: format '%llu' expects 
argument of type 'long long unsigned int', but argument 7 has type 
'resource_size_t' [-Wformat=]

vim +510 drivers/firmware/qemu_fw_cfg.c

   504          /* consume "<size>" portion of command line argument */
   505          size = memparse(arg, &str);
   506  
   507          /* get "@<base>[:<ctrl_off>:<data_off>]" chunks */
   508          processed = sscanf(str, "@%lli%n:%lli:%lli%n",
   509                             &base, &consumed,
 > 510                             &ctrl_off, &data_off, &consumed);
   511  
   512          /* sscanf() must process precisely 1 or 3 chunks:
   513           * <base> is mandatory, optionally followed by <ctrl_off>
   514           * and <data_off>;
   515           * there must be no extra characters after the last chunk,
   516           * so str[consumed] must be '\0'.
   517           */
   518          if (str[consumed] ||
   519              (processed != 1 && processed != 3))
   520                  return -EINVAL;
   521  
   522          res[0].start = base;
   523          res[0].end = base + size - 1;
   524          res[0].flags = !strcmp(kp->name, "mmio") ? IORESOURCE_MEM :
   525                                                     IORESOURCE_IO;
   526  
   527          /* insert register offsets, if provided */
   528          if (processed > 1) {
   529                  res[1].name = "ctrl";
   530                  res[1].start = ctrl_off;
   531                  res[1].flags = IORESOURCE_REG;
   532                  res[2].name = "data";
   533                  res[2].start = data_off;
   534                  res[2].flags = IORESOURCE_REG;
   535          }
   536  
   537          /* "processed" happens to nicely match the number of resources
   538           * we need to pass in to this platform device.
   539           */
   540          fw_cfg_cmdline_dev = platform_device_register_simple("fw_cfg",
   541                                          PLATFORM_DEVID_NONE, res, 
processed);
   542          if (IS_ERR(fw_cfg_cmdline_dev))
   543                  return PTR_ERR(fw_cfg_cmdline_dev);
   544  
   545          return 0;
   546  }
   547  
   548  static int fw_cfg_cmdline_get(char *buf, const struct kernel_param *kp)
   549  {
   550          /* stay silent if device was not configured via the command
   551           * line, or if the parameter name (ioport/mmio) doesn't match
   552           * the device setting
   553           */
   554          if (!fw_cfg_cmdline_dev ||
   555              (!strcmp(kp->name, "mmio") ^
   556               (fw_cfg_cmdline_dev->resource[0].flags == IORESOURCE_MEM)))
   557                  return 0;
   558  
   559          switch (fw_cfg_cmdline_dev->num_resources) {
   560          case 1:
   561                  return snprintf(buf, PAGE_SIZE, "address@hidden",
   562                                  
resource_size(&fw_cfg_cmdline_dev->resource[0]),
 > 563                                  fw_cfg_cmdline_dev->resource[0].start);
   564          case 3:
   565                  return snprintf(buf, PAGE_SIZE, 
"address@hidden:%llu:%llu",
   566                                  
resource_size(&fw_cfg_cmdline_dev->resource[0]),
   567                                  fw_cfg_cmdline_dev->resource[0].start,
   568                                  fw_cfg_cmdline_dev->resource[1].start,
 > 569                                  fw_cfg_cmdline_dev->resource[2].start);
   570          }
   571  
   572          /* Should never get here */

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

Attachment: .config.gz
Description: Binary data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]