From: Rostislav Lisovy Date: Sat, 26 Mar 2011 21:39:23 +0000 (+0100) Subject: UIO userspace example is more robust. X-Git-Url: http://rtime.felk.cvut.cz/gitweb/mf6xx.git/commitdiff_plain/62b00a28d983d1b5cd668a429bfa07fedede89f5 UIO userspace example is more robust. --- diff --git a/src/uio/mf624/userspace/test_application/main.c b/src/uio/mf624/userspace/test_application/main.c index 8c74f8b..af3ae78 100644 --- a/src/uio/mf624/userspace/test_application/main.c +++ b/src/uio/mf624/userspace/test_application/main.c @@ -205,20 +205,23 @@ void run_simple_tests(char* dev_name) list_available_io_ports(dev_name); } -void mmap_regions(int device_fd) +void mmap_regions(int device_fd, char* uio_dev) { - char buff[BUFF_SMALL]; + char path[BUFF_MID]; FILE *file; - file = fopen("/sys/class/uio/uio0/maps/map0/addr", "rb"); + sprintf(path, "/sys/class/uio/%s/maps/map0/addr", uio_dev); + file = fopen(path, "rb"); fscanf(file, "%llx", &BAR0_phys_addr); fclose(file); - file = fopen("/sys/class/uio/uio0/maps/map1/addr", "rb"); + sprintf(path, "/sys/class/uio/%s/maps/map1/addr", uio_dev); + file = fopen(path, "rb"); fscanf(file, "%llx", &BAR2_phys_addr); fclose(file); - file = fopen("/sys/class/uio/uio0/maps/map2/addr", "rb"); + sprintf(path, "/sys/class/uio/%s/maps/map2/addr", uio_dev); + file = fopen(path, "rb"); fscanf(file, "%llx", &BAR4_phys_addr); fclose(file); @@ -272,7 +275,7 @@ int main(int argc, char* argv[]) strncat(buff, argv[1], min(strlen(argv[1]), 8)); device_fd = open_device(buff); - mmap_regions(device_fd); + mmap_regions(device_fd, argv[1]); if (device_fd != -1) {