Re: [PATCH v4 04/24] fpga: add device feature list support
From: Alan Tull <atull@kernel.org>
Date: 2018-03-21 23:55:41
Also in:
linux-fpga, lkml
From: Alan Tull <atull@kernel.org>
Date: 2018-03-21 23:55:41
Also in:
linux-fpga, lkml
On Tue, Feb 13, 2018 at 3:24 AM, Wu Hao [off-list ref] wrote: Hi Hao,
+static int
+build_info_create_dev(struct build_feature_devs_info *binfo,
+ enum fpga_id_type type, const char *name,
+ void __iomem *ioaddr)
+{
+ struct platform_device *fdev;
+ int ret;
+
+ /* we will create a new device, commit current device first */
+ ret = build_info_commit_dev(binfo);
+ if (ret)
+ return ret;
+
+ /*
+ * we use -ENODEV as the initialization indicator which indicates
+ * whether the id need to be reclaimed
+ */
+ fdev = platform_device_alloc(name, -ENODEV);
+ if (!fdev)
+ return -ENOMEM;
+
+ binfo->feature_dev = fdev;
+ binfo->feature_num = 0;
+ binfo->ioaddr = ioaddr;
+ INIT_LIST_HEAD(&binfo->sub_features);
+
+ fdev->id = alloc_fpga_id(type, &fdev->dev);
+ if (fdev->id < 0)
+ return fdev->id;Do we need platform_device_put if returning here? Alan
+ + fdev->dev.parent = &binfo->cdev->region.dev; + + return 0; +} +