xen/pci: Fix compiler error when CONFIG_XEN_PRIVILEGED_GUEST is not set.
Konrad Rzeszutek Wilk [Mon, 16 May 2011 17:47:30 +0000 (13:47 -0400)]
If we have CONFIG_XEN and the other parameters to build an
Linux kernel that is non-privileged, the xen_[find|register|unregister]_
device_domain_owner functions should not be compiled. They should
use the nops defined in arch/x86/include/asm/xen/pci.h instead.

This fixes:

arch/x86/pci/xen.c:496: error: redefinition of ‘xen_find_device_domain_owner’
arch/x86/include/asm/xen/pci.h:25: note: previous definition of ‘xen_find_device_domain_owner’ was here
arch/x86/pci/xen.c:510: error: redefinition of ‘xen_register_device_domain_owner’
arch/x86/include/asm/xen/pci.h:29: note: previous definition of ‘xen_register_device_domain_owner’ was here
arch/x86/pci/xen.c:532: error: redefinition of ‘xen_unregister_device_domain_owner’
arch/x86/include/asm/xen/pci.h:34: note: previous definition of ‘xen_unregister_device_domain_owner’ was here

Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Reported-by: Randy Dunlap <randy.dunlap@oracle.com>

arch/x86/pci/xen.c

index 393981f..8214724 100644 (file)
@@ -473,6 +473,7 @@ void __init xen_setup_pirqs(void)
 }
 #endif
 
+#ifdef CONFIG_XEN_DOM0
 struct xen_device_domain_owner {
        domid_t domain;
        struct pci_dev *dev;
@@ -545,3 +546,4 @@ int xen_unregister_device_domain_owner(struct pci_dev *dev)
        return 0;
 }
 EXPORT_SYMBOL_GPL(xen_unregister_device_domain_owner);
+#endif