pci-v4.18-fixes-1

-----BEGIN PGP SIGNATURE-----
 
 iQJIBAABCgAyFiEEgMe7l+5h9hnxdsnuWYigwDrT+vwFAls2JpMUHGJoZWxnYWFz
 QGdvb2dsZS5jb20ACgkQWYigwDrT+vy6Kw//dGmsa6G6+fexMwLj38bRWIN5d7Zb
 h4/szWj362a5xvM9E2dxFVTKkjvuNQMHg0NMysbAPTofmBwgVNs7g/Vb+9PrP6mn
 ef/zkas99Zsqi3BS8Xc0tEdCDTDUTm0uAQHmzFKS19W23VrTySe710i/LR+PA50r
 xqIIjOXyiFI/Va764wrrMaHaq7ADbxVzG+AUGelioHLXoP9mfoWKH6gi/XIflxEp
 j7AnDiPualnJXd3+TgZMGXdlxP+rTWeP4f1WaCWrzBGbucD6uUVZ4eKWRkm3w62b
 U7PKqA5vX1Ri1Sj7GoHAEMouvmGBHMUoJbsh+XRQ6UpmxNJScqUfDyNjWXcMI40u
 LNPKAmKuspeyp0AMjpwsZYNhgqy9A6VOxwtL2MzgVy1Ws7aOKdRXyg03ERyzYmiU
 DttkXt+Qg11WG74vry/vi5b+EfWp526sYwnnTEiux7BDE6wTT/W7LIpR+Varrb1t
 qdf86cAKNwXa5T1+eaTZvFavoFxhPkjELI1kcci+4ehBauLHo5iP5WRU2am1jS3f
 pPK4E2C9kdWWcv41OzneHajxa0vdRFtEO2eSBEh0XHmr+tscPAT2o3I5Q5IFOCsj
 Dbujcnzmv5njgp20wR1TRAePgeSVE5W0GkrMQS4QOHGHz2B+n9N3MxY7XmWfKPlR
 1HSZt/lfSrNA0Mk=
 =hFb/
 -----END PGP SIGNATURE-----

Merge tag 'pci-v4.18-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci

Pull PCI fixes from Bjorn Helgaas:

 - Fix crash caused by endpoint library initialization order change
   (Alan Douglas)

 - Fix shpchp NULL pointer dereference regression on non-ACPI platforms
   (Bjorn Helgaas)

 - Move PCI_DOMAINS selection to fix build regression (Lorenzo
   Pieralisi)

* tag 'pci-v4.18-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci:
  PCI: controller: Move PCI_DOMAINS selection to arch Kconfig
  PCI: Initialize endpoint library before controllers
  PCI: shpchp: Manage SHPC unconditionally on non-ACPI systems
This commit is contained in:
Linus Torvalds 2018-06-29 07:22:46 -07:00
commit cd993fc431
6 changed files with 21 additions and 8 deletions

View File

@ -1245,8 +1245,14 @@ config PCI
VESA. If you have PCI, say Y, otherwise N. VESA. If you have PCI, say Y, otherwise N.
config PCI_DOMAINS config PCI_DOMAINS
bool bool "Support for multiple PCI domains"
depends on PCI depends on PCI
help
Enable PCI domains kernel management. Say Y if your machine
has a PCI bus hierarchy that requires more than one PCI
domain (aka segment) to be correctly managed. Say N otherwise.
If you don't know what to do here, say N.
config PCI_DOMAINS_GENERIC config PCI_DOMAINS_GENERIC
def_bool PCI_DOMAINS def_bool PCI_DOMAINS

View File

@ -20,6 +20,7 @@ config ARCH_BCM_IPROC
select GPIOLIB select GPIOLIB
select ARM_AMBA select ARM_AMBA
select PINCTRL select PINCTRL
select PCI_DOMAINS if PCI
help help
This enables support for systems based on Broadcom IPROC architected SoCs. This enables support for systems based on Broadcom IPROC architected SoCs.
The IPROC complex contains one or more ARM CPUs along with common The IPROC complex contains one or more ARM CPUs along with common

View File

@ -10,6 +10,7 @@ menuconfig ARCH_SOCFPGA
select HAVE_ARM_SCU select HAVE_ARM_SCU
select HAVE_ARM_TWD if SMP select HAVE_ARM_TWD if SMP
select MFD_SYSCON select MFD_SYSCON
select PCI_DOMAINS if PCI
if ARCH_SOCFPGA if ARCH_SOCFPGA
config SOCFPGA_SUSPEND config SOCFPGA_SUSPEND

View File

@ -28,10 +28,10 @@ obj-$(CONFIG_PCI_PF_STUB) += pci-pf-stub.o
obj-$(CONFIG_PCI_ECAM) += ecam.o obj-$(CONFIG_PCI_ECAM) += ecam.o
obj-$(CONFIG_XEN_PCIDEV_FRONTEND) += xen-pcifront.o obj-$(CONFIG_XEN_PCIDEV_FRONTEND) += xen-pcifront.o
obj-y += controller/
obj-y += switch/
# Endpoint library must be initialized before its users # Endpoint library must be initialized before its users
obj-$(CONFIG_PCI_ENDPOINT) += endpoint/ obj-$(CONFIG_PCI_ENDPOINT) += endpoint/
obj-y += controller/
obj-y += switch/
ccflags-$(CONFIG_PCI_DEBUG) := -DDEBUG ccflags-$(CONFIG_PCI_DEBUG) := -DDEBUG

View File

@ -96,7 +96,6 @@ config PCI_HOST_GENERIC
depends on OF depends on OF
select PCI_HOST_COMMON select PCI_HOST_COMMON
select IRQ_DOMAIN select IRQ_DOMAIN
select PCI_DOMAINS
help help
Say Y here if you want to support a simple generic PCI host Say Y here if you want to support a simple generic PCI host
controller, such as the one emulated by kvmtool. controller, such as the one emulated by kvmtool.
@ -138,7 +137,6 @@ config PCI_VERSATILE
config PCIE_IPROC config PCIE_IPROC
tristate tristate
select PCI_DOMAINS
help help
This enables the iProc PCIe core controller support for Broadcom's This enables the iProc PCIe core controller support for Broadcom's
iProc family of SoCs. An appropriate bus interface driver needs iProc family of SoCs. An appropriate bus interface driver needs
@ -176,7 +174,6 @@ config PCIE_IPROC_MSI
config PCIE_ALTERA config PCIE_ALTERA
bool "Altera PCIe controller" bool "Altera PCIe controller"
depends on ARM || NIOS2 || COMPILE_TEST depends on ARM || NIOS2 || COMPILE_TEST
select PCI_DOMAINS
help help
Say Y here if you want to enable PCIe controller support on Altera Say Y here if you want to enable PCIe controller support on Altera
FPGA. FPGA.

View File

@ -7,7 +7,6 @@
* All rights reserved. * All rights reserved.
* *
* Send feedback to <kristen.c.accardi@intel.com> * Send feedback to <kristen.c.accardi@intel.com>
*
*/ */
#include <linux/module.h> #include <linux/module.h>
@ -87,8 +86,17 @@ int acpi_get_hp_hw_control_from_firmware(struct pci_dev *pdev)
return 0; return 0;
/* If _OSC exists, we should not evaluate OSHP */ /* If _OSC exists, we should not evaluate OSHP */
/*
* If there's no ACPI host bridge (i.e., ACPI support is compiled
* into the kernel but the hardware platform doesn't support ACPI),
* there's nothing to do here.
*/
host = pci_find_host_bridge(pdev->bus); host = pci_find_host_bridge(pdev->bus);
root = acpi_pci_find_root(ACPI_HANDLE(&host->dev)); root = acpi_pci_find_root(ACPI_HANDLE(&host->dev));
if (!root)
return 0;
if (root->osc_support_set) if (root->osc_support_set)
goto no_control; goto no_control;