lkml.org 
[lkml]   [2018]   [Mar]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 4/6] fpga: region: change fpga_region_register to have one param
On Thu, Mar 29, 2018 at 03:42:51PM -0500, Alan Tull wrote:
> On Thu, Mar 29, 2018 at 12:06 PM, Greg KH <gregkh@linuxfoundation.org> wrote:
>
> Hi Greg,
>
> >> -int fpga_region_register(struct device *dev, struct fpga_region *region)
> >> +int fpga_region_register(struct fpga_region *region)
> >> {
> >> + struct device *dev = region->parent;
> >> int id, ret = 0;
> >>
> >> + if (!dev) {
> >> + pr_err("Attempt to register fpga region without parent\n");
> >> + return -EINVAL;
> >> + }
> >
> > Are you sure you don't want a virtual device? That is what will happen
> > if you do not have a parent, right? Or do you always want to have
> > "real" devices?
>
> I don't want to restrict this to "real" devices, so yes, I'll be
> removing this check.
>
> >> diff --git a/include/linux/fpga/fpga-region.h b/include/linux/fpga/fpga-region.h
> >> index b6520318ab9c..423c87e3e29a 100644
> >> --- a/include/linux/fpga/fpga-region.h
> >> +++ b/include/linux/fpga/fpga-region.h
> >> @@ -8,6 +8,7 @@
> >> /**
> >> * struct fpga_region - FPGA Region structure
> >> * @dev: FPGA Region device
> >> + * @parent: parent device
> >> * @mutex: enforces exclusive reference to region
> >> * @bridge_list: list of FPGA bridges specified in region
> >> * @mgr: FPGA manager
> >> @@ -18,6 +19,7 @@
> >> */
> >> struct fpga_region {
> >> struct device dev;
> >> + struct device *parent;
> >
> > Why doesn't your dev parent pointer point to this, why do you need to
> > have a separate pointer? That feels really wrong. Pass in the parent
> > pointer when you create the struct device, otherwise it will be
> > registered incorrectly anyway. Then you always have the correct
> > pointer, no need to keep a "spare" copy.
>
> I'll add a fpga_mgr_create function and let it set the parent. No
> need to save it.

I think we had discussed this in the first round of the patchset.
How about fpga_mgr_alloc(...) and fpga_mgr_register(...) as suggested
back then?

Thanks for the review,

Moritz

\
 
 \ /
  Last update: 2018-03-29 23:46    [W:0.449 / U:0.020 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site