aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAntonio Borneo <borneo.antonio@gmail.com>2022-09-08 14:37:55 +0200
committerAntonio Borneo <borneo.antonio@gmail.com>2022-09-13 22:16:07 +0000
commitb8594026e4bf1aa910944c0b72dd5f1def181f13 (patch)
tree4689c30138ef2401f80067d689b6bddd8535fc78 /src
parente5c103a8d31bddfbda2fd2583c1fcdcc0c818a94 (diff)
downloadriscv-openocd-b8594026e4bf1aa910944c0b72dd5f1def181f13.zip
riscv-openocd-b8594026e4bf1aa910944c0b72dd5f1def181f13.tar.gz
riscv-openocd-b8594026e4bf1aa910944c0b72dd5f1def181f13.tar.bz2
src/jtag/drivers/ep93xx: fix GCC 12 warning
New GCC reports 5 warning: src/jtag/drivers/ep93xx.c: In function 'set_gonk_mode': src/jtag/drivers/ep93xx.c:123:47: warning: pointer of type 'void *' used in arithmetic [-Wpointer-arith] 123 | devicecfg = *((volatile int *)(syscon + 0x80)); | ^ src/jtag/drivers/ep93xx.c:124:35: warning: pointer of type 'void *' used in arithmetic [-Wpointer-arith] 124 | *((volatile int *)(syscon + 0xc0)) = 0xaa; | ^ src/jtag/drivers/ep93xx.c:125:35: warning: pointer of type 'void *' used in arithmetic [-Wpointer-arith] 125 | *((volatile int *)(syscon + 0x80)) = devicecfg | 0x08000000; | ^ src/jtag/drivers/ep93xx.c: In function 'ep93xx_init': src/jtag/drivers/ep93xx.c:182:46: warning: pointer of type 'void *' used in arithmetic [-Wpointer-arith] 182 | gpio_data_register = gpio_controller + 0x08; | ^ src/jtag/drivers/ep93xx.c:183:56: warning: pointer of type 'void *' used in arithmetic [-Wpointer-arith] 183 | gpio_data_direction_register = gpio_controller + 0x18; | ^ Change pointer type to allow pointer arithmetic. Change-Id: Idd78a7156bdf99df2624043e924b8e54a0588ace Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com> Reviewed-on: https://review.openocd.org/c/openocd/+/7180 Tested-by: jenkins Reviewed-by: Tomas Vanek <vanekt@fbl.cz>
Diffstat (limited to 'src')
-rw-r--r--src/jtag/drivers/ep93xx.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/src/jtag/drivers/ep93xx.c b/src/jtag/drivers/ep93xx.c
index e7c993b..5130bd4 100644
--- a/src/jtag/drivers/ep93xx.c
+++ b/src/jtag/drivers/ep93xx.c
@@ -24,7 +24,7 @@
static uint8_t output_value;
static int dev_mem_fd;
-static void *gpio_controller;
+static uint8_t *gpio_controller;
static volatile uint8_t *gpio_data_register;
static volatile uint8_t *gpio_data_direction_register;
@@ -110,19 +110,16 @@ static int ep93xx_reset(int trst, int srst)
static int set_gonk_mode(void)
{
- void *syscon;
- uint32_t devicecfg;
-
- syscon = mmap(NULL, 4096, PROT_READ | PROT_WRITE,
+ void *syscon = mmap(NULL, 4096, PROT_READ | PROT_WRITE,
MAP_SHARED, dev_mem_fd, 0x80930000);
if (syscon == MAP_FAILED) {
LOG_ERROR("mmap: %s", strerror(errno));
return ERROR_JTAG_INIT_FAILED;
}
- devicecfg = *((volatile int *)(syscon + 0x80));
- *((volatile int *)(syscon + 0xc0)) = 0xaa;
- *((volatile int *)(syscon + 0x80)) = devicecfg | 0x08000000;
+ uint32_t devicecfg = *((volatile uint32_t *)((uintptr_t)syscon + 0x80));
+ *((volatile uint32_t *)((uintptr_t)syscon + 0xc0)) = 0xaa;
+ *((volatile uint32_t *)((uintptr_t)syscon + 0x80)) = devicecfg | 0x08000000;
munmap(syscon, 4096);