Hi Wolfram,<br><br><div>We discuss this again :)</div><div><br><div class="gmail_quote">On Thu, Mar 31, 2011 at 10:49 PM, Wolfram Sang <span dir="ltr"><<a href="mailto:w.sang@pengutronix.de">w.sang@pengutronix.de</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div class="im">On Thu, Mar 31, 2011 at 02:30:00PM +0200, Michal Simek wrote:<br>
> Support OF support. "generic-uio" compatible property is used.<br>
<br>
</div>And exactly this was the issue last time (when I tried). This is a<br>
generic property, which is linux-specific and not describing HW. The<br>
agreement back then was to we probably need to add compatible-entries at<br>
runtime (something like new_id for USB). So the uio-of-driver could be<br>
matched against any device. Otherwise, we would collect a lot of<br>
potential entries like "vendor,special-card1". Although I wonder<br>
meanwhile if it is really going to be that bad; we don't have so much<br>
UIO-driver in tree as well. Maybe worth a try?<br></blockquote><div><br></div><div>Maybe I misunderstand you, in my view it is the responsibility of <vendor> to create their DTS files to indicate they want <special-card1> to bind to generic-uio.</div>
<div><br></div><div>So, no great list of compat strings should grow in the driver, but rather the user of the driver must make it happen.</div><div><br></div><div>Am I missing something?</div><div><br></div><div>Our use-case is pretty clear, in FPGA-based systems it is common to create arbitrary devices that developers just want to control from userspace, with simple IRQ and IO capabilities (DMA can come later :). They don't need to bind to other kernel APIs or subsystems, and don't want to invest in one-off kernel drivers that simply will never go upstream.</div>
<div><br></div><div>UIO is perfect, and simply tagging the device as generic-uio in the DTS is so simple, clean, and elegant. Traditional embedded developers really light up when you tell them you can write simple IRQ handlers in Linux userspace. They love it even more if they don't have to write a line of kernel code, which generic-uio enables.</div>
<div><br></div><div>John</div><div>-- </div></div>John Williams, PhD, B. Eng, B. IT<br>PetaLogix - Linux Solutions for a Reconfigurable World<br>w: <a href="http://www.petalogix.com" target="_blank">www.petalogix.com</a> p: +61-7-30090663 f: +61-7-30090663<br>
</div>