aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAntonio Borneo <borneo.antonio@gmail.com>2024-03-24 16:17:11 +0100
committerAntonio Borneo <borneo.antonio@gmail.com>2024-04-07 19:35:41 +0000
commite035756b22f96adc95b791aaa01de7a2c11d7f2e (patch)
treedc189e4e90ae433cd053e4e41d09e058693cb28a /src
parent74e7fcb2dd96c09f946bc8b0f59bfdf6215d8873 (diff)
downloadriscv-openocd-e035756b22f96adc95b791aaa01de7a2c11d7f2e.zip
riscv-openocd-e035756b22f96adc95b791aaa01de7a2c11d7f2e.tar.gz
riscv-openocd-e035756b22f96adc95b791aaa01de7a2c11d7f2e.tar.bz2
jtag: linuxgpiod: fix detection for line request bias
Commit 290eac04b93c ("drivers/linuxgpiod: Migrate to adapter gpio commands") introduced an incorrect check to determine if the library libgpiod declares the line request flags: GPIOD_LINE_REQUEST_FLAG_BIAS_DISABLE GPIOD_LINE_REQUEST_FLAG_BIAS_PULL_UP GPIOD_LINE_REQUEST_FLAG_BIAS_PULL_DOWN The names above are declared by the library inside an enum, thus cannot be used by the C preprocessor in a #ifdef. Determine in configure if the version of libgpiod provides the line request flags for "bias" and define a C macro. Use the new macro in the driver code. Change-Id: Iaa452230f4753fce4c6e9daa254299cedb7cab7f Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com> Fixes: 290eac04b93c ("drivers/linuxgpiod: Migrate to adapter gpio commands") Reviewed-on: https://review.openocd.org/c/openocd/+/8186 Tested-by: jenkins Reviewed-by: Michael Heimpold <michaheimpold@gmail.com>
Diffstat (limited to 'src')
-rw-r--r--src/jtag/drivers/linuxgpiod.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/jtag/drivers/linuxgpiod.c b/src/jtag/drivers/linuxgpiod.c
index 9428837..3ca4523 100644
--- a/src/jtag/drivers/linuxgpiod.c
+++ b/src/jtag/drivers/linuxgpiod.c
@@ -320,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",
@@ -333,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",