target/xtensa: avoid IHI for writes to non-executable memory
[openocd.git] / src / jtag / drivers / linuxgpiod.c
index d1a88c88d33c919a5d8e2a9ebed94821418ebd32..1926ed9ae61c2d06b4cb85055359d1178d89fe3a 100644 (file)
@@ -37,9 +37,7 @@ static const struct adapter_gpio_config *adapter_gpio_config;
  */
 static bool is_gpio_config_valid(enum adapter_gpio_config_index idx)
 {
-       return adapter_gpio_config[idx].chip_num >= 0
-               && adapter_gpio_config[idx].chip_num < 1000
-               && adapter_gpio_config[idx].gpio_num >= 0
+       return adapter_gpio_config[idx].chip_num < 1000
                && adapter_gpio_config[idx].gpio_num < 10000;
 }
 
@@ -159,7 +157,7 @@ static int linuxgpiod_swd_write(int swclk, int swdio)
        int retval;
 
        if (!swdio_input) {
-               if (!last_stored || (swdio != last_swdio)) {
+               if (!last_stored || swdio != last_swdio) {
                        retval = gpiod_line_set_value(gpiod_line[ADAPTER_GPIO_IDX_SWDIO], swdio);
                        if (retval < 0)
                                LOG_WARNING("Fail set swdio");
@@ -167,7 +165,7 @@ static int linuxgpiod_swd_write(int swclk, int swdio)
        }
 
        /* write swclk last */
-       if (!last_stored || (swclk != last_swclk)) {
+       if (!last_stored || swclk != last_swclk) {
                retval = gpiod_line_set_value(gpiod_line[ADAPTER_GPIO_IDX_SWCLK], swclk);
                if (retval < 0)
                        LOG_WARNING("Fail set swclk");
@@ -322,12 +320,12 @@ static int helper_get_line(enum adapter_gpio_config_index idx)
 
        switch (adapter_gpio_config[idx].pull) {
        case ADAPTER_GPIO_PULL_NONE:
-#ifdef GPIOD_LINE_REQUEST_FLAG_BIAS_DISABLE
+#ifdef HAVE_LIBGPIOD1_FLAGS_BIAS
                flags |= GPIOD_LINE_REQUEST_FLAG_BIAS_DISABLE;
 #endif
                break;
        case ADAPTER_GPIO_PULL_UP:
-#ifdef GPIOD_LINE_REQUEST_FLAG_BIAS_PULL_UP
+#ifdef HAVE_LIBGPIOD1_FLAGS_BIAS
                flags |= GPIOD_LINE_REQUEST_FLAG_BIAS_PULL_UP;
 #else
                LOG_WARNING("linuxgpiod: ignoring request for pull-up on %s: not supported by gpiod v%s",
@@ -335,7 +333,7 @@ static int helper_get_line(enum adapter_gpio_config_index idx)
 #endif
                break;
        case ADAPTER_GPIO_PULL_DOWN:
-#ifdef GPIOD_LINE_REQUEST_FLAG_BIAS_PULL_DOWN
+#ifdef HAVE_LIBGPIOD1_FLAGS_BIAS
                flags |= GPIOD_LINE_REQUEST_FLAG_BIAS_PULL_DOWN;
 #else
                LOG_WARNING("linuxgpiod: ignoring request for pull-down on %s: not supported by gpiod v%s",
@@ -380,12 +378,12 @@ static int linuxgpiod_init(void)
                        goto out_error;
                }
 
-               if (helper_get_line(ADAPTER_GPIO_IDX_TDO) != ERROR_OK ||
-                       helper_get_line(ADAPTER_GPIO_IDX_TDI) != ERROR_OK ||
-                       helper_get_line(ADAPTER_GPIO_IDX_TCK) != ERROR_OK ||
-                       helper_get_line(ADAPTER_GPIO_IDX_TMS) != ERROR_OK ||
-                       helper_get_line(ADAPTER_GPIO_IDX_TRST) != ERROR_OK)
-                               goto out_error;
+               if (helper_get_line(ADAPTER_GPIO_IDX_TDO) != ERROR_OK
+                               || helper_get_line(ADAPTER_GPIO_IDX_TDI) != ERROR_OK
+                               || helper_get_line(ADAPTER_GPIO_IDX_TCK) != ERROR_OK
+                               || helper_get_line(ADAPTER_GPIO_IDX_TMS) != ERROR_OK
+                               || helper_get_line(ADAPTER_GPIO_IDX_TRST) != ERROR_OK)
+                       goto out_error;
        }
 
        if (transport_is_swd()) {
@@ -415,9 +413,9 @@ static int linuxgpiod_init(void)
                        goto out_error;
        }
 
-       if (helper_get_line(ADAPTER_GPIO_IDX_SRST) != ERROR_OK ||
-               helper_get_line(ADAPTER_GPIO_IDX_LED) != ERROR_OK)
-                       goto out_error;
+       if (helper_get_line(ADAPTER_GPIO_IDX_SRST) != ERROR_OK
+                       || helper_get_line(ADAPTER_GPIO_IDX_LED) != ERROR_OK)
+               goto out_error;
 
        return ERROR_OK;
 

Linking to existing account procedure

If you already have an account and want to add another login method you MUST first sign in with your existing account and then change URL to read https://review.openocd.org/login/?link to get to this page again but this time it'll work for linking. Thank you.

SSH host keys fingerprints

1024 SHA256:YKx8b7u5ZWdcbp7/4AeXNaqElP49m6QrwfXaqQGJAOk gerrit-code-review@openocd.zylin.com (DSA)
384 SHA256:jHIbSQa4REvwCFG4cq5LBlBLxmxSqelQPem/EXIrxjk gerrit-code-review@openocd.org (ECDSA)
521 SHA256:UAOPYkU9Fjtcao0Ul/Rrlnj/OsQvt+pgdYSZ4jOYdgs gerrit-code-review@openocd.org (ECDSA)
256 SHA256:A13M5QlnozFOvTllybRZH6vm7iSt0XLxbA48yfc2yfY gerrit-code-review@openocd.org (ECDSA)
256 SHA256:spYMBqEYoAOtK7yZBrcwE8ZpYt6b68Cfh9yEVetvbXg gerrit-code-review@openocd.org (ED25519)
+--[ED25519 256]--+
|=..              |
|+o..   .         |
|*.o   . .        |
|+B . . .         |
|Bo. = o S        |
|Oo.+ + =         |
|oB=.* = . o      |
| =+=.+   + E     |
|. .=o   . o      |
+----[SHA256]-----+
2048 SHA256:0Onrb7/PHjpo6iVZ7xQX2riKN83FJ3KGU0TvI0TaFG4 gerrit-code-review@openocd.zylin.com (RSA)