ChromeOS: Use common fill_lb_gpio()
Change-Id: I2ba7a1c2b2e6ce2c00c9a2916141bed67930ba2d
Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-on: http://review.coreboot.org/5586
Tested-by: build bot (Jenkins)
Reviewed-by: Aaron Durbin <adurbin@google.com>
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
diff --git a/src/include/boot/coreboot_tables.h b/src/include/boot/coreboot_tables.h
index 08a89bc..f8f8022 100644
--- a/src/include/boot/coreboot_tables.h
+++ b/src/include/boot/coreboot_tables.h
@@ -200,6 +200,8 @@
struct lb_gpio {
uint32_t port;
uint32_t polarity;
+#define ACTIVE_LOW 0
+#define ACTIVE_HIGH 1
uint32_t value;
#define GPIO_MAX_NAME_LENGTH 16
uint8_t name[GPIO_MAX_NAME_LENGTH];
@@ -339,6 +341,8 @@
unsigned long rom_table_start, unsigned long rom_table_end);
void fill_lb_gpios(struct lb_gpios *gpios);
+void fill_lb_gpio(struct lb_gpio *gpio, int num,
+ int polarity, const char *name, int value);
void uart_fill_lb(void *data);
void lb_add_serial(struct lb_serial *serial, void *data);
diff --git a/src/lib/coreboot_table.c b/src/lib/coreboot_table.c
index 8e7f85d..fbc1902 100644
--- a/src/lib/coreboot_table.c
+++ b/src/lib/coreboot_table.c
@@ -145,6 +145,17 @@
}
#if CONFIG_CHROMEOS
+void fill_lb_gpio(struct lb_gpio *gpio, int num,
+ int polarity, const char *name, int value)
+{
+ memset(gpio, 0, sizeof(*gpio));
+ gpio->port = num;
+ gpio->polarity = polarity;
+ if (value >= 0)
+ gpio->value = value;
+ strncpy((char *)gpio->name, name, GPIO_MAX_NAME_LENGTH);
+}
+
static void lb_gpios(struct lb_header *header)
{
struct lb_gpios *gpios;
diff --git a/src/mainboard/google/bolt/chromeos.c b/src/mainboard/google/bolt/chromeos.c
index 5724101..f003f42 100644
--- a/src/mainboard/google/bolt/chromeos.c
+++ b/src/mainboard/google/bolt/chromeos.c
@@ -36,8 +36,6 @@
#include <boot/coreboot_tables.h>
#define GPIO_COUNT 6
-#define ACTIVE_LOW 0
-#define ACTIVE_HIGH 1
static int get_lid_switch(void)
{
@@ -50,19 +48,6 @@
#endif
}
-static void fill_lb_gpio(struct lb_gpio *gpio, int num,
- int polarity, const char *name, int force)
-{
- memset(gpio, 0, sizeof(*gpio));
- gpio->port = num;
- gpio->polarity = polarity;
- if (force >= 0)
- gpio->value = force;
- else if (num >= 0)
- gpio->value = get_gpio(num);
- strncpy((char *)gpio->name, name, GPIO_MAX_NAME_LENGTH);
-}
-
void fill_lb_gpios(struct lb_gpios *gpios)
{
struct lb_gpio *gpio;
diff --git a/src/mainboard/google/butterfly/chromeos.c b/src/mainboard/google/butterfly/chromeos.c
index 397679a..8f249c6 100644
--- a/src/mainboard/google/butterfly/chromeos.c
+++ b/src/mainboard/google/butterfly/chromeos.c
@@ -28,8 +28,6 @@
#include <ec/quanta/ene_kb3940q/ec.h>
#include "ec.h"
-#define ACTIVE_LOW 0
-#define ACTIVE_HIGH 1
#define WP_GPIO 6
#define DEVMODE_GPIO 54
#define FORCE_RECOVERY_MODE 0
diff --git a/src/mainboard/google/falco/chromeos.c b/src/mainboard/google/falco/chromeos.c
index 780e58f..0056dfd 100644
--- a/src/mainboard/google/falco/chromeos.c
+++ b/src/mainboard/google/falco/chromeos.c
@@ -33,8 +33,6 @@
#include <boot/coreboot_tables.h>
#define GPIO_COUNT 6
-#define ACTIVE_LOW 0
-#define ACTIVE_HIGH 1
static int get_lid_switch(void)
{
@@ -47,19 +45,6 @@
#endif
}
-static void fill_lb_gpio(struct lb_gpio *gpio, int num,
- int polarity, const char *name, int force)
-{
- memset(gpio, 0, sizeof(*gpio));
- gpio->port = num;
- gpio->polarity = polarity;
- if (force >= 0)
- gpio->value = force;
- else if (num >= 0)
- gpio->value = get_gpio(num);
- strncpy((char *)gpio->name, name, GPIO_MAX_NAME_LENGTH);
-}
-
void fill_lb_gpios(struct lb_gpios *gpios)
{
struct lb_gpio *gpio;
diff --git a/src/mainboard/google/link/chromeos.c b/src/mainboard/google/link/chromeos.c
index 33069b1..bf6d428 100644
--- a/src/mainboard/google/link/chromeos.c
+++ b/src/mainboard/google/link/chromeos.c
@@ -30,8 +30,6 @@
#include <boot/coreboot_tables.h>
#define GPIO_COUNT 6
-#define ACTIVE_LOW 0
-#define ACTIVE_HIGH 1
static int get_lid_switch(void)
{
diff --git a/src/mainboard/google/parrot/chromeos.c b/src/mainboard/google/parrot/chromeos.c
index 1e79e4b..fcf6374 100644
--- a/src/mainboard/google/parrot/chromeos.c
+++ b/src/mainboard/google/parrot/chromeos.c
@@ -28,8 +28,6 @@
#include <ec/compal/ene932/ec.h>
#include "ec.h"
-#define ACTIVE_LOW 0
-#define ACTIVE_HIGH 1
#ifndef __PRE_RAM__
#include <boot/coreboot_tables.h>
diff --git a/src/mainboard/google/peppy/chromeos.c b/src/mainboard/google/peppy/chromeos.c
index 780e58f..0056dfd 100644
--- a/src/mainboard/google/peppy/chromeos.c
+++ b/src/mainboard/google/peppy/chromeos.c
@@ -33,8 +33,6 @@
#include <boot/coreboot_tables.h>
#define GPIO_COUNT 6
-#define ACTIVE_LOW 0
-#define ACTIVE_HIGH 1
static int get_lid_switch(void)
{
@@ -47,19 +45,6 @@
#endif
}
-static void fill_lb_gpio(struct lb_gpio *gpio, int num,
- int polarity, const char *name, int force)
-{
- memset(gpio, 0, sizeof(*gpio));
- gpio->port = num;
- gpio->polarity = polarity;
- if (force >= 0)
- gpio->value = force;
- else if (num >= 0)
- gpio->value = get_gpio(num);
- strncpy((char *)gpio->name, name, GPIO_MAX_NAME_LENGTH);
-}
-
void fill_lb_gpios(struct lb_gpios *gpios)
{
struct lb_gpio *gpio;
diff --git a/src/mainboard/google/pit/chromeos.c b/src/mainboard/google/pit/chromeos.c
index ae219bb..08b4e99 100644
--- a/src/mainboard/google/pit/chromeos.c
+++ b/src/mainboard/google/pit/chromeos.c
@@ -26,11 +26,6 @@
#include <cpu/samsung/exynos5420/cpu.h>
#include <cpu/samsung/exynos5420/gpio.h>
-enum {
- ACTIVE_LOW = 0,
- ACTIVE_HIGH = 1
-};
-
void fill_lb_gpios(struct lb_gpios *gpios)
{
int count = 0;
diff --git a/src/mainboard/google/rambi/chromeos.c b/src/mainboard/google/rambi/chromeos.c
index 636aae1..9223858 100644
--- a/src/mainboard/google/rambi/chromeos.c
+++ b/src/mainboard/google/rambi/chromeos.c
@@ -36,8 +36,6 @@
#include <boot/coreboot_tables.h>
#define GPIO_COUNT 6
-#define ACTIVE_LOW 0
-#define ACTIVE_HIGH 1
static int get_lid_switch(void)
{
@@ -51,17 +49,6 @@
#endif
}
-static void fill_lb_gpio(struct lb_gpio *gpio, int port, int polarity,
- const char *name, int force)
-{
- memset(gpio, 0, sizeof(*gpio));
- gpio->port = port;
- gpio->polarity = polarity;
- if (force >= 0)
- gpio->value = force;
- strncpy((char *)gpio->name, name, GPIO_MAX_NAME_LENGTH);
-}
-
void fill_lb_gpios(struct lb_gpios *gpios)
{
struct lb_gpio *gpio;
diff --git a/src/mainboard/google/slippy/chromeos.c b/src/mainboard/google/slippy/chromeos.c
index 780e58f..0056dfd 100644
--- a/src/mainboard/google/slippy/chromeos.c
+++ b/src/mainboard/google/slippy/chromeos.c
@@ -33,8 +33,6 @@
#include <boot/coreboot_tables.h>
#define GPIO_COUNT 6
-#define ACTIVE_LOW 0
-#define ACTIVE_HIGH 1
static int get_lid_switch(void)
{
@@ -47,19 +45,6 @@
#endif
}
-static void fill_lb_gpio(struct lb_gpio *gpio, int num,
- int polarity, const char *name, int force)
-{
- memset(gpio, 0, sizeof(*gpio));
- gpio->port = num;
- gpio->polarity = polarity;
- if (force >= 0)
- gpio->value = force;
- else if (num >= 0)
- gpio->value = get_gpio(num);
- strncpy((char *)gpio->name, name, GPIO_MAX_NAME_LENGTH);
-}
-
void fill_lb_gpios(struct lb_gpios *gpios)
{
struct lb_gpio *gpio;
diff --git a/src/mainboard/google/snow/chromeos.c b/src/mainboard/google/snow/chromeos.c
index 2b830a1..c525a81 100644
--- a/src/mainboard/google/snow/chromeos.c
+++ b/src/mainboard/google/snow/chromeos.c
@@ -26,11 +26,6 @@
#include <cpu/samsung/exynos5250/cpu.h>
#include <cpu/samsung/exynos5250/gpio.h>
-enum {
- ACTIVE_LOW = 0,
- ACTIVE_HIGH = 1
-};
-
void fill_lb_gpios(struct lb_gpios *gpios)
{
int count = 0;
diff --git a/src/mainboard/google/stout/chromeos.c b/src/mainboard/google/stout/chromeos.c
index 297626c..74955de 100644
--- a/src/mainboard/google/stout/chromeos.c
+++ b/src/mainboard/google/stout/chromeos.c
@@ -32,8 +32,6 @@
#include <boot/coreboot_tables.h>
#define GPIO_COUNT 7
-#define ACTIVE_LOW 0
-#define ACTIVE_HIGH 1
void fill_lb_gpios(struct lb_gpios *gpios)
{
diff --git a/src/mainboard/intel/baskingridge/chromeos.c b/src/mainboard/intel/baskingridge/chromeos.c
index 7b64f10..7efd065 100644
--- a/src/mainboard/intel/baskingridge/chromeos.c
+++ b/src/mainboard/intel/baskingridge/chromeos.c
@@ -29,8 +29,6 @@
#include <boot/coreboot_tables.h>
#define GPIO_COUNT 6
-#define ACTIVE_LOW 0
-#define ACTIVE_HIGH 1
void fill_lb_gpios(struct lb_gpios *gpios)
{
diff --git a/src/mainboard/intel/emeraldlake2/chromeos.c b/src/mainboard/intel/emeraldlake2/chromeos.c
index 2194973..72adaf7 100644
--- a/src/mainboard/intel/emeraldlake2/chromeos.c
+++ b/src/mainboard/intel/emeraldlake2/chromeos.c
@@ -28,8 +28,6 @@
#include <boot/coreboot_tables.h>
#define GPIO_COUNT 6
-#define ACTIVE_LOW 0
-#define ACTIVE_HIGH 1
void fill_lb_gpios(struct lb_gpios *gpios)
{
diff --git a/src/mainboard/intel/wtm2/chromeos.c b/src/mainboard/intel/wtm2/chromeos.c
index a5ca4eb..9c4c3b4 100644
--- a/src/mainboard/intel/wtm2/chromeos.c
+++ b/src/mainboard/intel/wtm2/chromeos.c
@@ -32,21 +32,6 @@
#include <boot/coreboot_tables.h>
#define GPIO_COUNT 6
-#define ACTIVE_LOW 0
-#define ACTIVE_HIGH 1
-
-static void fill_lb_gpio(struct lb_gpio *gpio, int num,
- int polarity, const char *name, int force)
-{
- memset(gpio, 0, sizeof(*gpio));
- gpio->port = num;
- gpio->polarity = polarity;
- if (force >= 0)
- gpio->value = force;
- else if (num >= 0)
- gpio->value = get_gpio(num);
- strncpy((char *)gpio->name, name, GPIO_MAX_NAME_LENGTH);
-}
void fill_lb_gpios(struct lb_gpios *gpios)
{
diff --git a/src/mainboard/samsung/lumpy/chromeos.c b/src/mainboard/samsung/lumpy/chromeos.c
index c9fa1d9..bdc0148 100644
--- a/src/mainboard/samsung/lumpy/chromeos.c
+++ b/src/mainboard/samsung/lumpy/chromeos.c
@@ -39,8 +39,6 @@
#include <ec/smsc/mec1308/ec.h>
#define GPIO_COUNT 6
-#define ACTIVE_LOW 0
-#define ACTIVE_HIGH 1
void fill_lb_gpios(struct lb_gpios *gpios)
{
diff --git a/src/mainboard/samsung/stumpy/chromeos.c b/src/mainboard/samsung/stumpy/chromeos.c
index be18370..731126c 100644
--- a/src/mainboard/samsung/stumpy/chromeos.c
+++ b/src/mainboard/samsung/stumpy/chromeos.c
@@ -36,8 +36,6 @@
#include <boot/coreboot_tables.h>
#define GPIO_COUNT 6
-#define ACTIVE_LOW 0
-#define ACTIVE_HIGH 1
void fill_lb_gpios(struct lb_gpios *gpios)
{