Prev: [PATCH 11/12] Use xen_vcpuop_clockevent, xen_clocksource and xen wallclock.
Next: [PATCH 07/12] Fix find_unbound_irq in presence of ioapic irqs.
From: Jeremy Fitzhardinge on 17 Jun 2010 19:40 On 06/17/2010 04:42 PM, Stefano Stabellini wrote: > On Mon, 14 Jun 2010, Konrad Rzeszutek Wilk wrote: > >>> +#if (defined(CONFIG_XEN_NETDEV_FRONTEND) || \ >>> + defined(CONFIG_XEN_NETDEV_FRONTEND_MODULE)) && \ >>> + (defined(CONFIG_XEN_PLATFORM_PCI) || \ >>> + defined(CONFIG_XEN_PLATFORM_PCI_MODULE)) >>> + printk(KERN_INFO "Netfront and the Xen platform PCI driver have " >>> + "been compiled for this kernel: unplug emulated NICs.\n"); >>> + xen_emul_unplug |= XEN_UNPLUG_ALL_NICS; >>> +#endif >>> +#if (defined(CONFIG_XEN_BLKDEV_FRONTEND) || \ >>> + defined(CONFIG_XEN_BLKDEV_FRONTEND_MODULE)) && \ >>> + (defined(CONFIG_XEN_PLATFORM_PCI) || \ >>> + defined(CONFIG_XEN_PLATFORM_PCI_MODULE)) >>> + printk(KERN_INFO "Blkfront and the Xen platform PCI driver have " >>> + "been compiled for this kernel: unplug emulated disks.\n" >>> + "You might have to change the root device\n" >>> + "from /dev/hd[a-d] to /dev/xvd[a-d]\n" >>> + "in your root= kernel command line option\n"); >>> + xen_emul_unplug |= XEN_UNPLUG_ALL_IDE_DISKS; >>> +#endif >>> >> Wow. Can you move those checks to the header file and make it deal with >> the #ifdef and setting of xen_emul_unplug? >> >> > I tried, but it didn't improve the elegance of the code, mainly because I > want to keep the printk in place, so the code would look very much like > this, but instead of being in platform-pci-unplug.c would be in > platform_pci.h. > What about using Kconfig to define an appropriate symbol and just #ifdef on that? >>> + } >>> + /* Now unplug the emulated devices */ >>> + if (xen_platform_pci_enabled && !(xen_emul_unplug & XEN_UNPLUG_IGNORE)) >>> + outw(xen_emul_unplug, XEN_IOPORT_UNPLUG); >>> +} >>> + >>> +static int __init parse_xen_emul_unplug(char *arg) >>> +{ >>> + char *p, *q; >>> + >>> + for (p = arg; p; p = q) { >>> + q = strchr(arg, ','); >>> + if (q) >>> + *q++ = '\0'; >>> + if (!strcmp(p, "all")) >>> + xen_emul_unplug |= XEN_UNPLUG_ALL; >>> >> strncmp.. >> >> > is it really needed considering that we know that both strings are NULL > terminated and one of them is a constant? > strncmp would avoid having to modify the string in place. J -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ |