static void __exit hyper_sysfs_exit(void)
{
	xen_properties_destroy();
	xen_compilation_destroy();
	xen_sysfs_uuid_destroy();
	xen_sysfs_version_destroy();
	xen_sysfs_type_destroy();

}
static int __init hyper_sysfs_init(void)
{
	int ret;

	if (!xen_domain())
		return -ENODEV;

	ret = xen_sysfs_type_init();
	if (ret)
		goto out;
	ret = xen_sysfs_version_init();
	if (ret)
		goto version_out;
	ret = xen_compilation_init();
	if (ret)
		goto comp_out;
	ret = xen_sysfs_uuid_init();
	if (ret)
		goto uuid_out;
	ret = xen_properties_init();
	if (ret)
		goto prop_out;
	ret = xen_vmcoreinfo_init();
	if (ret)
		goto vmcoreinfo_out;

	goto out;

vmcoreinfo_out:
	xen_properties_destroy();
prop_out:
	xen_sysfs_uuid_destroy();
uuid_out:
	xen_compilation_destroy();
comp_out:
	xen_sysfs_version_destroy();
version_out:
	xen_sysfs_type_destroy();
out:
	return ret;
}