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

Commit 1743df83 authored by Alan Tull's avatar Alan Tull Committed by Greg Kroah-Hartman
Browse files

fpga: region: check for child regions before allocing image info



During a device tree overlay pre-apply notification, the check
for child FPGA regions can happen slightly earlier.  This saves
us from allocating the FPGA image info that just gets thrown
away.

This is a baby step in refactoring the FPGA region code to
separate out common FPGA region code from FPGA region
Device Tree overlay support.

Signed-off-by: default avatarAlan Tull <atull@kernel.org>
Acked-by: default avatarMoritz Fischer <mdf@kernel.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 1df2dd7f
Loading
Loading
Loading
Loading
+9 −5
Original line number Diff line number Diff line
@@ -355,15 +355,19 @@ static int fpga_region_notify_pre_apply(struct fpga_region *region,
	const char *firmware_name;
	int ret;

	info = fpga_image_info_alloc(dev);
	if (!info)
		return -ENOMEM;

	/* Reject overlay if child FPGA Regions have firmware-name property */
	/*
	 * Reject overlay if child FPGA Regions added in the overlay have
	 * firmware-name property (would mean that an FPGA region that has
	 * not been added to the live tree yet is doing FPGA programming).
	 */
	ret = child_regions_with_firmware(nd->overlay);
	if (ret)
		return ret;

	info = fpga_image_info_alloc(dev);
	if (!info)
		return -ENOMEM;

	/* Read FPGA region properties from the overlay */
	if (of_property_read_bool(nd->overlay, "partial-fpga-config"))
		info->flags |= FPGA_MGR_PARTIAL_RECONFIG;