Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6e5c0775 authored by Michael Ellerman's avatar Michael Ellerman
Browse files

powerpc/vdso: Combine start/size variables



In vdso_fixup_features() we have start64/start32 and size64/size32, but
they have the same types, ie. void * and unsigned long.

They're only used to save the return value from find_sectionXX() for the
subsequent call to do_feature_fixups(), so there's no overlap in their
usage either.

So we can just consolidate them into start/size and avoid the
duplication.

Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
parent 63da88dd
Loading
Loading
Loading
Loading
+26 −29
Original line number Diff line number Diff line
@@ -525,55 +525,52 @@ static __init int vdso_fixup_datapage(struct lib32_elfinfo *v32,
static __init int vdso_fixup_features(struct lib32_elfinfo *v32,
				      struct lib64_elfinfo *v64)
{
	void *start32;
	unsigned long size32;
	unsigned long size;
	void *start;

#ifdef CONFIG_PPC64
	void *start64;
	unsigned long size64;

	start64 = find_section64(v64->hdr, "__ftr_fixup", &size64);
	if (start64)
	start = find_section64(v64->hdr, "__ftr_fixup", &size);
	if (start)
		do_feature_fixups(cur_cpu_spec->cpu_features,
				  start64, start64 + size64);
				  start, start + size);

	start64 = find_section64(v64->hdr, "__mmu_ftr_fixup", &size64);
	if (start64)
	start = find_section64(v64->hdr, "__mmu_ftr_fixup", &size);
	if (start)
		do_feature_fixups(cur_cpu_spec->mmu_features,
				  start64, start64 + size64);
				  start, start + size);

	start64 = find_section64(v64->hdr, "__fw_ftr_fixup", &size64);
	if (start64)
	start = find_section64(v64->hdr, "__fw_ftr_fixup", &size);
	if (start)
		do_feature_fixups(powerpc_firmware_features,
				  start64, start64 + size64);
				  start, start + size);

	start64 = find_section64(v64->hdr, "__lwsync_fixup", &size64);
	if (start64)
	start = find_section64(v64->hdr, "__lwsync_fixup", &size);
	if (start)
		do_lwsync_fixups(cur_cpu_spec->cpu_features,
				 start64, start64 + size64);
				 start, start + size);
#endif /* CONFIG_PPC64 */

	start32 = find_section32(v32->hdr, "__ftr_fixup", &size32);
	if (start32)
	start = find_section32(v32->hdr, "__ftr_fixup", &size);
	if (start)
		do_feature_fixups(cur_cpu_spec->cpu_features,
				  start32, start32 + size32);
				  start, start + size);

	start32 = find_section32(v32->hdr, "__mmu_ftr_fixup", &size32);
	if (start32)
	start = find_section32(v32->hdr, "__mmu_ftr_fixup", &size);
	if (start)
		do_feature_fixups(cur_cpu_spec->mmu_features,
				  start32, start32 + size32);
				  start, start + size);

#ifdef CONFIG_PPC64
	start32 = find_section32(v32->hdr, "__fw_ftr_fixup", &size32);
	if (start32)
	start = find_section32(v32->hdr, "__fw_ftr_fixup", &size);
	if (start)
		do_feature_fixups(powerpc_firmware_features,
				  start32, start32 + size32);
				  start, start + size);
#endif /* CONFIG_PPC64 */

	start32 = find_section32(v32->hdr, "__lwsync_fixup", &size32);
	if (start32)
	start = find_section32(v32->hdr, "__lwsync_fixup", &size);
	if (start)
		do_lwsync_fixups(cur_cpu_spec->cpu_features,
				 start32, start32 + size32);
				 start, start + size);

	return 0;
}