diff options
| author | Thomas Gleixner <tglx@linutronix.de> | 2018-06-22 21:20:35 +0200 | 
|---|---|---|
| committer | Thomas Gleixner <tglx@linutronix.de> | 2018-06-22 21:20:35 +0200 | 
| commit | 7731b8bc94e599c9a79e428f3359ff2c34b7576a (patch) | |
| tree | 879f18ccbe274122f2d4f095b43cbc7f953e0ada /drivers/fpga/of-fpga-region.c | |
| parent | 48e315618dc4dc8904182cd221e3d395d5d97005 (diff) | |
| parent | 9ffc59d57228d74809700be6f7ecb1db10292f05 (diff) | |
Merge branch 'linus' into x86/urgent
Required to queue a dependent fix.
Diffstat (limited to 'drivers/fpga/of-fpga-region.c')
| -rw-r--r-- | drivers/fpga/of-fpga-region.c | 28 | 
1 files changed, 7 insertions, 21 deletions
diff --git a/drivers/fpga/of-fpga-region.c b/drivers/fpga/of-fpga-region.c index 119ff75522f1..35fabb8083fb 100644 --- a/drivers/fpga/of-fpga-region.c +++ b/drivers/fpga/of-fpga-region.c @@ -1,22 +1,10 @@ +// SPDX-License-Identifier: GPL-2.0  /*   * FPGA Region - Device Tree support for FPGA programming under Linux   *   *  Copyright (C) 2013-2016 Altera Corporation   *  Copyright (C) 2017 Intel Corporation - * - * This program is free software; you can redistribute it and/or modify it - * under the terms and conditions of the GNU General Public License, - * version 2, as published by the Free Software Foundation. - * - * This program is distributed in the hope it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program.  If not, see <http://www.gnu.org/licenses/>.   */ -  #include <linux/fpga/fpga-bridge.h>  #include <linux/fpga/fpga-mgr.h>  #include <linux/fpga/fpga-region.h> @@ -422,27 +410,25 @@ static int of_fpga_region_probe(struct platform_device *pdev)  	if (IS_ERR(mgr))  		return -EPROBE_DEFER; -	region = devm_kzalloc(dev, sizeof(*region), GFP_KERNEL); +	region = fpga_region_create(dev, mgr, of_fpga_region_get_bridges);  	if (!region) {  		ret = -ENOMEM;  		goto eprobe_mgr_put;  	} -	region->mgr = mgr; - -	/* Specify how to get bridges for this type of region. */ -	region->get_bridges = of_fpga_region_get_bridges; - -	ret = fpga_region_register(dev, region); +	ret = fpga_region_register(region);  	if (ret) -		goto eprobe_mgr_put; +		goto eprobe_free;  	of_platform_populate(np, fpga_region_of_match, NULL, ®ion->dev); +	dev_set_drvdata(dev, region);  	dev_info(dev, "FPGA Region probed\n");  	return 0; +eprobe_free: +	fpga_region_free(region);  eprobe_mgr_put:  	fpga_mgr_put(mgr);  	return ret;  | 
