[coreboot-gerrit] Change in coreboot[master]: gpio: Change gpio_baseX_value() function return types to unsigned

Julius Werner (Code Review) gerrit at coreboot.org
Thu Aug 2 20:48:58 CEST 2018


Julius Werner has uploaded this change for review. ( https://review.coreboot.org/27809


Change subject: gpio: Change gpio_baseX_value() function return types to unsigned
......................................................................

gpio: Change gpio_baseX_value() function return types to unsigned

This patch changes the return type of gpio_base2_value() and related
functions from int to uint32_t. This makes more sense now that
board_id() and related functions (which are the primary use case) also
return that type. It's unlikely that we'll ever read a strapping of 32
GPIOs in a row, but if we did, we'd probably want to treat it as
unsigned.

Change-Id: I8fb7e3a7c76cb886aed40d0ada1f545180e43117
Signed-off-by: Julius Werner <jwerner at chromium.org>
---
M src/include/gpio.h
M src/lib/gpio.c
2 files changed, 17 insertions(+), 16 deletions(-)



  git pull ssh://review.coreboot.org:29418/coreboot refs/changes/09/27809/1

diff --git a/src/include/gpio.h b/src/include/gpio.h
index 3160242..0a37ee7 100644
--- a/src/include/gpio.h
+++ b/src/include/gpio.h
@@ -29,7 +29,7 @@
 void gpio_input_pullup(gpio_t gpio);
 void gpio_input(gpio_t gpio);
 void gpio_output(gpio_t gpio, int value);
-int _gpio_base3_value(const gpio_t gpio[], int num_gpio, int binary_first);
+uint32_t _gpio_base3_value(const gpio_t gpio[], int num_gpio, int binary_first);
 
 /*
  * This function may be implemented by SoC/board code to provide
@@ -60,9 +60,9 @@
  * There are also pulldown and pullup variants which default each gpio to
  * be configured with an internal pulldown and pullup, respectively.
  */
-int gpio_base2_value(const gpio_t gpio[], int num_gpio);
-int gpio_pulldown_base2_value(const gpio_t gpio[], int num_gpio);
-int gpio_pullup_base2_value(const gpio_t gpio[], int num_gpio);
+uint32_t gpio_base2_value(const gpio_t gpio[], int num_gpio);
+uint32_t gpio_pulldown_base2_value(const gpio_t gpio[], int num_gpio);
+uint32_t gpio_pullup_base2_value(const gpio_t gpio[], int num_gpio);
 
 /*
  * Read the value presented by the set of GPIOs, when each pin is interpreted
@@ -73,7 +73,7 @@
  * gpio[]: pin positions to read. gpio[0] is less significant than gpio[1].
  * num_gpio: number of pins to read.
  */
-static inline int gpio_base3_value(const gpio_t gpio[], int num_gpio)
+static inline uint32_t gpio_base3_value(const gpio_t gpio[], int num_gpio)
 {
 	return _gpio_base3_value(gpio, num_gpio, 0);
 }
@@ -103,8 +103,8 @@
  * gpio[]: pin positions to read. gpio[0] is less significant than gpio[1].
  * num_gpio: number of pins to read.
  */
-static inline int gpio_binary_first_base3_value(const gpio_t gpio[],
-						int num_gpio)
+static inline uint32_t gpio_binary_first_base3_value(const gpio_t gpio[],
+						     int num_gpio)
 {
 	return _gpio_base3_value(gpio, num_gpio, 1);
 }
diff --git a/src/lib/gpio.c b/src/lib/gpio.c
index b52d7b0..0656dfb 100644
--- a/src/lib/gpio.c
+++ b/src/lib/gpio.c
@@ -20,9 +20,10 @@
 #include <delay.h>
 #include <gpio.h>
 
-static int _gpio_base2_value(const gpio_t gpio[], int num_gpio)
+static uint32_t _gpio_base2_value(const gpio_t gpio[], int num_gpio)
 {
-	int i, result = 0;
+	uint32_t result = 0;
+	int i;
 
 	/* Wait until signals become stable */
 	udelay(10);
@@ -33,7 +34,7 @@
 	return result;
 }
 
-int gpio_base2_value(const gpio_t gpio[], int num_gpio)
+uint32_t gpio_base2_value(const gpio_t gpio[], int num_gpio)
 {
 	int i;
 
@@ -43,7 +44,7 @@
 	return _gpio_base2_value(gpio, num_gpio);
 }
 
-int gpio_pulldown_base2_value(const gpio_t gpio[], int num_gpio)
+uint32_t gpio_pulldown_base2_value(const gpio_t gpio[], int num_gpio)
 {
 	int i;
 
@@ -53,7 +54,7 @@
 	return _gpio_base2_value(gpio, num_gpio);
 }
 
-int gpio_pullup_base2_value(const gpio_t gpio[], int num_gpio)
+uint32_t gpio_pullup_base2_value(const gpio_t gpio[], int num_gpio)
 {
 	int i;
 
@@ -63,7 +64,7 @@
 	return _gpio_base2_value(gpio, num_gpio);
 }
 
-int _gpio_base3_value(const gpio_t gpio[], int num_gpio, int binary_first)
+uint32_t _gpio_base3_value(const gpio_t gpio[], int num_gpio, int binary_first)
 {
 	/*
 	 * GPIOs which are tied to stronger external pull up or pull down
@@ -75,11 +76,11 @@
 	 */
 
 	static const char tristate_char[] = {[0] = '0', [1] = '1', [Z] = 'Z'};
-	int temp;
-	int index;
-	int result = 0;
+	uint32_t result = 0;
 	int has_z = 0;
 	int binary_below = 0;
+	int index;
+	int temp;
 	char value[32];
 	assert(num_gpio <= 32);
 

-- 
To view, visit https://review.coreboot.org/27809
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings

Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I8fb7e3a7c76cb886aed40d0ada1f545180e43117
Gerrit-Change-Number: 27809
Gerrit-PatchSet: 1
Gerrit-Owner: Julius Werner <jwerner at chromium.org>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.coreboot.org/pipermail/coreboot-gerrit/attachments/20180802/f86b1e9d/attachment.html>


More information about the coreboot-gerrit mailing list