c-pci-$(CONFIG_X86_VISWS) := visws.o fixup.o
pci-$(CONFIG_X86_VISWS) :=
c-pci-$(CONFIG_X86_NUMAQ) := numa.o
-pci-$(CONFIG_X86_NUMAQ) := irq.o
+l-pci-$(CONFIG_X86_NUMAQ) := irq.o
obj-y += $(pci-y)
c-obj-y += $(c-pci-y) common.o
$(patsubst %.o,$(obj)/%.c,$(c-obj-y) $(c-link)):
@ln -fsn $(srctree)/arch/i386/pci/$(notdir $@) $@
-obj-y += $(c-obj-y) $(l-pci-y)
+# Make sure irq.o gets linked in before common.o
+obj-y += $(patsubst common.o,$(l-pci-y) common.o,$(c-obj-y))
clean-files += $(patsubst %.o,%.c,$(c-obj-y) $(c-obj-) $(c-link))
$(patsubst %.o,$(obj)/%.c,$(c-i386-obj-y)):
@ln -fsn $(srctree)/arch/i386/pci/$(notdir $@) $@
-obj-y += $(c-i386-obj-y) $(c-obj-y)
-obj-y += $(c-xen-obj-y)
+# Make sure irq.o gets linked in before common.o
+obj-y += $(patsubst common.o,$(c-xen-obj-y) common.o,$(c-i386-obj-y))
+obj-y += $(c-obj-y)
clean-files += $(patsubst %.o,%.c,$(c-obj-y) $(c-obj-) $(c-link))
clean-files += $(patsubst %.o,%.c,$(c-i386-obj-y) $(c-i386-obj-))