Re: [PATCH] uio/pdrv_genirq: Add OF support

From: John Williams
Date: Thu Mar 31 2011 - 09:47:45 EST


On Thu, Mar 31, 2011 at 11:23 PM, Wolfram Sang <w.sang@xxxxxxxxxxxxxx> wrote:
>
>> Â Â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.
>
> Device tree is a OS-neutral hardware description language. "generic-uio"
> is neither OS-neutral nor a hardware description. devicetree.org has
> more information about this.

If we are trying to be pure, I might argue we are not changing the DTS
language, but rather just add support in Linux for a particular
use-case. There is no violation of DTS syntax.

It might be *recommended* that device trees describe only hardware,
although as Michal points out there is already precedent in the
'chosen' node where this is clearly violated, but in a way that is
compatible with DTS syntax.

Is it forbidden to have DTS descriptions of purely virtual devices, as
would be present if you boot a DTS-driven kernel inside a VM
environment, which provides only virtual implementations of various
devices (ethernet etc)?

'vmware,virt-enet' or whatever?

>> Â Â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.
>
> For that, the new_compatible-file would be suitable, I think.

# echo "generic-uio" > /sys/class/uio/<something>

?

>> Â ÂUIO is perfect, and simply tagging the device as generic-uio in the DTS is
>> Â Âso simple, clean, and elegant.
>
> Simple, yes (I do understand I wrote the first approach ;)) . Elegant,
> not really, because it breaks core conventions of the device tree. For
> your case it is a very conveniant hack, but it is still a hack.

Being useful seems like a high priority in the kernel, I'm not ashamed of it! :)

Regards,

John
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/