On Thu, May 19, 2016 at 10:45:56AM +0200, Jan Viktorin wrote:
> Hello Rob,
> 
> thank you for your opinion...
> 
> On Wed, 18 May 2016 12:01:05 -0500
> Rob Herring <r...@kernel.org> wrote:
> 
> > On Tue, May 17, 2016 at 11:22:19AM +0200, Jan Viktorin wrote:
> > > Signed-off-by: Jan Viktorin <vikto...@rehivetech.com>
> > > ---
> > >  .../devicetree/bindings/uio/uio_dmem_genirq.txt          | 16 
> > > ++++++++++++++++
> > >  1 file changed, 16 insertions(+)
> > >  create mode 100644 
> > > Documentation/devicetree/bindings/uio/uio_dmem_genirq.txt  
> > 
> > DT describes h/w. UIO is not a h/w block, so this does not belong in DT. 
> > A UIO vs. kernel driver is purely a kernel decision which shouldn't 
> > require a DT change.
> 
> I mostly agree and I don't say this is the very best solution... however,
> it is quite a straightforward one.
> 
> > 
> > The properties should be part of match data for a compatible string that 
> 
> True. But in case of probing from DT, where can I obtain those match data
> from? I have to patch the kernel... and that is what I tried to avoid.

spi-dev is a similar situation and we put compatible strings (and 
therefore potentially match data) in the kernel.

> With this patch set, you only modify your current device-tree (extend the
> appropriate devices by "uio,...") and reboot with this new one.

Generally speaking changing your kernel is as easy or easier than 
changing the DT.

Rebooting is not a very good choice either when it could easily be a 
module unload/reload instead.

> > needs them set. Or if they can be defined in a way that is actually a 
> > property of the h/w, then it would be acceptible. You'd still need to 
> > define compatible strings that the properties apply to.
> 
> If you look at uio_pdrv_genirq you can see that it has already been extended 
> by
> the module param "of_id". I.e. it is possible to specify the compatible 
> property
> it would match when doing insmod. So, it is possible to bind it to any 
> platform
> device described by the device tree. And thus, there is no way how to define a
> list of compatible strings for it... (quite a long list, isn't it?)
> 
> The same (of_id) can be done for uio_dmem_genirq, however, there is no way 
> how to
> specify the amount of dynamic memory to be used for a specific device. For 
> me, it
> makes sense to use DT to obtain those two properties saying "those devices 
> would
> use this amount of memory and not more".
> 
> Perhaps, another module param is a way to go here. Something like 
> of_dmem_count=2,
> of_dmem_sizes=32k. Less flexible solution, however, if it is acceptable I'll 
> rewrite
> the current one.

No issue with doing that, though they are not OF parameters at that 
point.

Rob

Reply via email to