Messages in this thread | | | Subject | Re: [PATCH 1/2] fpga: dfl: add driver_override support | From | Tom Rix <> | Date | Tue, 20 Oct 2020 07:13:31 -0700 |
| |
On 10/20/20 12:11 AM, Xu Yilun wrote: >>>>> int __dfl_driver_register(struct dfl_driver *dfl_drv, struct module *owner) >>>>> { >>>>> - if (!dfl_drv || !dfl_drv->probe || !dfl_drv->id_table) >>>>> + if (!dfl_drv || !dfl_drv->probe) >>>> id_table is still needed for the normal case. >>>> >>>> Instead of removing this check, could you add something like >>>> >>>> || (!dfl_drv->is_override && !dfl_drv->id_table) >>> I don't think it is needed. Seems is_override and !id_table are duplicated >>> conditions for this implementation. And it may make confusing, e.g. could >>> a driver been force matched when is_override is not set? >>> >>> I think we could make it simple, if the dfl driver didn't provide the >>> id_table, normally it could not match any device. I think it could be >>> easily understood by dfl driver developers. >>> >> Then an ASSERT should be added in dfl_bus_match() for id_entry. > I didn't get your idea. What Assertion should be added for id_entry? > BUG_ON(id_entry == NULL)? Then dfl-uio-pdev can't be inserted before > driver_override is set. > > I think it is normal case that a driver is successfully registered but > doesn't match any device because it provides no id_table.
Ok, i see your point.
Thanks for the explanation.
Tom
> > Thanks, > Yilun. >
| |