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.