Skip to content

Commit

Permalink
fpga: region: don't use drvdata in common fpga code
Browse files Browse the repository at this point in the history
Changes to fpga_region_register function to not set drvdata.

Setting drvdata is fine for DT based devices that will have one region
per platform device.  However PCIe based devices may have multiple
FPGA regions under one PCIe device.  Without these changes, the PCIe
solution has to create an extra device for each child region to hold
drvdata.

Signed-off-by: Alan Tull <atull@kernel.org>
Reported-by: Jiuyue Ma <majiuyue@huawei.com>
Signed-off-by: Moritz Fischer <mdf@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  • Loading branch information
Alan Tull authored and Greg Kroah-Hartman committed May 25, 2018
1 parent 8976093 commit bbaa9cd
Show file tree
Hide file tree
Showing 2 changed files with 1 addition and 1 deletion.
1 change: 0 additions & 1 deletion drivers/fpga/fpga-region.c
Original file line number Diff line number Diff line change
Expand Up @@ -183,7 +183,6 @@ int fpga_region_register(struct device *dev, struct fpga_region *region)
region->dev.parent = dev;
region->dev.of_node = dev->of_node;
region->dev.id = id;
dev_set_drvdata(dev, region);

ret = dev_set_name(&region->dev, "region%d", id);
if (ret)
Expand Down
1 change: 1 addition & 0 deletions drivers/fpga/of-fpga-region.c
Original file line number Diff line number Diff line change
Expand Up @@ -438,6 +438,7 @@ static int of_fpga_region_probe(struct platform_device *pdev)
goto eprobe_mgr_put;

of_platform_populate(np, fpga_region_of_match, NULL, &region->dev);
dev_set_drvdata(dev, region);

dev_info(dev, "FPGA Region probed\n");

Expand Down

0 comments on commit bbaa9cd

Please sign in to comment.