|
Takashi Iwai |
8d36d7 |
From: Takashi Iwai <tiwai@suse.de>
|
|
Takashi Iwai |
8d36d7 |
Subject: kABI workaround for pcie_port_bus_type change
|
|
Takashi Iwai |
8d36d7 |
Patch-mainline: Never, kABI workaround
|
|
Takashi Iwai |
8d36d7 |
References: bsc#1161561
|
|
Takashi Iwai |
8d36d7 |
|
|
Takashi Iwai |
8d36d7 |
patches.suse/PCI-portdrv-Remove-pcie_port_bus_type-link-order-dep.patch
|
|
Takashi Iwai |
8d36d7 |
moved pcie_port_bus_type definition into pci-driver.c, and this broke
|
|
Takashi Iwai |
8d36d7 |
kABI. Take it back to generate the compatible kABI again.
|
|
Takashi Iwai |
8d36d7 |
|
|
Takashi Iwai |
8d36d7 |
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
|
Takashi Iwai |
8d36d7 |
|
|
Takashi Iwai |
8d36d7 |
---
|
|
Takashi Iwai |
8d36d7 |
drivers/pci/pci-driver.c | 8 +-------
|
|
Takashi Iwai |
8d36d7 |
drivers/pci/pcie/Makefile | 2 +-
|
|
Takashi Iwai |
8d36d7 |
drivers/pci/pcie/portdrv_bus.c | 15 +++++++++++++++
|
|
Takashi Iwai |
8d36d7 |
3 files changed, 17 insertions(+), 8 deletions(-)
|
|
Takashi Iwai |
8d36d7 |
|
|
Takashi Iwai |
8d36d7 |
--- a/drivers/pci/pci-driver.c
|
|
Takashi Iwai |
8d36d7 |
+++ b/drivers/pci/pci-driver.c
|
|
Takashi Iwai |
8d36d7 |
@@ -1639,7 +1639,7 @@ struct bus_type pci_bus_type = {
|
|
Takashi Iwai |
8d36d7 |
EXPORT_SYMBOL(pci_bus_type);
|
|
Takashi Iwai |
8d36d7 |
|
|
Takashi Iwai |
8d36d7 |
#ifdef CONFIG_PCIEPORTBUS
|
|
Takashi Iwai |
8d36d7 |
-static int pcie_port_bus_match(struct device *dev, struct device_driver *drv)
|
|
Takashi Iwai |
8d36d7 |
+int pcie_port_bus_match(struct device *dev, struct device_driver *drv)
|
|
Takashi Iwai |
8d36d7 |
{
|
|
Takashi Iwai |
8d36d7 |
struct pcie_device *pciedev;
|
|
Takashi Iwai |
8d36d7 |
struct pcie_port_service_driver *driver;
|
|
Takashi Iwai |
8d36d7 |
@@ -1659,12 +1659,6 @@ static int pcie_port_bus_match(struct de
|
|
Takashi Iwai |
8d36d7 |
|
|
Takashi Iwai |
8d36d7 |
return 1;
|
|
Takashi Iwai |
8d36d7 |
}
|
|
Takashi Iwai |
8d36d7 |
-
|
|
Takashi Iwai |
8d36d7 |
-struct bus_type pcie_port_bus_type = {
|
|
Takashi Iwai |
8d36d7 |
- .name = "pci_express",
|
|
Takashi Iwai |
8d36d7 |
- .match = pcie_port_bus_match,
|
|
Takashi Iwai |
8d36d7 |
-};
|
|
Takashi Iwai |
8d36d7 |
-EXPORT_SYMBOL_GPL(pcie_port_bus_type);
|
|
Takashi Iwai |
8d36d7 |
#endif
|
|
Takashi Iwai |
8d36d7 |
|
|
Takashi Iwai |
8d36d7 |
static int __init pci_driver_init(void)
|
|
Takashi Iwai |
8d36d7 |
--- a/drivers/pci/pcie/Makefile
|
|
Takashi Iwai |
8d36d7 |
+++ b/drivers/pci/pcie/Makefile
|
|
Takashi Iwai |
8d36d7 |
@@ -5,7 +5,7 @@
|
|
Takashi Iwai |
8d36d7 |
# Build PCI Express ASPM if needed
|
|
Takashi Iwai |
8d36d7 |
obj-$(CONFIG_PCIEASPM) += aspm.o
|
|
Takashi Iwai |
8d36d7 |
|
|
Takashi Iwai |
8d36d7 |
-pcieportdrv-y := portdrv_core.o portdrv_pci.o err.o
|
|
Takashi Iwai |
8d36d7 |
+pcieportdrv-y := portdrv_core.o portdrv_pci.o err.o portdrv_bus.o
|
|
Takashi Iwai |
8d36d7 |
|
|
Takashi Iwai |
8d36d7 |
obj-$(CONFIG_PCIEPORTBUS) += pcieportdrv.o
|
|
Takashi Iwai |
8d36d7 |
|
|
Takashi Iwai |
8d36d7 |
--- /dev/null
|
|
Takashi Iwai |
8d36d7 |
+++ b/drivers/pci/pcie/portdrv_bus.c
|
|
Takashi Iwai |
8d36d7 |
@@ -0,0 +1,15 @@
|
|
Takashi Iwai |
8d36d7 |
+#include <linux/module.h>
|
|
Takashi Iwai |
8d36d7 |
+#include <linux/pci.h>
|
|
Takashi Iwai |
8d36d7 |
+#include <linux/kernel.h>
|
|
Takashi Iwai |
8d36d7 |
+#include <linux/errno.h>
|
|
Takashi Iwai |
8d36d7 |
+#include <linux/pm.h>
|
|
Takashi Iwai |
8d36d7 |
+
|
|
Takashi Iwai |
8d36d7 |
+#include "portdrv.h"
|
|
Takashi Iwai |
8d36d7 |
+
|
|
Takashi Iwai |
8d36d7 |
+extern int pcie_port_bus_match(struct device *dev, struct device_driver *drv);
|
|
Takashi Iwai |
8d36d7 |
+
|
|
Takashi Iwai |
8d36d7 |
+struct bus_type pcie_port_bus_type = {
|
|
Takashi Iwai |
8d36d7 |
+ .name = "pci_express",
|
|
Takashi Iwai |
8d36d7 |
+ .match = pcie_port_bus_match,
|
|
Takashi Iwai |
8d36d7 |
+};
|
|
Takashi Iwai |
8d36d7 |
+EXPORT_SYMBOL_GPL(pcie_port_bus_type);
|