Patchwork powerpc/pci: Change the DECLARE_PCI_FIXUP_{HEADER => EARLY} macro of pci quirk

mail settings
Submitter Chunhe Lan
Date Aug. 2, 2013, 8:46 a.m.
Message ID <>
Download mbox | patch
Permalink /patch/264229/
State Accepted, archived
Commit bbd234b146a158ae59da0592c1598336db63b0fc
Delegated to: Scott Wood
Headers show


Chunhe Lan - Aug. 2, 2013, 8:46 a.m.
Freescale platform has class code = 0x0b2000, when it boots. This makes
kernel PCI bus code to setup these devices resulting into the following
notice information when trying to enable them:

pci 0000:00:00.0: ignoring class 0x0b2000 (doesn't match header type 01)

The above information is outputted by judging value of dev->class before
pci_setup_device() function, and the DECLARE_PCI_FIXUP_HEADER quirk runs
after pci_setup_device() function. But the DECLARE_PCI_FIXUP_EARLY quirk
runs before judging value of dev->class and pci_setup_device() function.
So we use the DECLARE_PCI_FIXUP_EARLY macro to fix this issue.

Signed-off-by: Chunhe Lan <>
Cc: Benjamin Herrenschmidt <>
Cc: Bjorn Helgaas <>
Cc: Paul Mackerras <>
 arch/powerpc/sysdev/fsl_pci.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)


diff --git a/arch/powerpc/sysdev/fsl_pci.c b/arch/powerpc/sysdev/fsl_pci.c
index 46ac1dd..3e8b9d4 100644
--- a/arch/powerpc/sysdev/fsl_pci.c
+++ b/arch/powerpc/sysdev/fsl_pci.c
@@ -36,7 +36,7 @@ 
 static int fsl_pcie_bus_fixup, is_mpc83xx_pci;
-static void quirk_fsl_pcie_header(struct pci_dev *dev)
+static void quirk_fsl_pcie_early(struct pci_dev *dev)
 	u8 hdr_type;
@@ -556,7 +556,8 @@  no_bridge:
 #endif /* CONFIG_FSL_SOC_BOOKE || CONFIG_PPC_86xx */
+			quirk_fsl_pcie_early);
 #if defined(CONFIG_PPC_83xx) || defined(CONFIG_PPC_MPC512x)
 struct mpc83xx_pcie_priv {