Messages in this thread Patch in this message | | | Date | Tue, 23 Sep 2014 09:22:36 +0900 | From | Daeseok Youn <> | Subject | [PATCH 3/3] staging: dgap: use dgap_release_remap() in dgap_cleanup_board() |
| |
Just simply use dgap_release_remap() in dgap_cleanup_board() for releasing map memory.
Signed-off-by: Daeseok Youn <daeseok.youn@gmail.com> --- drivers/staging/dgap/dgap.c | 25 ++++++++++--------------- 1 files changed, 10 insertions(+), 15 deletions(-)
diff --git a/drivers/staging/dgap/dgap.c b/drivers/staging/dgap/dgap.c index 637ea8a..d0be1ce 100644 --- a/drivers/staging/dgap/dgap.c +++ b/drivers/staging/dgap/dgap.c @@ -683,17 +683,7 @@ static void dgap_cleanup_board(struct board_t *brd) tasklet_kill(&brd->helper_tasklet); - if (brd->re_map_port) { - release_mem_region(brd->membase + 0x200000, 0x200000); - iounmap(brd->re_map_port); - brd->re_map_port = NULL; - } - - if (brd->re_map_membase) { - release_mem_region(brd->membase, 0x200000); - iounmap(brd->re_map_membase); - brd->re_map_membase = NULL; - } + dgap_release_remap(brd); /* Free all allocated channels structs */ for (i = 0; i < MAXPORTS ; i++) @@ -1023,10 +1013,15 @@ static int dgap_do_remap(struct board_t *brd) static void dgap_release_remap(struct board_t *brd) { - release_mem_region(brd->membase, 0x200000); - release_mem_region(brd->membase + PCI_IO_OFFSET, 0x200000); - iounmap(brd->re_map_membase); - iounmap(brd->re_map_port); + if (brd->re_map_membase) { + release_mem_region(brd->membase, 0x200000); + iounmap(brd->re_map_membase); + } + + if (brd->re_map_port) { + release_mem_region(brd->membase + PCI_IO_OFFSET, 0x200000); + iounmap(brd->re_map_port); + } } /***************************************************************************** * -- 1.7.1
| |