Re: [PATCH v8 1/1] PRUSS UIO driver support

From: Hans J. Koch
Date: Wed Mar 02 2011 - 15:11:31 EST


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 <pratheesh@xxxxxx>
> Reviewed-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> ---
> 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

--
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/