[coreboot-gerrit] Patch set updated for coreboot: WIP: lib/gpio: Remove layering violation dependency on soc/gpio.h
Alexandru Gagniuc (mr.nuke.me@gmail.com)
gerrit at coreboot.org
Fri Oct 9 06:50:15 CEST 2015
Alexandru Gagniuc (mr.nuke.me at gmail.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/11834
-gerrit
commit 5190ffc45465156a0faca5adc15337a19e5a9d44
Author: Alexandru Gagniuc <mr.nuke.me at gmail.com>
Date: Thu Oct 8 21:01:20 2015 -0700
WIP: lib/gpio: Remove layering violation dependency on soc/gpio.h
Change-Id: I9bc19e11e9ad1b8da883ff15eb40fa364faa4fcc
Signed-off-by: Alexandru Gagniuc <mr.nuke.me at gmail.com>
---
src/include/gpio.h | 10 ++++++---
src/mainboard/google/foster/chromeos.c | 2 +-
src/mainboard/google/foster/reset.c | 2 +-
src/mainboard/google/veyron_brain/sdram_configs.c | 2 +-
src/mainboard/google/veyron_danger/board.h | 2 +-
src/mainboard/google/veyron_danger/boardid.c | 2 +-
src/mainboard/google/veyron_danger/chromeos.c | 2 +-
src/mainboard/google/veyron_danger/mainboard.c | 2 +-
src/mainboard/google/veyron_danger/reset.c | 2 +-
src/mainboard/google/veyron_danger/sdram_configs.c | 2 +-
src/mainboard/google/veyron_mickey/board.h | 2 +-
src/mainboard/google/veyron_mickey/boardid.c | 2 +-
src/mainboard/google/veyron_mickey/chromeos.c | 2 +-
src/mainboard/google/veyron_mickey/mainboard.c | 2 +-
src/mainboard/google/veyron_mickey/reset.c | 2 +-
src/mainboard/google/veyron_mickey/sdram_configs.c | 2 +-
src/mainboard/google/veyron_rialto/board.h | 2 +-
src/mainboard/google/veyron_rialto/boardid.c | 2 +-
src/mainboard/google/veyron_rialto/chromeos.c | 2 +-
src/mainboard/google/veyron_rialto/mainboard.c | 2 +-
src/mainboard/google/veyron_rialto/reset.c | 2 +-
src/mainboard/google/veyron_rialto/sdram_configs.c | 2 +-
src/mainboard/google/veyron_romy/board.h | 2 +-
src/mainboard/google/veyron_romy/boardid.c | 2 +-
src/mainboard/google/veyron_romy/chromeos.c | 2 +-
src/mainboard/google/veyron_romy/mainboard.c | 2 +-
src/mainboard/google/veyron_romy/reset.c | 2 +-
src/mainboard/google/veyron_romy/sdram_configs.c | 2 +-
src/soc/broadcom/cygnus/include/soc/gpio.h | 4 +---
src/soc/imgtec/pistachio/include/soc/gpio.h | 25 ----------------------
src/soc/intel/skylake/include/soc/gpio.h | 3 +--
src/soc/marvell/bg4cd/include/soc/gpio.h | 8 -------
src/soc/nvidia/tegra/gpio.c | 2 +-
src/soc/nvidia/tegra/gpio.h | 3 +--
src/soc/qualcomm/ipq806x/include/soc/gpio.h | 3 +--
35 files changed, 39 insertions(+), 73 deletions(-)
diff --git a/src/include/gpio.h b/src/include/gpio.h
index 8cbf6ad..69ab389 100644
--- a/src/include/gpio.h
+++ b/src/include/gpio.h
@@ -20,11 +20,15 @@
#ifndef __SRC_INCLUDE_GPIO_H__
#define __SRC_INCLUDE_GPIO_H__
-#include <soc/gpio.h>
#include <types.h>
-/* <soc/gpio.h> must typedef a gpio_t that fits in 32 bits. */
-_Static_assert(sizeof(gpio_t) <= sizeof(u32), "gpio_t doesn't fit in lb_gpio");
+/*
+ * This is an opaque type that diferent implementations may use in different
+ * manners. How GPIO or PAD information is encoded in this field is up to the
+ * implementation, but the total size must be restricted to 32-bits. The 32-bit
+ * restriction is here, since this field gets added to the coreboot table.
+ */
+typedef uint32_t gpio_t;
/* The following functions must be implemented by SoC/board code. */
int gpio_get(gpio_t gpio);
diff --git a/src/mainboard/google/foster/chromeos.c b/src/mainboard/google/foster/chromeos.c
index 83dd652..0684431 100644
--- a/src/mainboard/google/foster/chromeos.c
+++ b/src/mainboard/google/foster/chromeos.c
@@ -22,7 +22,7 @@
#include <console/console.h>
#include <ec/google/chromeec/ec.h>
#include <ec/google/chromeec/ec_commands.h>
-#include <gpio.h>
+#include <soc/gpio.h>
#include <string.h>
#include <vendorcode/google/chromeos/chromeos.h>
diff --git a/src/mainboard/google/foster/reset.c b/src/mainboard/google/foster/reset.c
index 0c44a64..b548e46 100644
--- a/src/mainboard/google/foster/reset.c
+++ b/src/mainboard/google/foster/reset.c
@@ -19,7 +19,7 @@
*/
#include <arch/io.h>
-#include <gpio.h>
+#include <soc/gpio.h>
#include <reset.h>
void hard_reset(void)
diff --git a/src/mainboard/google/veyron_brain/sdram_configs.c b/src/mainboard/google/veyron_brain/sdram_configs.c
index 023eb37..173f879 100644
--- a/src/mainboard/google/veyron_brain/sdram_configs.c
+++ b/src/mainboard/google/veyron_brain/sdram_configs.c
@@ -19,7 +19,7 @@
#include <arch/io.h>
#include <boardid.h>
#include <console/console.h>
-#include <gpio.h>
+#include <soc/gpio.h>
#include <soc/sdram.h>
#include <string.h>
#include <types.h>
diff --git a/src/mainboard/google/veyron_danger/board.h b/src/mainboard/google/veyron_danger/board.h
index aa703c2..257851d 100644
--- a/src/mainboard/google/veyron_danger/board.h
+++ b/src/mainboard/google/veyron_danger/board.h
@@ -21,7 +21,7 @@
#define __MAINBOARD_GOOGLE_VEYRON_DANGER_BOARD_H
#include <boardid.h>
-#include <gpio.h>
+#include <soc/gpio.h>
#define GPIO_BACKLIGHT GPIO(7, A, 3)
#define GPIO_RESET GPIO(0, B, 5)
diff --git a/src/mainboard/google/veyron_danger/boardid.c b/src/mainboard/google/veyron_danger/boardid.c
index d9a4c85..316b827 100644
--- a/src/mainboard/google/veyron_danger/boardid.c
+++ b/src/mainboard/google/veyron_danger/boardid.c
@@ -19,7 +19,7 @@
#include <boardid.h>
#include <console/console.h>
-#include <gpio.h>
+#include <soc/gpio.h>
#include <stdlib.h>
uint8_t board_id(void)
diff --git a/src/mainboard/google/veyron_danger/chromeos.c b/src/mainboard/google/veyron_danger/chromeos.c
index 62bc1a4..f4218c3 100644
--- a/src/mainboard/google/veyron_danger/chromeos.c
+++ b/src/mainboard/google/veyron_danger/chromeos.c
@@ -19,7 +19,7 @@
#include <boot/coreboot_tables.h>
#include <console/console.h>
-#include <gpio.h>
+#include <soc/gpio.h>
#include <string.h>
#include <vendorcode/google/chromeos/chromeos.h>
diff --git a/src/mainboard/google/veyron_danger/mainboard.c b/src/mainboard/google/veyron_danger/mainboard.c
index f105d36..e6cc6d8 100644
--- a/src/mainboard/google/veyron_danger/mainboard.c
+++ b/src/mainboard/google/veyron_danger/mainboard.c
@@ -26,7 +26,7 @@
#include <device/i2c.h>
#include <edid.h>
#include <elog.h>
-#include <gpio.h>
+#include <soc/gpio.h>
#include <soc/display.h>
#include <soc/grf.h>
#include <soc/soc.h>
diff --git a/src/mainboard/google/veyron_danger/reset.c b/src/mainboard/google/veyron_danger/reset.c
index bc26ece..bb211d1 100644
--- a/src/mainboard/google/veyron_danger/reset.c
+++ b/src/mainboard/google/veyron_danger/reset.c
@@ -18,7 +18,7 @@
*/
#include <arch/io.h>
-#include <gpio.h>
+#include <soc/gpio.h>
#include <reset.h>
#include "board.h"
diff --git a/src/mainboard/google/veyron_danger/sdram_configs.c b/src/mainboard/google/veyron_danger/sdram_configs.c
index 84ceba5..850c775 100644
--- a/src/mainboard/google/veyron_danger/sdram_configs.c
+++ b/src/mainboard/google/veyron_danger/sdram_configs.c
@@ -19,7 +19,7 @@
#include <arch/io.h>
#include <boardid.h>
#include <console/console.h>
-#include <gpio.h>
+#include <soc/gpio.h>
#include <soc/sdram.h>
#include <string.h>
#include <types.h>
diff --git a/src/mainboard/google/veyron_mickey/board.h b/src/mainboard/google/veyron_mickey/board.h
index 98ffce0..650fa3d 100644
--- a/src/mainboard/google/veyron_mickey/board.h
+++ b/src/mainboard/google/veyron_mickey/board.h
@@ -21,7 +21,7 @@
#define __MAINBOARD_GOOGLE_VEYRON_MICKEY_BOARD_H
#include <boardid.h>
-#include <gpio.h>
+#include <soc/gpio.h>
#define GPIO_RESET GPIO(0, B, 5)
diff --git a/src/mainboard/google/veyron_mickey/boardid.c b/src/mainboard/google/veyron_mickey/boardid.c
index f7cddcc..7c5b6ce 100644
--- a/src/mainboard/google/veyron_mickey/boardid.c
+++ b/src/mainboard/google/veyron_mickey/boardid.c
@@ -19,7 +19,7 @@
#include <boardid.h>
#include <console/console.h>
-#include <gpio.h>
+#include <soc/gpio.h>
#include <stdlib.h>
uint8_t board_id(void)
diff --git a/src/mainboard/google/veyron_mickey/chromeos.c b/src/mainboard/google/veyron_mickey/chromeos.c
index 2222c0e..1e38959 100644
--- a/src/mainboard/google/veyron_mickey/chromeos.c
+++ b/src/mainboard/google/veyron_mickey/chromeos.c
@@ -19,7 +19,7 @@
#include <boot/coreboot_tables.h>
#include <console/console.h>
-#include <gpio.h>
+#include <soc/gpio.h>
#include <string.h>
#include <vendorcode/google/chromeos/chromeos.h>
diff --git a/src/mainboard/google/veyron_mickey/mainboard.c b/src/mainboard/google/veyron_mickey/mainboard.c
index 17e4d4b..377b6e4 100644
--- a/src/mainboard/google/veyron_mickey/mainboard.c
+++ b/src/mainboard/google/veyron_mickey/mainboard.c
@@ -26,7 +26,7 @@
#include <device/i2c.h>
#include <edid.h>
#include <elog.h>
-#include <gpio.h>
+#include <soc/gpio.h>
#include <soc/display.h>
#include <soc/grf.h>
#include <soc/soc.h>
diff --git a/src/mainboard/google/veyron_mickey/reset.c b/src/mainboard/google/veyron_mickey/reset.c
index bc26ece..bb211d1 100644
--- a/src/mainboard/google/veyron_mickey/reset.c
+++ b/src/mainboard/google/veyron_mickey/reset.c
@@ -18,7 +18,7 @@
*/
#include <arch/io.h>
-#include <gpio.h>
+#include <soc/gpio.h>
#include <reset.h>
#include "board.h"
diff --git a/src/mainboard/google/veyron_mickey/sdram_configs.c b/src/mainboard/google/veyron_mickey/sdram_configs.c
index 023eb37..173f879 100644
--- a/src/mainboard/google/veyron_mickey/sdram_configs.c
+++ b/src/mainboard/google/veyron_mickey/sdram_configs.c
@@ -19,7 +19,7 @@
#include <arch/io.h>
#include <boardid.h>
#include <console/console.h>
-#include <gpio.h>
+#include <soc/gpio.h>
#include <soc/sdram.h>
#include <string.h>
#include <types.h>
diff --git a/src/mainboard/google/veyron_rialto/board.h b/src/mainboard/google/veyron_rialto/board.h
index 5fd45db..8ce165e 100644
--- a/src/mainboard/google/veyron_rialto/board.h
+++ b/src/mainboard/google/veyron_rialto/board.h
@@ -21,7 +21,7 @@
#define __MAINBOARD_GOOGLE_VEYRON_RIALTO_BOARD_H
#include <boardid.h>
-#include <gpio.h>
+#include <soc/gpio.h>
#define GPIO_RESET GPIO(0, B, 5)
diff --git a/src/mainboard/google/veyron_rialto/boardid.c b/src/mainboard/google/veyron_rialto/boardid.c
index f7cddcc..7c5b6ce 100644
--- a/src/mainboard/google/veyron_rialto/boardid.c
+++ b/src/mainboard/google/veyron_rialto/boardid.c
@@ -19,7 +19,7 @@
#include <boardid.h>
#include <console/console.h>
-#include <gpio.h>
+#include <soc/gpio.h>
#include <stdlib.h>
uint8_t board_id(void)
diff --git a/src/mainboard/google/veyron_rialto/chromeos.c b/src/mainboard/google/veyron_rialto/chromeos.c
index 267c935..aabd098 100644
--- a/src/mainboard/google/veyron_rialto/chromeos.c
+++ b/src/mainboard/google/veyron_rialto/chromeos.c
@@ -19,7 +19,7 @@
#include <boot/coreboot_tables.h>
#include <console/console.h>
-#include <gpio.h>
+#include <soc/gpio.h>
#include <string.h>
#include <vendorcode/google/chromeos/chromeos.h>
diff --git a/src/mainboard/google/veyron_rialto/mainboard.c b/src/mainboard/google/veyron_rialto/mainboard.c
index c2dde19..5f7c270 100644
--- a/src/mainboard/google/veyron_rialto/mainboard.c
+++ b/src/mainboard/google/veyron_rialto/mainboard.c
@@ -26,7 +26,7 @@
#include <device/i2c.h>
#include <edid.h>
#include <elog.h>
-#include <gpio.h>
+#include <soc/gpio.h>
#include <soc/display.h>
#include <soc/grf.h>
#include <soc/soc.h>
diff --git a/src/mainboard/google/veyron_rialto/reset.c b/src/mainboard/google/veyron_rialto/reset.c
index f358608..3af93a3 100644
--- a/src/mainboard/google/veyron_rialto/reset.c
+++ b/src/mainboard/google/veyron_rialto/reset.c
@@ -18,7 +18,7 @@
*/
#include <arch/io.h>
-#include <gpio.h>
+#include <soc/gpio.h>
#include <reset.h>
#include "board.h"
diff --git a/src/mainboard/google/veyron_rialto/sdram_configs.c b/src/mainboard/google/veyron_rialto/sdram_configs.c
index 3213ff7..50f73f4 100644
--- a/src/mainboard/google/veyron_rialto/sdram_configs.c
+++ b/src/mainboard/google/veyron_rialto/sdram_configs.c
@@ -19,7 +19,7 @@
#include <arch/io.h>
#include <boardid.h>
#include <console/console.h>
-#include <gpio.h>
+#include <soc/gpio.h>
#include <soc/sdram.h>
#include <string.h>
#include <types.h>
diff --git a/src/mainboard/google/veyron_romy/board.h b/src/mainboard/google/veyron_romy/board.h
index 631e3a0..3141240 100644
--- a/src/mainboard/google/veyron_romy/board.h
+++ b/src/mainboard/google/veyron_romy/board.h
@@ -21,7 +21,7 @@
#define __MAINBOARD_GOOGLE_VEYRON_ROMY_BOARD_H
#include <boardid.h>
-#include <gpio.h>
+#include <soc/gpio.h>
#define GPIO_RESET GPIO(0, B, 5)
diff --git a/src/mainboard/google/veyron_romy/boardid.c b/src/mainboard/google/veyron_romy/boardid.c
index f7cddcc..7c5b6ce 100644
--- a/src/mainboard/google/veyron_romy/boardid.c
+++ b/src/mainboard/google/veyron_romy/boardid.c
@@ -19,7 +19,7 @@
#include <boardid.h>
#include <console/console.h>
-#include <gpio.h>
+#include <soc/gpio.h>
#include <stdlib.h>
uint8_t board_id(void)
diff --git a/src/mainboard/google/veyron_romy/chromeos.c b/src/mainboard/google/veyron_romy/chromeos.c
index 7eed42e..5a435a8 100644
--- a/src/mainboard/google/veyron_romy/chromeos.c
+++ b/src/mainboard/google/veyron_romy/chromeos.c
@@ -19,7 +19,7 @@
#include <boot/coreboot_tables.h>
#include <console/console.h>
-#include <gpio.h>
+#include <soc/gpio.h>
#include <string.h>
#include <vendorcode/google/chromeos/chromeos.h>
diff --git a/src/mainboard/google/veyron_romy/mainboard.c b/src/mainboard/google/veyron_romy/mainboard.c
index 3c7da54..aedb906 100644
--- a/src/mainboard/google/veyron_romy/mainboard.c
+++ b/src/mainboard/google/veyron_romy/mainboard.c
@@ -26,7 +26,7 @@
#include <device/i2c.h>
#include <edid.h>
#include <elog.h>
-#include <gpio.h>
+#include <soc/gpio.h>
#include <soc/display.h>
#include <soc/grf.h>
#include <soc/soc.h>
diff --git a/src/mainboard/google/veyron_romy/reset.c b/src/mainboard/google/veyron_romy/reset.c
index bc26ece..bb211d1 100644
--- a/src/mainboard/google/veyron_romy/reset.c
+++ b/src/mainboard/google/veyron_romy/reset.c
@@ -18,7 +18,7 @@
*/
#include <arch/io.h>
-#include <gpio.h>
+#include <soc/gpio.h>
#include <reset.h>
#include "board.h"
diff --git a/src/mainboard/google/veyron_romy/sdram_configs.c b/src/mainboard/google/veyron_romy/sdram_configs.c
index 023eb37..173f879 100644
--- a/src/mainboard/google/veyron_romy/sdram_configs.c
+++ b/src/mainboard/google/veyron_romy/sdram_configs.c
@@ -19,7 +19,7 @@
#include <arch/io.h>
#include <boardid.h>
#include <console/console.h>
-#include <gpio.h>
+#include <soc/gpio.h>
#include <soc/sdram.h>
#include <string.h>
#include <types.h>
diff --git a/src/soc/broadcom/cygnus/include/soc/gpio.h b/src/soc/broadcom/cygnus/include/soc/gpio.h
index 69f06ce..1b5a6d2 100644
--- a/src/soc/broadcom/cygnus/include/soc/gpio.h
+++ b/src/soc/broadcom/cygnus/include/soc/gpio.h
@@ -14,6 +14,7 @@
#ifndef __SOC_BROADCOM_CYGNUS_GPIO_H__
#define __SOC_BROADCOM_CYGNUS_GPIO_H__
+#include <gpio.h>
#include <types.h>
#define ENOTSUPP 524 /* Operation is not supported */
@@ -25,9 +26,6 @@ enum iproc_gpio_types {
IPROC_GPIO_ASIU_ID
};
-typedef u32 gpio_t;
-
-
void *cygnus_pinmux_init(void);
int cygnus_gpio_request_enable(void *priv, unsigned pin);
void cygnus_gpio_disable_free(void *priv, unsigned pin);
diff --git a/src/soc/imgtec/pistachio/include/soc/gpio.h b/src/soc/imgtec/pistachio/include/soc/gpio.h
deleted file mode 100644
index 2633711..0000000
--- a/src/soc/imgtec/pistachio/include/soc/gpio.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * This file is part of the coreboot project.
- *
- * Copyright 2014 Google Inc.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc.
- */
-
-#ifndef __SOC_IMGTECH_PISTACHIO_GPIO_H__
-#define __SOC_IMGTECH_PISTACHIO_GPIO_H__
-
-typedef unsigned gpio_t;
-
-#endif // __SOC_IMGTECH_PISTACHIO_GPIO_H__
diff --git a/src/soc/intel/skylake/include/soc/gpio.h b/src/soc/intel/skylake/include/soc/gpio.h
index 84d2a70..11e22eb 100644
--- a/src/soc/intel/skylake/include/soc/gpio.h
+++ b/src/soc/intel/skylake/include/soc/gpio.h
@@ -24,11 +24,10 @@
#include <soc/gpio_defs.h>
#ifndef __ACPI__
+#include <gpio.h>
#include <stdint.h>
#include <stddef.h>
-typedef uint32_t gpio_t;
-
/* Structure to represent GPI status for GPE and SMI. Use helper
* functions for interrogating particular GPIs. */
struct gpi_status {
diff --git a/src/soc/marvell/bg4cd/include/soc/gpio.h b/src/soc/marvell/bg4cd/include/soc/gpio.h
deleted file mode 100644
index 86882c7..0000000
--- a/src/soc/marvell/bg4cd/include/soc/gpio.h
+++ /dev/null
@@ -1,8 +0,0 @@
-#ifndef __SOC_MARVELL_BG4CD_GPIO_H__
-#define __SOC_MARVELL_BG4CD_GPIO_H__
-
-#include <types.h>
-
-typedef u32 gpio_t;
-
-#endif /* __SOC_MARVELL_BG4CD_GPIO_H__ */
diff --git a/src/soc/nvidia/tegra/gpio.c b/src/soc/nvidia/tegra/gpio.c
index af263a2..b5a08c9 100644
--- a/src/soc/nvidia/tegra/gpio.c
+++ b/src/soc/nvidia/tegra/gpio.c
@@ -19,7 +19,7 @@
#include <arch/io.h>
#include <console/console.h>
-#include <gpio.h>
+#include <soc/gpio.h>
#include <soc/addressmap.h>
#include <stddef.h>
#include <stdint.h>
diff --git a/src/soc/nvidia/tegra/gpio.h b/src/soc/nvidia/tegra/gpio.h
index 728a597..a5722e3 100644
--- a/src/soc/nvidia/tegra/gpio.h
+++ b/src/soc/nvidia/tegra/gpio.h
@@ -20,12 +20,11 @@
#ifndef __SOC_NVIDIA_TEGRA_GPIO_H__
#define __SOC_NVIDIA_TEGRA_GPIO_H__
+#include <gpio.h>
#include <stdint.h>
#include "pinmux.h"
-typedef u32 gpio_t;
-
#define GPIO_PINMUX_SHIFT 16
#define GPIO(name) ((gpio_t)(GPIO_##name##_INDEX | \
(PINMUX_GPIO_##name << GPIO_PINMUX_SHIFT)))
diff --git a/src/soc/qualcomm/ipq806x/include/soc/gpio.h b/src/soc/qualcomm/ipq806x/include/soc/gpio.h
index 3542991..419a859 100644
--- a/src/soc/qualcomm/ipq806x/include/soc/gpio.h
+++ b/src/soc/qualcomm/ipq806x/include/soc/gpio.h
@@ -33,6 +33,7 @@
#ifndef __SOC_QUALCOMM_IPQ806X_GPIO_H_
#define __SOC_QUALCOMM_IPQ806X_GPIO_H_
+#include <gpio.h>
#include <types.h>
#define GPIO_FUNC_ENABLE 1
@@ -90,8 +91,6 @@
#define GPIO_IO_IN_SHIFT 0
#define GPIO_IO_OUT_SHIFT 1
-typedef u32 gpio_t;
-
void gpio_tlmm_config_set(gpio_t gpio, unsigned int func,
unsigned int pull, unsigned int drvstr,
unsigned int enable);
More information about the coreboot-gerrit
mailing list