Thread (9 messages) 9 messages, 4 authors, 2011-03-03

[PATCH v8 1/1] PRUSS UIO driver support

From: Hans J. Koch <hidden>
Date: 2011-03-02 20:11:25
Also in: lkml

On Wed, Mar 02, 2011 at 05:08:06PM +0530, Pratheesh Gangadhar wrote:
This patch implements PRUSS (Programmable Real-time Unit Sub System)
UIO driver which exports SOC resources associated with PRUSS like
I/O, memories and IRQs to user space. PRUSS is dual 32-bit RISC
processors which is efficient in performing embedded tasks that
require manipulation of packed memory mapped data structures and
handling system events that have tight real time constraints. This
driver is currently supported on Texas Instruments DA850, AM18xx and
OMAP-L138 devices.
For example, PRUSS runs firmware for real-time critical industrial
communication data link layer and communicates with application stack
running in user space via shared memory and IRQs.

Signed-off-by: Pratheesh Gangadhar <redacted>
Reviewed-by: Thomas Gleixner <redacted>
---
 drivers/uio/Kconfig     |   17 ++++
 drivers/uio/Makefile    |    1 +
 drivers/uio/uio_pruss.c |  226 +++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 244 insertions(+), 0 deletions(-)
 create mode 100644 drivers/uio/uio_pruss.c
That looks good now, I don't see any further issues. But you should
address Arnd's comment about that __iomem stuff. It's a bit nit-picking,
but he's right, ioremap() returns void __iomem *, and uio_mem.internal_addr
also has that type.
+static struct uio_info *info;
+static dma_addr_t sram_paddr, ddr_paddr;
+static void *prussio_vaddr, *sram_vaddr, *ddr_vaddr;
So the correct thing would be

static void __iomem *prussio_vaddr;
static void *sram_vaddr, *ddr_vaddr;

Thanks,
Hans
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help