Unverified Commit 0e868d3d authored by openeuler-ci-bot's avatar openeuler-ci-bot Committed by Gitee
Browse files

!14969 topology: Keep the cpumask unchanged when printing cpumap

parents 1b973c5f b514371d
Loading
Loading
Loading
Loading
+20 −4
Original line number Diff line number Diff line
@@ -27,9 +27,17 @@ static ssize_t name##_read(struct file *file, struct kobject *kobj, \
			   loff_t off, size_t count)				\
{										\
	struct device *dev = kobj_to_dev(kobj);                                 \
	cpumask_var_t mask;							\
	ssize_t n;								\
										\
	return cpumap_print_bitmask_to_buf(buf, topology_##mask(dev->id),	\
					   off, count);                         \
	if (!alloc_cpumask_var(&mask, GFP_KERNEL))				\
		return -ENOMEM;							\
										\
	cpumask_copy(mask, topology_##mask(dev->id));				\
	n = cpumap_print_bitmask_to_buf(buf, mask, off, count);			\
	free_cpumask_var(mask);							\
										\
	return n;								\
}										\
										\
static ssize_t name##_list_read(struct file *file, struct kobject *kobj,	\
@@ -37,9 +45,17 @@ static ssize_t name##_list_read(struct file *file, struct kobject *kobj, \
				loff_t off, size_t count)			\
{										\
	struct device *dev = kobj_to_dev(kobj);					\
	cpumask_var_t mask;							\
	ssize_t n;								\
										\
	if (!alloc_cpumask_var(&mask, GFP_KERNEL))				\
		return -ENOMEM;							\
										\
	cpumask_copy(mask, topology_##mask(dev->id));				\
	n = cpumap_print_list_to_buf(buf, mask, off, count);			\
	free_cpumask_var(mask);							\
										\
	return cpumap_print_list_to_buf(buf, topology_##mask(dev->id),		\
					off, count);				\
	return n;								\
}

define_id_show_func(physical_package_id, "%d");