This is an automated email from Gerrit.

"Antonio Borneo <borneo.anto...@gmail.com>" just uploaded a new patch set to 
Gerrit, which you can find at https://review.openocd.org/c/openocd/+/7180

-- gerrit

commit 5afe6c5d5f4224b2205087294f46d6716dfa271d
Author: Antonio Borneo <borneo.anto...@gmail.com>
Date:   Thu Sep 8 14:37:55 2022 +0200

    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.anto...@gmail.com>

diff --git a/src/jtag/drivers/ep93xx.c b/src/jtag/drivers/ep93xx.c
index e7c993b3bc..3696705674 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,
+       uint8_t *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 *)(syscon + 0x80));
+       *((volatile uint32_t *)(syscon + 0xc0)) = 0xaa;
+       *((volatile uint32_t *)(syscon + 0x80)) = devicecfg | 0x08000000;
 
        munmap(syscon, 4096);
 

-- 

Reply via email to