tree:   https://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm.git 
for-5.0/nvdimm-security
head:   bddbf9de5dcd455addac2862e8bc3f41881d29f7
commit: 625fea4fc86b6dca5a43b5882f23f537088571a6 [2/17] acpi/nfit, libnvdimm: 
Store dimm id as a member to struct nvdimm
config: powerpc64-allyesconfig (attached as .config)
compiler: powerpc64-linux-gnu-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 625fea4fc86b6dca5a43b5882f23f537088571a6
        # save the attached .config to linux build tree
        GCC_VERSION=7.2.0 make.cross ARCH=powerpc64 

Note: the linux-nvdimm/for-5.0/nvdimm-security HEAD 
bddbf9de5dcd455addac2862e8bc3f41881d29f7 builds fine.
      It only hurts bisectibility.

All errors (new ones prefixed by >>):

   arch/powerpc//platforms/pseries/papr_scm.c: In function 
'papr_scm_nvdimm_init':
>> arch/powerpc//platforms/pseries/papr_scm.c:219:14: error: too few arguments 
>> to function 'nvdimm_create'
     p->nvdimm = nvdimm_create(p->bus, p, papr_scm_dimm_groups,
                 ^~~~~~~~~~~~~
   In file included from arch/powerpc//platforms/pseries/papr_scm.c:12:0:
   include/linux/libnvdimm.h:178:16: note: declared here
    struct nvdimm *nvdimm_create(struct nvdimm_bus *nvdimm_bus, void 
*provider_data,
                   ^~~~~~~~~~~~~

vim +/nvdimm_create +219 arch/powerpc//platforms/pseries/papr_scm.c

b5beae5e Oliver O'Halloran 2018-10-15  193  
b5beae5e Oliver O'Halloran 2018-10-15  194  static int 
papr_scm_nvdimm_init(struct papr_scm_priv *p)
b5beae5e Oliver O'Halloran 2018-10-15  195  {
b5beae5e Oliver O'Halloran 2018-10-15  196      struct device *dev = 
&p->pdev->dev;
b5beae5e Oliver O'Halloran 2018-10-15  197      struct nd_mapping_desc mapping;
b5beae5e Oliver O'Halloran 2018-10-15  198      struct nd_region_desc ndr_desc;
b5beae5e Oliver O'Halloran 2018-10-15  199      unsigned long dimm_flags;
b5beae5e Oliver O'Halloran 2018-10-15  200  
b5beae5e Oliver O'Halloran 2018-10-15  201      p->bus_desc.ndctl = 
papr_scm_ndctl;
b5beae5e Oliver O'Halloran 2018-10-15  202      p->bus_desc.module = 
THIS_MODULE;
b5beae5e Oliver O'Halloran 2018-10-15  203      p->bus_desc.of_node = 
p->pdev->dev.of_node;
b5beae5e Oliver O'Halloran 2018-10-15  204      p->bus_desc.attr_groups = 
bus_attr_groups;
b5beae5e Oliver O'Halloran 2018-10-15  205      p->bus_desc.provider_name = 
kstrdup(p->pdev->name, GFP_KERNEL);
b5beae5e Oliver O'Halloran 2018-10-15  206  
b5beae5e Oliver O'Halloran 2018-10-15  207      if (!p->bus_desc.provider_name)
b5beae5e Oliver O'Halloran 2018-10-15  208              return -ENOMEM;
b5beae5e Oliver O'Halloran 2018-10-15  209  
b5beae5e Oliver O'Halloran 2018-10-15  210      p->bus = 
nvdimm_bus_register(NULL, &p->bus_desc);
b5beae5e Oliver O'Halloran 2018-10-15  211      if (!p->bus) {
b5beae5e Oliver O'Halloran 2018-10-15  212              dev_err(dev, "Error 
creating nvdimm bus %pOF\n", p->dn);
b5beae5e Oliver O'Halloran 2018-10-15  213              return -ENXIO;
b5beae5e Oliver O'Halloran 2018-10-15  214      }
b5beae5e Oliver O'Halloran 2018-10-15  215  
b5beae5e Oliver O'Halloran 2018-10-15  216      dimm_flags = 0;
b5beae5e Oliver O'Halloran 2018-10-15  217      set_bit(NDD_ALIASING, 
&dimm_flags);
b5beae5e Oliver O'Halloran 2018-10-15  218  
b5beae5e Oliver O'Halloran 2018-10-15 @219      p->nvdimm = 
nvdimm_create(p->bus, p, papr_scm_dimm_groups,
b5beae5e Oliver O'Halloran 2018-10-15  220                              
dimm_flags, PAPR_SCM_DIMM_CMD_MASK, 0, NULL);
b5beae5e Oliver O'Halloran 2018-10-15  221      if (!p->nvdimm) {
b5beae5e Oliver O'Halloran 2018-10-15  222              dev_err(dev, "Error 
creating DIMM object for %pOF\n", p->dn);
b5beae5e Oliver O'Halloran 2018-10-15  223              goto err;
b5beae5e Oliver O'Halloran 2018-10-15  224      }
b5beae5e Oliver O'Halloran 2018-10-15  225  
b5beae5e Oliver O'Halloran 2018-10-15  226      /* now add the region */
b5beae5e Oliver O'Halloran 2018-10-15  227  
b5beae5e Oliver O'Halloran 2018-10-15  228      memset(&mapping, 0, 
sizeof(mapping));
b5beae5e Oliver O'Halloran 2018-10-15  229      mapping.nvdimm = p->nvdimm;
b5beae5e Oliver O'Halloran 2018-10-15  230      mapping.start = 0;
b5beae5e Oliver O'Halloran 2018-10-15  231      mapping.size = p->blocks * 
p->block_size; // XXX: potential overflow?
b5beae5e Oliver O'Halloran 2018-10-15  232  
b5beae5e Oliver O'Halloran 2018-10-15  233      memset(&ndr_desc, 0, 
sizeof(ndr_desc));
b5beae5e Oliver O'Halloran 2018-10-15  234      ndr_desc.attr_groups = 
region_attr_groups;
b5beae5e Oliver O'Halloran 2018-10-15  235      ndr_desc.numa_node = 
dev_to_node(&p->pdev->dev);
b5beae5e Oliver O'Halloran 2018-10-15  236      ndr_desc.res = &p->res;
b5beae5e Oliver O'Halloran 2018-10-15  237      ndr_desc.of_node = p->dn;
b5beae5e Oliver O'Halloran 2018-10-15  238      ndr_desc.provider_data = p;
b5beae5e Oliver O'Halloran 2018-10-15  239      ndr_desc.mapping = &mapping;
b5beae5e Oliver O'Halloran 2018-10-15  240      ndr_desc.num_mappings = 1;
b5beae5e Oliver O'Halloran 2018-10-15  241      ndr_desc.nd_set = &p->nd_set;
b5beae5e Oliver O'Halloran 2018-10-15  242      set_bit(ND_REGION_PAGEMAP, 
&ndr_desc.flags);
b5beae5e Oliver O'Halloran 2018-10-15  243  
b5beae5e Oliver O'Halloran 2018-10-15  244      p->region = 
nvdimm_pmem_region_create(p->bus, &ndr_desc);
b5beae5e Oliver O'Halloran 2018-10-15  245      if (!p->region) {
b5beae5e Oliver O'Halloran 2018-10-15  246              dev_err(dev, "Error 
registering region %pR from %pOF\n",
b5beae5e Oliver O'Halloran 2018-10-15  247                              
ndr_desc.res, p->dn);
b5beae5e Oliver O'Halloran 2018-10-15  248              goto err;
b5beae5e Oliver O'Halloran 2018-10-15  249      }
b5beae5e Oliver O'Halloran 2018-10-15  250  
b5beae5e Oliver O'Halloran 2018-10-15  251      return 0;
b5beae5e Oliver O'Halloran 2018-10-15  252  

:::::: The code at line 219 was first introduced by commit
:::::: b5beae5e224f1c72c4482b0ab36fc3d89481a6b2 powerpc/pseries: Add driver for 
PAPR SCM regions

:::::: TO: Oliver O'Halloran <ooh...@gmail.com>
:::::: CC: Michael Ellerman <m...@ellerman.id.au>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
_______________________________________________
Linux-nvdimm mailing list
Linux-nvdimm@lists.01.org
https://lists.01.org/mailman/listinfo/linux-nvdimm

Reply via email to