* [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'
@ 2021-10-25 22:19 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2021-10-25 22:19 UTC (permalink / raw)
To: kbuild-all
[-- 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 --]
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2021-10-25 22:19 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-10-25 22:19 [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' kernel test robot
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.