]> rtime.felk.cvut.cz Git - lincan.git/blobdiff - lincan/src/m437.c
Fixes for SMP kernels and build for 2.2.xx and 2.6.xx kernels
[lincan.git] / lincan / src / m437.c
index 740516064a27c95bd1f0e6e11b7540560a101960..c2073ed64cef8aa8376f61fcb3ca7442b8691758 100644 (file)
@@ -60,13 +60,14 @@ static long base = 0L;
 int m437_request_io(struct candevice_t *candev)
 {
 
-       if (!request_mem_region(candev->io_addr,IO_RANGE,DEVICE_NAME)) {
+       if (!can_request_mem_region(candev->io_addr,IO_RANGE,DEVICE_NAME)) {
                CANMSG("Unable to request IO-memory: 0x%lx\n",candev->io_addr);
                return -ENODEV;
        }
 
        if ( !( base = (long) ioremap( candev->io_addr, IO_RANGE ) ) ) {
                CANMSG("Unable to access I/O memory at: 0x%lx\n", candev->io_addr);
+               can_release_mem_region(candev->io_addr,IO_RANGE);
                return -ENODEV;
        
        }
@@ -116,7 +117,7 @@ int m437_release_io(struct candevice_t *candev)
        /* release I/O memory mapping */
        iounmap((void*)base);
 
-       release_mem_region(candev->io_addr,IO_RANGE);
+       can_release_mem_region(candev->io_addr,IO_RANGE);
 
        return 0;
 }