diff options
Diffstat (limited to 'exynos4412_gpios.c')
| -rw-r--r-- | exynos4412_gpios.c | 22 |
1 files changed, 6 insertions, 16 deletions
diff --git a/exynos4412_gpios.c b/exynos4412_gpios.c index b478794..f40d309 100644 --- a/exynos4412_gpios.c +++ b/exynos4412_gpios.c @@ -154,8 +154,9 @@ int gpio_get_direction(char *devmem, int fd, size_t page_size, return rc; } -int gpio_get_output_value(char *devmem, int fd, size_t page_size, char *bank, - uint32_t gpio_offset) +int gpio_get_output_value(char *devmem, int fd, size_t page_size, + void *gpio_hardware_blocks_addr, + char *bank, uint32_t gpio_offset) { int debug = 0; @@ -171,21 +172,10 @@ int gpio_get_output_value(char *devmem, int fd, size_t page_size, char *bank, return -1; } - if (debug){ - printf("%s: offset for %s: 0x%lx\n\n", - __func__, bank, offset); - } - - addr = mmap_gpio_hardware_blocks(debug, devmem, fd, page_size) + offset; - if (addr == NULL) { - /* mmap_gpio_bank already prints an error */ - return -1; - } + if (debug) + printf("%s: offset for %s: 0x%lx\n\n", __func__, bank, offset); - if (debug) { - printf("%s: Mapped at %p\n", __func__, addr); - print_gpio_banks_data(); - } + addr = gpio_hardware_blocks_addr + offset; rc = decode_gpio_data(debug, bank, gpio_offset, "dat", addr); |
