summaryrefslogtreecommitdiffstats
path: root/exynos4412_gpios.c
diff options
context:
space:
mode:
Diffstat (limited to 'exynos4412_gpios.c')
-rw-r--r--exynos4412_gpios.c22
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);