Re: [PATCH v2 1/5] fpga: region: don't use drvdata in common fpga code

From: Moritz Fischer
Date: Mon Dec 04 2017 - 16:34:42 EST


On Wed, Nov 15, 2017 at 02:51:48PM -0600, Alan Tull wrote:
> Part of patchset that changes the following fpga_*_register
> functions to not set drvdata:
> * fpga_region_register.
> * fpga_mgr_register
> * fpga_bridge_register
>
> The rationale is that setting drvdata is fine for DT based devices
> that will have one manager, bridge, or region per platform device.
> However PCIe based devices may have multiple FPGA mgr/bridge/regions
> under one PCIe device. Without these changes, the PCIe solution has
> to create an extra device for each child mgr/bridge/region to hold
> drvdata.
>
> Signed-off-by: Alan Tull <atull@xxxxxxxxxx>
> Reported-by: Jiuyue Ma <majiuyue@xxxxxxxxxx>
Acked-by: Moritz Fischer <mdf@xxxxxxxxxx>
> ---
> v2: No change to this patch in v2 of patchset
> ---
> drivers/fpga/fpga-region.c | 1 -
> drivers/fpga/of-fpga-region.c | 1 +
> 2 files changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/fpga/fpga-region.c b/drivers/fpga/fpga-region.c
> index edab2a2..ebe1f87 100644
> --- a/drivers/fpga/fpga-region.c
> +++ b/drivers/fpga/fpga-region.c
> @@ -178,7 +178,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)
> diff --git a/drivers/fpga/of-fpga-region.c b/drivers/fpga/of-fpga-region.c
> index c6b2119..3079ed8 100644
> --- a/drivers/fpga/of-fpga-region.c
> +++ b/drivers/fpga/of-fpga-region.c
> @@ -431,6 +431,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");
>
> --
> 2.7.4
>

Attachment: signature.asc
Description: PGP signature