From dce16d1a1cf4e4f28ffeebf133aec79e8af872a6 Mon Sep 17 00:00:00 2001 From: Konrad Rzeszutek Wilk Date: Fri, 3 Jan 2014 15:00:43 -0500 Subject: [PATCH] Revert "Merge branch 'stable/for-linus-3.13' into linux-next" This reverts commit ffcb879048d9b47aaf6022416e3a9761a2f1feab, reversing changes made to 85be9741104f96bb5b5224319ee00b3a362f6110. --- arch/x86/xen/platform-pci-unplug.c | 74 ---------------------- drivers/block/xen-blkfront.c | 4 +- drivers/char/tpm/xen-tpmfront.c | 4 -- drivers/input/misc/xen-kbdfront.c | 4 -- drivers/net/xen-netfront.c | 2 +- drivers/pci/xen-pcifront.c | 4 -- drivers/video/xen-fbfront.c | 4 -- drivers/xen/xenbus/xenbus_probe_frontend.c | 2 +- include/xen/platform_pci.h | 23 ------- 9 files changed, 4 insertions(+), 117 deletions(-) diff --git a/arch/x86/xen/platform-pci-unplug.c b/arch/x86/xen/platform-pci-unplug.c index ab84ac198a9a..0a7852483ffe 100644 --- a/arch/x86/xen/platform-pci-unplug.c +++ b/arch/x86/xen/platform-pci-unplug.c @@ -69,80 +69,6 @@ static int check_platform_magic(void) return 0; } -bool xen_has_pv_devices() -{ - if (!xen_domain()) - return false; - - /* PV domains always have them. */ - if (xen_pv_domain()) - return true; - - /* And user has xen_platform_pci=0 set in guest config as - * driver did not modify the value. */ - if (xen_platform_pci_unplug == 0) - return false; - - if (xen_platform_pci_unplug & XEN_UNPLUG_NEVER) - return false; - - if (xen_platform_pci_unplug & XEN_UNPLUG_ALL) - return true; - - /* This is an odd one - we are going to run legacy - * and PV drivers at the same time. */ - if (xen_platform_pci_unplug & XEN_UNPLUG_UNNECESSARY) - return true; - - /* And the caller has to follow with xen_pv_{disk,nic}_devices - * to be certain which driver can load. */ - return false; -} -EXPORT_SYMBOL_GPL(xen_has_pv_devices); - -static bool __xen_has_pv_device(int state) -{ - /* HVM domains might or might not */ - if (xen_hvm_domain() && (xen_platform_pci_unplug & state)) - return true; - - return xen_has_pv_devices(); -} - -bool xen_has_pv_nic_devices(void) -{ - return __xen_has_pv_device(XEN_UNPLUG_ALL_NICS | XEN_UNPLUG_ALL); -} -EXPORT_SYMBOL_GPL(xen_has_pv_nic_devices); - -bool xen_has_pv_disk_devices(void) -{ - return __xen_has_pv_device(XEN_UNPLUG_ALL_IDE_DISKS | - XEN_UNPLUG_AUX_IDE_DISKS | XEN_UNPLUG_ALL); -} -EXPORT_SYMBOL_GPL(xen_has_pv_disk_devices); - -/* - * This one is odd - it determines whether you want to run PV _and_ - * legacy (IDE) drivers together. This combination is only possible - * under HVM. - */ -bool xen_has_pv_and_legacy_disk_devices(void) -{ - if (!xen_domain()) - return false; - - /* N.B. This is only ever used in HVM mode */ - if (xen_pv_domain()) - return false; - - if (xen_platform_pci_unplug & XEN_UNPLUG_UNNECESSARY) - return true; - - return false; -} -EXPORT_SYMBOL_GPL(xen_has_pv_and_legacy_disk_devices); - void xen_unplug_emulated_devices(void) { int r; diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c index ed88b3c2e8ea..a4660bbee8a6 100644 --- a/drivers/block/xen-blkfront.c +++ b/drivers/block/xen-blkfront.c @@ -1278,7 +1278,7 @@ static int blkfront_probe(struct xenbus_device *dev, char *type; int len; /* no unplug has been done: do not hook devices != xen vbds */ - if (xen_has_pv_and_legacy_disk_devices()) { + if (xen_platform_pci_unplug & XEN_UNPLUG_UNNECESSARY) { int major; if (!VDEV_IS_EXTENDED(vdevice)) @@ -2022,7 +2022,7 @@ static int __init xlblk_init(void) if (!xen_domain()) return -ENODEV; - if (!xen_has_pv_disk_devices()) + if (xen_hvm_domain() && !xen_platform_pci_unplug) return -ENODEV; if (register_blkdev(XENVBD_MAJOR, DEV_NAME)) { diff --git a/drivers/char/tpm/xen-tpmfront.c b/drivers/char/tpm/xen-tpmfront.c index afa9362f4f4d..94c280d36e8b 100644 --- a/drivers/char/tpm/xen-tpmfront.c +++ b/drivers/char/tpm/xen-tpmfront.c @@ -17,7 +17,6 @@ #include #include #include "tpm.h" -#include struct tpm_private { struct tpm_chip *chip; @@ -424,9 +423,6 @@ static int __init xen_tpmfront_init(void) if (!xen_domain()) return -ENODEV; - if (!xen_has_pv_devices()) - return -ENODEV; - return xenbus_register_frontend(&tpmfront_driver); } module_init(xen_tpmfront_init); diff --git a/drivers/input/misc/xen-kbdfront.c b/drivers/input/misc/xen-kbdfront.c index fbfdc10573be..e21c1816a8f9 100644 --- a/drivers/input/misc/xen-kbdfront.c +++ b/drivers/input/misc/xen-kbdfront.c @@ -29,7 +29,6 @@ #include #include #include -#include struct xenkbd_info { struct input_dev *kbd; @@ -381,9 +380,6 @@ static int __init xenkbd_init(void) if (xen_initial_domain()) return -ENODEV; - if (!xen_has_pv_devices()) - return -ENODEV; - return xenbus_register_frontend(&xenkbd_driver); } diff --git a/drivers/net/xen-netfront.c b/drivers/net/xen-netfront.c index eea2392ccaf5..36808bf25677 100644 --- a/drivers/net/xen-netfront.c +++ b/drivers/net/xen-netfront.c @@ -2106,7 +2106,7 @@ static int __init netif_init(void) if (!xen_domain()) return -ENODEV; - if (!xen_has_pv_nic_devices()) + if (xen_hvm_domain() && !xen_platform_pci_unplug) return -ENODEV; pr_info("Initialising Xen virtual ethernet driver\n"); diff --git a/drivers/pci/xen-pcifront.c b/drivers/pci/xen-pcifront.c index eae7cd9fde7b..f7197a790341 100644 --- a/drivers/pci/xen-pcifront.c +++ b/drivers/pci/xen-pcifront.c @@ -20,7 +20,6 @@ #include #include #include -#include #include #define INVALID_GRANT_REF (0) @@ -1139,9 +1138,6 @@ static int __init pcifront_init(void) if (!xen_pv_domain() || xen_initial_domain()) return -ENODEV; - if (!xen_has_pv_devices()) - return -ENODEV; - pci_frontend_registrar(1 /* enable */); return xenbus_register_frontend(&xenpci_driver); diff --git a/drivers/video/xen-fbfront.c b/drivers/video/xen-fbfront.c index 4b2d3ab870f3..cd005c227a23 100644 --- a/drivers/video/xen-fbfront.c +++ b/drivers/video/xen-fbfront.c @@ -35,7 +35,6 @@ #include #include #include -#include struct xenfb_info { unsigned char *fb; @@ -700,9 +699,6 @@ static int __init xenfb_init(void) if (xen_initial_domain()) return -ENODEV; - if (!xen_has_pv_devices()) - return -ENODEV; - return xenbus_register_frontend(&xenfb_driver); } diff --git a/drivers/xen/xenbus/xenbus_probe_frontend.c b/drivers/xen/xenbus/xenbus_probe_frontend.c index 6244f9c8cfb8..34b20bfa4e8c 100644 --- a/drivers/xen/xenbus/xenbus_probe_frontend.c +++ b/drivers/xen/xenbus/xenbus_probe_frontend.c @@ -496,7 +496,7 @@ subsys_initcall(xenbus_probe_frontend_init); #ifndef MODULE static int __init boot_wait_for_devices(void) { - if (!xen_has_pv_devices()) + if (xen_hvm_domain() && !xen_platform_pci_unplug) return -ENODEV; ready_to_wait_for_devices = 1; diff --git a/include/xen/platform_pci.h b/include/xen/platform_pci.h index b49eeab0262e..438c256c274b 100644 --- a/include/xen/platform_pci.h +++ b/include/xen/platform_pci.h @@ -48,27 +48,4 @@ static inline int xen_must_unplug_disks(void) { extern int xen_platform_pci_unplug; -#if defined(CONFIG_XEN_PVHVM) -extern bool xen_has_pv_devices(void); -extern bool xen_has_pv_disk_devices(void); -extern bool xen_has_pv_nic_devices(void); -extern bool xen_has_pv_and_legacy_disk_devices(void); -#else -static inline bool xen_has_pv_devices(void) -{ - return IS_ENABLED(CONFIG_XEN); -} -static inline bool xen_has_pv_disk_devices(void) -{ - return IS_ENABLED(CONFIG_XEN); -} -static inline bool xen_has_pv_nic_devices(void) -{ - return IS_ENABLED(CONFIG_XEN); -} -static inline bool xen_has_pv_and_legacy_disk_devices(void) -{ - return false; -} -#endif #endif /* _XEN_PLATFORM_PCI_H */ -- 2.39.5