summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlan Tull <atull@kernel.org>2018-05-16 19:49:54 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2018-05-25 12:23:55 -0400
commitbbaa9cd3a605e337cefc566e5ac1b110763c8d1c (patch)
treec38257f4e57adb0d5ec9cd7b706dcc4a0d509292
parent897609370d25c69e95a174dbd75df6e5bc3a26c8 (diff)
fpga: region: don't use drvdata in common fpga code
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>
-rw-r--r--drivers/fpga/fpga-region.c1
-rw-r--r--drivers/fpga/of-fpga-region.c1
2 files changed, 1 insertions, 1 deletions
diff --git a/drivers/fpga/fpga-region.c b/drivers/fpga/fpga-region.c
index cb0603e07ff8..f634a8ed5e2c 100644
--- a/drivers/fpga/fpga-region.c
+++ b/drivers/fpga/fpga-region.c
@@ -183,7 +183,6 @@ int fpga_region_register(struct device *dev, struct fpga_region *region)
183 region->dev.parent = dev; 183 region->dev.parent = dev;
184 region->dev.of_node = dev->of_node; 184 region->dev.of_node = dev->of_node;
185 region->dev.id = id; 185 region->dev.id = id;
186 dev_set_drvdata(dev, region);
187 186
188 ret = dev_set_name(&region->dev, "region%d", id); 187 ret = dev_set_name(&region->dev, "region%d", id);
189 if (ret) 188 if (ret)
diff --git a/drivers/fpga/of-fpga-region.c b/drivers/fpga/of-fpga-region.c
index 119ff75522f1..35e7e8c4a0cb 100644
--- a/drivers/fpga/of-fpga-region.c
+++ b/drivers/fpga/of-fpga-region.c
@@ -438,6 +438,7 @@ static int of_fpga_region_probe(struct platform_device *pdev)
438 goto eprobe_mgr_put; 438 goto eprobe_mgr_put;
439 439
440 of_platform_populate(np, fpga_region_of_match, NULL, &region->dev); 440 of_platform_populate(np, fpga_region_of_match, NULL, &region->dev);
441 dev_set_drvdata(dev, region);
441 442
442 dev_info(dev, "FPGA Region probed\n"); 443 dev_info(dev, "FPGA Region probed\n");
443 444