All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: [chrome-os:chromeos-5.4 4/30] arch/powerpc/kernel/pci-common.c:737:38: error: 'struct of_pci_range' has no member named 'pci_space'
Date: Tue, 26 Oct 2021 06:19:16 +0800	[thread overview]
Message-ID: <202110260609.TATvXFkt-lkp@intel.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 13000 bytes --]

tree:   https://chromium.googlesource.com/chromiumos/third_party/kernel chromeos-5.4
head:   b9a906acd1c7ee3c572148e5f5410b75bea3296a
commit: c07eb9cabd50cb22efb6f60ef018521e6d4c5d5f [4/30] UPSTREAM: of: Drop struct of_pci_range.pci_space field
config: powerpc-allyesconfig (attached as .config)
compiler: powerpc-linux-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        git remote add chrome-os https://chromium.googlesource.com/chromiumos/third_party/kernel
        git fetch --no-tags chrome-os chromeos-5.4
        git checkout c07eb9cabd50cb22efb6f60ef018521e6d4c5d5f
        # save the attached .config to linux build tree
        mkdir build_dir
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=powerpc SHELL=/bin/bash arch/powerpc/kernel/

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

   arch/powerpc/kernel/pci-common.c: In function 'pci_process_bridge_OF_ranges':
>> arch/powerpc/kernel/pci-common.c:737:38: error: 'struct of_pci_range' has no member named 'pci_space'
     737 |                                (range.pci_space & 0x40000000) ?
         |                                      ^


vim +737 arch/powerpc/kernel/pci-common.c

13dccb9e65dc0f Benjamin Herrenschmidt 2007-12-11  643  
13dccb9e65dc0f Benjamin Herrenschmidt 2007-12-11  644  /**
13dccb9e65dc0f Benjamin Herrenschmidt 2007-12-11  645   * pci_process_bridge_OF_ranges - Parse PCI bridge resources from device tree
13dccb9e65dc0f Benjamin Herrenschmidt 2007-12-11  646   * @hose: newly allocated pci_controller to be setup
13dccb9e65dc0f Benjamin Herrenschmidt 2007-12-11  647   * @dev: device node of the host bridge
13dccb9e65dc0f Benjamin Herrenschmidt 2007-12-11  648   * @primary: set if primary bus (32 bits only, soon to be deprecated)
13dccb9e65dc0f Benjamin Herrenschmidt 2007-12-11  649   *
13dccb9e65dc0f Benjamin Herrenschmidt 2007-12-11  650   * This function will parse the "ranges" property of a PCI host bridge device
13dccb9e65dc0f Benjamin Herrenschmidt 2007-12-11  651   * node and setup the resource mapping of a pci controller based on its
13dccb9e65dc0f Benjamin Herrenschmidt 2007-12-11  652   * content.
13dccb9e65dc0f Benjamin Herrenschmidt 2007-12-11  653   *
13dccb9e65dc0f Benjamin Herrenschmidt 2007-12-11  654   * Life would be boring if it wasn't for a few issues that we have to deal
13dccb9e65dc0f Benjamin Herrenschmidt 2007-12-11  655   * with here:
13dccb9e65dc0f Benjamin Herrenschmidt 2007-12-11  656   *
13dccb9e65dc0f Benjamin Herrenschmidt 2007-12-11  657   *   - We can only cope with one IO space range and up to 3 Memory space
13dccb9e65dc0f Benjamin Herrenschmidt 2007-12-11  658   *     ranges. However, some machines (thanks Apple !) tend to split their
13dccb9e65dc0f Benjamin Herrenschmidt 2007-12-11  659   *     space into lots of small contiguous ranges. So we have to coalesce.
13dccb9e65dc0f Benjamin Herrenschmidt 2007-12-11  660   *
13dccb9e65dc0f Benjamin Herrenschmidt 2007-12-11  661   *   - Some busses have IO space not starting at 0, which causes trouble with
13dccb9e65dc0f Benjamin Herrenschmidt 2007-12-11  662   *     the way we do our IO resource renumbering. The code somewhat deals with
13dccb9e65dc0f Benjamin Herrenschmidt 2007-12-11  663   *     it for 64 bits but I would expect problems on 32 bits.
13dccb9e65dc0f Benjamin Herrenschmidt 2007-12-11  664   *
13dccb9e65dc0f Benjamin Herrenschmidt 2007-12-11  665   *   - Some 32 bits platforms such as 4xx can have physical space larger than
13dccb9e65dc0f Benjamin Herrenschmidt 2007-12-11  666   *     32 bits so we need to use 64 bits values for the parsing
13dccb9e65dc0f Benjamin Herrenschmidt 2007-12-11  667   */
cad5cef62a5a0c Greg Kroah-Hartman     2012-12-21  668  void pci_process_bridge_OF_ranges(struct pci_controller *hose,
cad5cef62a5a0c Greg Kroah-Hartman     2012-12-21  669  				  struct device_node *dev, int primary)
13dccb9e65dc0f Benjamin Herrenschmidt 2007-12-11  670  {
858957ab1e3a7e Kevin Hao              2013-05-16  671  	int memno = 0;
13dccb9e65dc0f Benjamin Herrenschmidt 2007-12-11  672  	struct resource *res;
654837e8fe8d1d Andrew Murray          2014-02-25  673  	struct of_pci_range range;
654837e8fe8d1d Andrew Murray          2014-02-25  674  	struct of_pci_range_parser parser;
13dccb9e65dc0f Benjamin Herrenschmidt 2007-12-11  675  
b7c670d673d118 Rob Herring            2017-08-21  676  	printk(KERN_INFO "PCI host bridge %pOF %s ranges:\n",
b7c670d673d118 Rob Herring            2017-08-21  677  	       dev, primary ? "(primary)" : "");
13dccb9e65dc0f Benjamin Herrenschmidt 2007-12-11  678  
654837e8fe8d1d Andrew Murray          2014-02-25  679  	/* Check for ranges property */
654837e8fe8d1d Andrew Murray          2014-02-25  680  	if (of_pci_range_parser_init(&parser, dev))
13dccb9e65dc0f Benjamin Herrenschmidt 2007-12-11  681  		return;
13dccb9e65dc0f Benjamin Herrenschmidt 2007-12-11  682  
13dccb9e65dc0f Benjamin Herrenschmidt 2007-12-11  683  	/* Parse it */
654837e8fe8d1d Andrew Murray          2014-02-25  684  	for_each_of_pci_range(&parser, &range) {
e9f82cb75096ae Benjamin Herrenschmidt 2008-10-14  685  		/* If we failed translation or got a zero-sized region
e9f82cb75096ae Benjamin Herrenschmidt 2008-10-14  686  		 * (some FW try to feed us with non sensical zero sized regions
e9f82cb75096ae Benjamin Herrenschmidt 2008-10-14  687  		 * such as power3 which look like some kind of attempt at exposing
e9f82cb75096ae Benjamin Herrenschmidt 2008-10-14  688  		 * the VGA memory hole)
e9f82cb75096ae Benjamin Herrenschmidt 2008-10-14  689  		 */
654837e8fe8d1d Andrew Murray          2014-02-25  690  		if (range.cpu_addr == OF_BAD_ADDR || range.size == 0)
13dccb9e65dc0f Benjamin Herrenschmidt 2007-12-11  691  			continue;
13dccb9e65dc0f Benjamin Herrenschmidt 2007-12-11  692  
13dccb9e65dc0f Benjamin Herrenschmidt 2007-12-11  693  		/* Act based on address space type */
13dccb9e65dc0f Benjamin Herrenschmidt 2007-12-11  694  		res = NULL;
654837e8fe8d1d Andrew Murray          2014-02-25  695  		switch (range.flags & IORESOURCE_TYPE_BITS) {
654837e8fe8d1d Andrew Murray          2014-02-25  696  		case IORESOURCE_IO:
13dccb9e65dc0f Benjamin Herrenschmidt 2007-12-11  697  			printk(KERN_INFO
13dccb9e65dc0f Benjamin Herrenschmidt 2007-12-11  698  			       "  IO 0x%016llx..0x%016llx -> 0x%016llx\n",
654837e8fe8d1d Andrew Murray          2014-02-25  699  			       range.cpu_addr, range.cpu_addr + range.size - 1,
654837e8fe8d1d Andrew Murray          2014-02-25  700  			       range.pci_addr);
13dccb9e65dc0f Benjamin Herrenschmidt 2007-12-11  701  
13dccb9e65dc0f Benjamin Herrenschmidt 2007-12-11  702  			/* We support only one IO range */
13dccb9e65dc0f Benjamin Herrenschmidt 2007-12-11  703  			if (hose->pci_io_size) {
13dccb9e65dc0f Benjamin Herrenschmidt 2007-12-11  704  				printk(KERN_INFO
13dccb9e65dc0f Benjamin Herrenschmidt 2007-12-11  705  				       " \\--> Skipped (too many) !\n");
13dccb9e65dc0f Benjamin Herrenschmidt 2007-12-11  706  				continue;
13dccb9e65dc0f Benjamin Herrenschmidt 2007-12-11  707  			}
13dccb9e65dc0f Benjamin Herrenschmidt 2007-12-11  708  #ifdef CONFIG_PPC32
13dccb9e65dc0f Benjamin Herrenschmidt 2007-12-11  709  			/* On 32 bits, limit I/O space to 16MB */
654837e8fe8d1d Andrew Murray          2014-02-25  710  			if (range.size > 0x01000000)
654837e8fe8d1d Andrew Murray          2014-02-25  711  				range.size = 0x01000000;
13dccb9e65dc0f Benjamin Herrenschmidt 2007-12-11  712  
13dccb9e65dc0f Benjamin Herrenschmidt 2007-12-11  713  			/* 32 bits needs to map IOs here */
654837e8fe8d1d Andrew Murray          2014-02-25  714  			hose->io_base_virt = ioremap(range.cpu_addr,
654837e8fe8d1d Andrew Murray          2014-02-25  715  						range.size);
13dccb9e65dc0f Benjamin Herrenschmidt 2007-12-11  716  
13dccb9e65dc0f Benjamin Herrenschmidt 2007-12-11  717  			/* Expect trouble if pci_addr is not 0 */
13dccb9e65dc0f Benjamin Herrenschmidt 2007-12-11  718  			if (primary)
13dccb9e65dc0f Benjamin Herrenschmidt 2007-12-11  719  				isa_io_base =
13dccb9e65dc0f Benjamin Herrenschmidt 2007-12-11  720  					(unsigned long)hose->io_base_virt;
13dccb9e65dc0f Benjamin Herrenschmidt 2007-12-11  721  #endif /* CONFIG_PPC32 */
13dccb9e65dc0f Benjamin Herrenschmidt 2007-12-11  722  			/* pci_io_size and io_base_phys always represent IO
13dccb9e65dc0f Benjamin Herrenschmidt 2007-12-11  723  			 * space starting at 0 so we factor in pci_addr
13dccb9e65dc0f Benjamin Herrenschmidt 2007-12-11  724  			 */
654837e8fe8d1d Andrew Murray          2014-02-25  725  			hose->pci_io_size = range.pci_addr + range.size;
654837e8fe8d1d Andrew Murray          2014-02-25  726  			hose->io_base_phys = range.cpu_addr - range.pci_addr;
13dccb9e65dc0f Benjamin Herrenschmidt 2007-12-11  727  
13dccb9e65dc0f Benjamin Herrenschmidt 2007-12-11  728  			/* Build resource */
13dccb9e65dc0f Benjamin Herrenschmidt 2007-12-11  729  			res = &hose->io_resource;
654837e8fe8d1d Andrew Murray          2014-02-25  730  			range.cpu_addr = range.pci_addr;
13dccb9e65dc0f Benjamin Herrenschmidt 2007-12-11  731  			break;
654837e8fe8d1d Andrew Murray          2014-02-25  732  		case IORESOURCE_MEM:
13dccb9e65dc0f Benjamin Herrenschmidt 2007-12-11  733  			printk(KERN_INFO
13dccb9e65dc0f Benjamin Herrenschmidt 2007-12-11  734  			       " MEM 0x%016llx..0x%016llx -> 0x%016llx %s\n",
654837e8fe8d1d Andrew Murray          2014-02-25  735  			       range.cpu_addr, range.cpu_addr + range.size - 1,
654837e8fe8d1d Andrew Murray          2014-02-25  736  			       range.pci_addr,
654837e8fe8d1d Andrew Murray          2014-02-25 @737  			       (range.pci_space & 0x40000000) ?
654837e8fe8d1d Andrew Murray          2014-02-25  738  			       "Prefetch" : "");
13dccb9e65dc0f Benjamin Herrenschmidt 2007-12-11  739  
13dccb9e65dc0f Benjamin Herrenschmidt 2007-12-11  740  			/* We support only 3 memory ranges */
13dccb9e65dc0f Benjamin Herrenschmidt 2007-12-11  741  			if (memno >= 3) {
13dccb9e65dc0f Benjamin Herrenschmidt 2007-12-11  742  				printk(KERN_INFO
13dccb9e65dc0f Benjamin Herrenschmidt 2007-12-11  743  				       " \\--> Skipped (too many) !\n");
13dccb9e65dc0f Benjamin Herrenschmidt 2007-12-11  744  				continue;
13dccb9e65dc0f Benjamin Herrenschmidt 2007-12-11  745  			}
13dccb9e65dc0f Benjamin Herrenschmidt 2007-12-11  746  			/* Handles ISA memory hole space here */
654837e8fe8d1d Andrew Murray          2014-02-25  747  			if (range.pci_addr == 0) {
13dccb9e65dc0f Benjamin Herrenschmidt 2007-12-11  748  				if (primary || isa_mem_base == 0)
654837e8fe8d1d Andrew Murray          2014-02-25  749  					isa_mem_base = range.cpu_addr;
654837e8fe8d1d Andrew Murray          2014-02-25  750  				hose->isa_mem_phys = range.cpu_addr;
654837e8fe8d1d Andrew Murray          2014-02-25  751  				hose->isa_mem_size = range.size;
13dccb9e65dc0f Benjamin Herrenschmidt 2007-12-11  752  			}
13dccb9e65dc0f Benjamin Herrenschmidt 2007-12-11  753  
13dccb9e65dc0f Benjamin Herrenschmidt 2007-12-11  754  			/* Build resource */
654837e8fe8d1d Andrew Murray          2014-02-25  755  			hose->mem_offset[memno] = range.cpu_addr -
654837e8fe8d1d Andrew Murray          2014-02-25  756  							range.pci_addr;
13dccb9e65dc0f Benjamin Herrenschmidt 2007-12-11  757  			res = &hose->mem_resources[memno++];
13dccb9e65dc0f Benjamin Herrenschmidt 2007-12-11  758  			break;
13dccb9e65dc0f Benjamin Herrenschmidt 2007-12-11  759  		}
13dccb9e65dc0f Benjamin Herrenschmidt 2007-12-11  760  		if (res != NULL) {
aeba3731b15018 Michael Ellerman       2014-10-16  761  			res->name = dev->full_name;
aeba3731b15018 Michael Ellerman       2014-10-16  762  			res->flags = range.flags;
aeba3731b15018 Michael Ellerman       2014-10-16  763  			res->start = range.cpu_addr;
aeba3731b15018 Michael Ellerman       2014-10-16  764  			res->end = range.cpu_addr + range.size - 1;
aeba3731b15018 Michael Ellerman       2014-10-16  765  			res->parent = res->child = res->sibling = NULL;
13dccb9e65dc0f Benjamin Herrenschmidt 2007-12-11  766  		}
13dccb9e65dc0f Benjamin Herrenschmidt 2007-12-11  767  	}
13dccb9e65dc0f Benjamin Herrenschmidt 2007-12-11  768  }
fa462f2d75e243 Benjamin Herrenschmidt 2007-12-20  769  

:::::: The code at line 737 was first introduced by commit
:::::: 654837e8fe8d1d302803458e3a100aa78e0d90de powerpc/pci: Use of_pci_range_parser helper in pci_process_bridge_OF_ranges

:::::: TO: Andrew Murray <amurray@embedded-bits.co.uk>
:::::: CC: Benjamin Herrenschmidt <benh@kernel.crashing.org>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 63056 bytes --]

                 reply	other threads:[~2021-10-25 22:19 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202110260609.TATvXFkt-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=kbuild-all@lists.01.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.