linux/scripts/dtc
Rob Herring 970f04c840 dtc: checks: drop warning for missing PCI bridge bus-range
Cherry-picked from dtc upstream commit e1f139ea4900fd0324c646822b4061fec6e08321.

Having a 'bus-range' property for PCI bridges should not be required,
so remove the warning when missing. There was some confusion with the
Linux kernel printing a message that no property is present and the OS
assigned the bus number. This message was intended to be informational
rather than a warning.

When the firmware doesn't enumerate the PCI bus and leaves it up to the
OS to do, then it is perfectly fine for the OS to assign bus numbers
and bus-range is not necessary.

There are a few cases where bus-range is needed or useful as Arnd
Bergmann summarized:

- Traditionally Linux avoided using multiple PCI domains, but instead
  configured separate PCI host bridges to have non-overlapping
  bus ranges so we can present them to user space as a single
  domain, and run the kernel without CONFIG_PCI_DOMAINS.
  Specifying the bus ranges this way would and give stable bus
  numbers across boots when the probe order is not fixed.

- On certain ARM64 systems, we must only use the first
  128 bus numbers based on the way the IOMMU identifies
  the device with truncated bus/dev/fn number. There are probably
  others like this, with various limitations.

- To leave some room for hotplugged devices, each slot on
  a host bridge can in theory get a range of bus numbers
  that are available when assigning bus numbers at boot time

Cc: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Rob Herring <robh@kernel.org>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2018-04-24 07:47:40 -05:00
..
include-prefixes dts: remove cris & metag dts hard link file 2018-04-06 15:26:31 +02:00
libfdt scripts/dtc: Update to upstream version v1.4.6-9-gaadd0b65c987 2018-03-05 20:58:17 -06:00
.gitignore .gitignore: move *.lex.c *.tab.[ch] patterns to the top-level .gitignore 2018-04-07 19:04:02 +09:00
checks.c dtc: checks: drop warning for missing PCI bridge bus-range 2018-04-24 07:47:40 -05:00
data.c scripts/dtc: Update to upstream version v1.4.4-8-g756ffc4f52f6 2017-03-22 14:56:14 -05:00
dt_to_config scripts: Switch to more portable Perl shebang 2017-05-14 11:20:44 +09:00
dtc-lexer.l scripts/dtc: Update to upstream version v1.4.4-8-g756ffc4f52f6 2017-03-22 14:56:14 -05:00
dtc-parser.y scripts/dtc: Update to upstream version v1.4.6-9-gaadd0b65c987 2018-03-05 20:58:17 -06:00
dtc.c scripts/dtc: Update to upstream version v1.4.6-9-gaadd0b65c987 2018-03-05 20:58:17 -06:00
dtc.h scripts/dtc: Update to upstream version v1.4.6-9-gaadd0b65c987 2018-03-05 20:58:17 -06:00
dtx_diff scripts/dtc: dtx_diff - 2nd update of include dts paths to match build 2017-09-20 10:13:05 -05:00
fdtdump.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
fdtget.c
fdtput.c
flattree.c scripts/dtc: Update to upstream version v1.4.6-9-gaadd0b65c987 2018-03-05 20:58:17 -06:00
fstree.c scripts/dtc: Update to upstream version 0931cea3ba20 2017-01-04 10:47:53 -06:00
livetree.c scripts/dtc: Update to upstream version v1.4.6-9-gaadd0b65c987 2018-03-05 20:58:17 -06:00
Makefile kbuild: add %.lex.c and %.tab.[ch] to 'targets' automatically 2018-04-07 19:04:02 +09:00
Makefile.dtc
srcpos.c scripts/dtc: Update to upstream version v1.4.6-9-gaadd0b65c987 2018-03-05 20:58:17 -06:00
srcpos.h scripts/dtc: Update to upstream version v1.4.6-9-gaadd0b65c987 2018-03-05 20:58:17 -06:00
treesource.c scripts/dtc: Update to upstream version v1.4.4-8-g756ffc4f52f6 2017-03-22 14:56:14 -05:00
update-dtc-source.sh scripts/dtc: generate lexer and parser during build instead of shipping 2018-03-05 20:58:17 -06:00
util.c scripts/dtc: Update to upstream version v1.4.4-8-g756ffc4f52f6 2017-03-22 14:56:14 -05:00
util.h scripts/dtc: Update to upstream version v1.4.6-9-gaadd0b65c987 2018-03-05 20:58:17 -06:00
version_gen.h scripts/dtc: Update to upstream version v1.4.6-9-gaadd0b65c987 2018-03-05 20:58:17 -06:00