Skip to contentSkip to conversation

gpioinfo: print bias flags if set

PATCH New Bartosz Golaszewski 1 participant 1 message Apr 29, 2020 GPIO

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 gpioinfo: print bias flags if set

From: Bartosz Golaszewski <[email protected]>

When printing line information: check the bias configuration and include the current value in the 'flags' column of output.

---
 tools/gpioinfo.c | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)
tools/gpioinfo.c +27 -0
index 6f94b4e..67be379 100644
@@ -21,6 +21,21 @@ struct flag {
 	is_set_func is_set;
 };
 
+static bool line_bias_is_pullup(struct gpiod_line *line)
+{
+	return gpiod_line_bias(line) == GPIOD_LINE_BIAS_PULL_UP;
+}
+
+static bool line_bias_is_pulldown(struct gpiod_line *line)
+{
+	return gpiod_line_bias(line) == GPIOD_LINE_BIAS_PULL_DOWN;
+}
+
+static bool line_bias_is_disabled(struct gpiod_line *line)
+{
+	return gpiod_line_bias(line) == GPIOD_LINE_BIAS_DISABLE;
+}
+
 static const struct flag flags[] = {
 	{
 		.name = "used",
@@ -34,6 +49,18 @@ static const struct flag flags[] = {
 		.name = "open-source",
 		.is_set = gpiod_line_is_open_source,
 	},
+	{
+		.name = "pull-up",
+		.is_set = line_bias_is_pullup,
+	},
+	{
+		.name = "pull-down",
+		.is_set = line_bias_is_pulldown,
+	},
+	{
+		.name = "bias-disabled",
+		.is_set = line_bias_is_disabled,
+	},
 };
 
 static const struct option longopts[] = {
Signature · 1 line
2.25.0