]> Git Repo - linux.git/blobdiff - drivers/fpga/fpga-region.c
Merge tag 'devicetree-for-4.12' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux.git] / drivers / fpga / fpga-region.c
index 2fe2a52c66cab8ebcbc0b4b396b0073f5ebd2c56..3b6b2f4182a1e6c0ac38431689ec84530c18b8d0 100644 (file)
@@ -245,7 +245,8 @@ static int fpga_region_program_fpga(struct fpga_region *region,
        mgr = fpga_region_get_manager(region);
        if (IS_ERR(mgr)) {
                pr_err("failed to get fpga region manager\n");
-               return PTR_ERR(mgr);
+               ret = PTR_ERR(mgr);
+               goto err_put_region;
        }
 
        ret = fpga_region_get_bridges(region, overlay);
@@ -281,6 +282,7 @@ err_put_br:
        fpga_bridges_put(&region->bridge_list);
 err_put_mgr:
        fpga_mgr_put(mgr);
+err_put_region:
        fpga_region_put(region);
 
        return ret;
@@ -385,6 +387,9 @@ static int fpga_region_notify_pre_apply(struct fpga_region *region,
        of_property_read_u32(nd->overlay, "region-freeze-timeout-us",
                             &info->disable_timeout_us);
 
+       of_property_read_u32(nd->overlay, "config-complete-timeout-us",
+                            &info->config_complete_timeout_us);
+
        /* If FPGA was externally programmed, don't specify firmware */
        if ((info->flags & FPGA_MGR_EXTERNAL_CONFIG) && firmware_name) {
                pr_err("error: specified firmware and external-fpga-config");
This page took 0.035498 seconds and 4 git commands to generate.