]> rtime.felk.cvut.cz Git - mf6xx.git/commitdiff
UIO userspace example is more robust.
authorRostislav Lisovy <lisovy@gmail.com>
Sat, 26 Mar 2011 21:39:23 +0000 (22:39 +0100)
committerRostislav Lisovy <lisovy@gmail.com>
Sat, 26 Mar 2011 21:39:23 +0000 (22:39 +0100)
src/uio/mf624/userspace/test_application/main.c

index 8c74f8b7a64dc06573305022ef4f7420cb0e84ea..af3ae78924255a01787f36676b2c2870eb957f92 100644 (file)
@@ -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) {