[RFC PATCH 0/2] Add UIO device supporting dynamic memory allocation
From: Damian Hobson-Garcia
Date: Wed Sep 12 2012 - 01:30:24 EST
Reposting: I realized that this series should have gone out to a broader list.
My apologies to those who those who will recieve a duplicate post.
I've been using this UIO driver for allocation/deallocation
of memory regions through an IOMMU via the dma-mapping API, but
it seems that it would be more generally useful for userspace drivers
to access CMA memory regions. I don't know if it's useful to try to add
this functionality into the core uio driver or not, so for now I've kept
all dynamic memory handling in the specific device driver.
The number and size of the dynamically allocatable regions is defined
statically in the device platform data, and the actually memory is
allocated and deallocated when the device is opened/closed.
Details of the dynamically allocated regions are available from sysfs in
exactly the same was as for static regions. The total number of
dynamic and static regions combined cannot exceed MAX_UIO_MAPS.
Any comments, especially with regard to exposing the dma-mapping API to
userspace in this way, would be greatly appreciated.
Damian Hobson-Garcia (2):
Add new uio device for dynamic memory allocation
ARM: shmobile: sh7372: Change VPU UIO to uio_dmem_genirq
arch/arm/mach-shmobile/setup-sh7372.c | 19 +-
drivers/uio/Kconfig | 16 ++
drivers/uio/Makefile | 1 +
drivers/uio/uio_dmem_genirq.c | 356 +++++++++++++++++++++++++
include/linux/platform_data/uio_dmem_genirq.h | 26 ++
5 files changed, 413 insertions(+), 5 deletions(-)
create mode 100644 drivers/uio/uio_dmem_genirq.c
create mode 100644 include/linux/platform_data/uio_dmem_genirq.h
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/