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>
This commit is contained in:
Antonio Borneo 2022-09-08 14:37:55 +02:00
parent e5c103a8d3
commit b8594026e4
1 changed files with 5 additions and 8 deletions

View File

@ -24,7 +24,7 @@
static uint8_t output_value; static uint8_t output_value;
static int dev_mem_fd; 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_register;
static volatile uint8_t *gpio_data_direction_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) static int set_gonk_mode(void)
{ {
void *syscon; void *syscon = mmap(NULL, 4096, PROT_READ | PROT_WRITE,
uint32_t devicecfg;
syscon = mmap(NULL, 4096, PROT_READ | PROT_WRITE,
MAP_SHARED, dev_mem_fd, 0x80930000); MAP_SHARED, dev_mem_fd, 0x80930000);
if (syscon == MAP_FAILED) { if (syscon == MAP_FAILED) {
LOG_ERROR("mmap: %s", strerror(errno)); LOG_ERROR("mmap: %s", strerror(errno));
return ERROR_JTAG_INIT_FAILED; return ERROR_JTAG_INIT_FAILED;
} }
devicecfg = *((volatile int *)(syscon + 0x80)); uint32_t devicecfg = *((volatile uint32_t *)((uintptr_t)syscon + 0x80));
*((volatile int *)(syscon + 0xc0)) = 0xaa; *((volatile uint32_t *)((uintptr_t)syscon + 0xc0)) = 0xaa;
*((volatile int *)(syscon + 0x80)) = devicecfg | 0x08000000; *((volatile uint32_t *)((uintptr_t)syscon + 0x80)) = devicecfg | 0x08000000;
munmap(syscon, 4096); munmap(syscon, 4096);