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>
This commit is contained in:
parent
897609370d
commit
bbaa9cd3a6
|
@ -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(®ion->dev, "region%d", id);
|
||||
if (ret)
|
||||
|
|
|
@ -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, ®ion->dev);
|
||||
dev_set_drvdata(dev, region);
|
||||
|
||||
dev_info(dev, "FPGA Region probed\n");
|
||||
|
||||
|
|
Loading…
Reference in a new issue