[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 4/5] drivers/xen: make sys-hypervisor.c explicitly non-modular
On Sun, 14 Feb 2016, Paul Gortmaker wrote: > The Kconfig currently controlling compilation of this code is: > > config XEN_SYS_HYPERVISOR > bool "Create xen entries under /sys/hypervisor" > > ...meaning that it currently is not being built as a module by anyone. > > Lets remove the modular code that is essentially orphaned, so that > when reading the driver there is no doubt it is builtin-only. > > Since module_init translates to device_initcall in the non-modular > case, the init ordering remains unchanged with this commit. However > one could argue that fs_initcall() might make more sense here. > > This change means that the one line function xen_properties_destroy() > has only one user left, and since that is inside an #ifdef, we just > manually inline it there vs. adding more ifdeffery around the function > to avoid compile warnings about "defined but not used". Actually xen_sysfs_uuid_destroy, xen_compilation_destroy, xen_sysfs_version_destroy, and xen_sysfs_type_destroy are also one-liners with only one user left. > Cc: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> > Cc: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> > Cc: David Vrabel <david.vrabel@xxxxxxxxxx> > Cc: xen-devel@xxxxxxxxxxxxxxxxxxxx > Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> > --- > drivers/xen/sys-hypervisor.c | 31 ++++--------------------------- > 1 file changed, 4 insertions(+), 27 deletions(-) > > diff --git a/drivers/xen/sys-hypervisor.c b/drivers/xen/sys-hypervisor.c > index b5a7342e0ba5..ea6e98d60af0 100644 > --- a/drivers/xen/sys-hypervisor.c > +++ b/drivers/xen/sys-hypervisor.c > @@ -9,7 +9,7 @@ > > #include <linux/slab.h> > #include <linux/kernel.h> > -#include <linux/module.h> > +#include <linux/init.h> > #include <linux/kobject.h> > #include <linux/err.h> > > @@ -366,11 +366,6 @@ static int __init xen_properties_init(void) > return sysfs_create_group(hypervisor_kobj, &xen_properties_group); > } > > -static void xen_properties_destroy(void) > -{ > - sysfs_remove_group(hypervisor_kobj, &xen_properties_group); > -} > - > #ifdef CONFIG_XEN_HAVE_VPMU > struct pmu_mode { > const char *name; > @@ -484,11 +479,6 @@ static int __init xen_pmu_init(void) > { > return sysfs_create_group(hypervisor_kobj, &xen_pmu_group); > } > - > -static void xen_pmu_destroy(void) > -{ > - sysfs_remove_group(hypervisor_kobj, &xen_pmu_group); > -} > #endif > > static int __init hyper_sysfs_init(void) > @@ -517,7 +507,8 @@ static int __init hyper_sysfs_init(void) > if (xen_initial_domain()) { > ret = xen_pmu_init(); > if (ret) { > - xen_properties_destroy(); > + sysfs_remove_group(hypervisor_kobj, > + &xen_properties_group); > goto prop_out; > } > } > @@ -535,21 +526,7 @@ version_out: > out: > return ret; > } > - > -static void __exit hyper_sysfs_exit(void) > -{ > -#ifdef CONFIG_XEN_HAVE_VPMU > - xen_pmu_destroy(); > -#endif > - xen_properties_destroy(); > - xen_compilation_destroy(); > - xen_sysfs_uuid_destroy(); > - xen_sysfs_version_destroy(); > - xen_sysfs_type_destroy(); > - > -} > -module_init(hyper_sysfs_init); > -module_exit(hyper_sysfs_exit); > +device_initcall(hyper_sysfs_init); > > static ssize_t hyp_sysfs_show(struct kobject *kobj, > struct attribute *attr, > -- > 2.6.1 > _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |