summaryrefslogtreecommitdiffstats
path: root/meta-ti-bsp/recipes-bsp/uio-module-drv
diff options
context:
space:
mode:
Diffstat (limited to 'meta-ti-bsp/recipes-bsp/uio-module-drv')
-rw-r--r--meta-ti-bsp/recipes-bsp/uio-module-drv/uio-module-drv-test_git.bb35
-rw-r--r--meta-ti-bsp/recipes-bsp/uio-module-drv/uio-module-drv.inc19
-rw-r--r--meta-ti-bsp/recipes-bsp/uio-module-drv/uio-module-drv/0001-uio-module-drv-Replace-ioremap_nocache-with-ioremap.patch35
-rw-r--r--meta-ti-bsp/recipes-bsp/uio-module-drv/uio-module-drv_git.bb22
4 files changed, 111 insertions, 0 deletions
diff --git a/meta-ti-bsp/recipes-bsp/uio-module-drv/uio-module-drv-test_git.bb b/meta-ti-bsp/recipes-bsp/uio-module-drv/uio-module-drv-test_git.bb
new file mode 100644
index 00000000..dc17a1e9
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/uio-module-drv/uio-module-drv-test_git.bb
@@ -0,0 +1,35 @@
1DESCRIPTION = "Test code for user space IO (UIO) driver"
2
3include uio-module-drv.inc
4
5PR = "r1"
6
7COMPATIBLE_MACHINE = "omap-a15|ti33x|ti43x"
8PACKAGE_ARCH = "${MACHINE_ARCH}"
9
10DEVICE_NAME:omap-a15 = "am57xx"
11DEVICE_NAME:ti33x = "am33xx"
12DEVICE_NAME:ti43x = "am43xx"
13RDEPENDS:${PN} = "uio-module-drv"
14
15do_compile() {
16 oe_runmake -C ${S} test "DEVICE=${DEVICE_NAME}"
17}
18
19do_install() {
20 install -d ${D}${bindir}/
21 install -c -m 755 ${S}/test/uio_mem_test ${D}${bindir}/.
22 install -c -m 755 ${S}/test/uio_int_test ${D}${bindir}/.
23}
24
25do_install:append:omap-a15 () {
26 install -c -m 755 ${S}/test/prussdrv_test/test/pruss_uio_test ${D}${bindir}/.
27}
28
29do_install:append:ti33x () {
30 install -c -m 755 ${S}/test/prussdrv_test/test/pruss_uio_test ${D}${bindir}/.
31}
32
33do_install:append:ti43x () {
34 install -c -m 755 ${S}/test/prussdrv_test/test/pruss_uio_test ${D}${bindir}/.
35}
diff --git a/meta-ti-bsp/recipes-bsp/uio-module-drv/uio-module-drv.inc b/meta-ti-bsp/recipes-bsp/uio-module-drv/uio-module-drv.inc
new file mode 100644
index 00000000..8081d021
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/uio-module-drv/uio-module-drv.inc
@@ -0,0 +1,19 @@
1LICENSE = "BSD"
2LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=2b7c96eb2aed7b0f6f922214dbde9016"
3
4BRANCH = "master"
5# This corresponds to version 02.02.01.00
6UIO_MODULE_DRV_SRCREV = "bda9260f2220840a60ec0fbc8011cbadf3cf1b91"
7
8PV = "2.2.1.0+git${SRCPV}"
9
10UIO_MODULE_DRV_GIT_URI = "git://git.ti.com/keystone-linux/uio-module-drv.git"
11UIO_MODULE_DRV_GIT_PROTOCOL = "git"
12SRC_URI = "${UIO_MODULE_DRV_GIT_URI};protocol=${UIO_MODULE_DRV_GIT_PROTOCOL};branch=${BRANCH}"
13
14SRCREV = "${UIO_MODULE_DRV_SRCREV}"
15
16S = "${WORKDIR}/git"
17
18COMPATIBLE_HOST ?= "null"
19COMPATIBLE_HOST:ti-soc = "(.*)"
diff --git a/meta-ti-bsp/recipes-bsp/uio-module-drv/uio-module-drv/0001-uio-module-drv-Replace-ioremap_nocache-with-ioremap.patch b/meta-ti-bsp/recipes-bsp/uio-module-drv/uio-module-drv/0001-uio-module-drv-Replace-ioremap_nocache-with-ioremap.patch
new file mode 100644
index 00000000..955ef558
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/uio-module-drv/uio-module-drv/0001-uio-module-drv-Replace-ioremap_nocache-with-ioremap.patch
@@ -0,0 +1,35 @@
1From b5c4036dac06817bffd0be21c5fa1b7f75f74e4b Mon Sep 17 00:00:00 2001
2From: Suman Anna <s-anna@ti.com>
3Date: Mon, 19 Apr 2021 13:15:51 -0500
4Subject: [PATCH] uio-module-drv: Replace ioremap_nocache with ioremap
5
6The ioremap_nocache is the same as the regular ioremap and its
7definition has been dropped from the Linux kernel v5.6 onwards in
8commit 4bdc0d676a64 ("remove ioremap_nocache and devm_ioremap_nocache")
9[1]. The uio-module-drv module fails to build against these newer
10kernels, so fix it by simply replacing ioremap_nocache with ioremap.
11
12[1]
13https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=4bdc0d676a643140bdf17dbf7eafedee3d496a3c
14
15Signed-off-by: Suman Anna <s-anna@ti.com>
16---
17 uio_module_drv.c | 2 +-
18 1 file changed, 1 insertion(+), 1 deletion(-)
19
20diff --git a/uio_module_drv.c b/uio_module_drv.c
21index 5a67dd199e21..7cc6005d1f05 100644
22--- a/uio_module_drv.c
23+++ b/uio_module_drv.c
24@@ -240,7 +240,7 @@ static ssize_t uio_module_drv_transfer(struct file *file, char __user *buf,
25 return -EINVAL;
26 }
27
28- virt_addr_p = ioremap_nocache(phys_addr, count);
29+ virt_addr_p = ioremap(phys_addr, count);
30 if (!virt_addr_p) {
31 dev_err(uio_module_drv->dev, "Mapping of virtual memory failed\n");
32 return(-ENOMEM);
33--
342.30.1
35
diff --git a/meta-ti-bsp/recipes-bsp/uio-module-drv/uio-module-drv_git.bb b/meta-ti-bsp/recipes-bsp/uio-module-drv/uio-module-drv_git.bb
new file mode 100644
index 00000000..2bb1f0b3
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/uio-module-drv/uio-module-drv_git.bb
@@ -0,0 +1,22 @@
1DESCRIPTION = "User space IO (UIO) driver for on-chip modules"
2
3include uio-module-drv.inc
4
5FILESEXTRAPATHS:prepend:= "${THISDIR}/${PN}:"
6
7SRC_URI += "file://0001-uio-module-drv-Replace-ioremap_nocache-with-ioremap.patch"
8
9# This package builds a kernel module, use kernel PR as base and append a local
10MACHINE_KERNEL_PR:append = "d"
11PR = "${MACHINE_KERNEL_PR}"
12
13module_auto_load_uio-module-drv = "uio-module-drv"
14
15inherit module
16
17do_install:append () {
18 install -d ${D}${includedir}
19 cp *.h ${D}${includedir}
20}
21
22KERNEL_MODULE_AUTOLOAD += "uio_module_drv"