From: Olaf Hering Date: Fri, 20 Sep 2013 09:41:08 +0000 (+0200) Subject: unmodified_drivers: enable unplug per default X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~6315 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=df17e9c889c48c9c10aa3f9dd0bb11077f54efc4;p=xen.git unmodified_drivers: enable unplug per default Since xen-3.3 an official unplug protocol for emulated hardware is available in the toolstack. The pvops kernel does the unplug per default, so it is safe to do it also in the drivers for forward ported xenlinux. Currently its required to load xen-platform-pci with the module parameter dev_unplug=all, which is cumbersome. Also recognize the dev_unplug=never parameter, which provides the default before this patch. Signed-off-by: Olaf Hering --- diff --git a/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c b/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c index cfd05363ff..163b1688cd 100644 --- a/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c +++ b/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c @@ -66,7 +66,7 @@ MODULE_LICENSE("GPL"); static char *dev_unplug; module_param(dev_unplug, charp, 0644); MODULE_PARM_DESC(dev_unplug, "Emulated devices to unplug: " - "[all,][ide-disks,][aux-ide-disks,][nics]\n"); + "[all,][ide-disks,][aux-ide-disks,][nics,][never] (default is 'all')\n"); struct pci_dev *xen_platform_pdev; @@ -290,6 +290,10 @@ static int check_platform_magic(struct device *dev, long ioaddr, long iolen) short magic, unplug = 0; char protocol, *p, *q, *err; + /* Unconditionally unplug everything */ + if (!dev_unplug) + unplug = UNPLUG_ALL; + for (p = dev_unplug; p; p = q) { q = strchr(dev_unplug, ','); if (q) @@ -302,6 +306,8 @@ static int check_platform_magic(struct device *dev, long ioaddr, long iolen) unplug |= UNPLUG_AUX_IDE_DISKS; else if (!strcmp(p, "nics")) unplug |= UNPLUG_ALL_NICS; + else if (!strcmp(p, "never")) + unplug = 0; else dev_warn(dev, "unrecognised option '%s' " "in module parameter 'dev_unplug'\n", p);