aboutsummaryrefslogtreecommitdiff
path: root/src/mainboard/lenovo/x200
diff options
context:
space:
mode:
authorBill XIE <persmule@hardenedlinux.org>2019-10-28 00:16:05 +0800
committerPatrick Georgi <pgeorgi@google.com>2019-11-12 08:26:42 +0000
commit72f13e534bed0be4a3bc0999dc2fe772c322114f (patch)
tree0e5978ba8d6d6d2f5d60f20b32f5d4f764b3ebc1 /src/mainboard/lenovo/x200
parent9764bc126ea8718cdc723714d8355e51e71aa65f (diff)
ec/lenovo/h8: Make dock init in ramstage fully mainboard-specific
Discussed in CB:36093, in the past many lenovo boards need to declare an empty h8_mainboard_init_dock() to satisfy h8.c. Now the confusing H8_DOCK_EARLY_INIT might be retired, and if a mainboard needs dock init (done with h8_mainboard_init_dock() in the past) in ramstage, (discussed in CB:4294 where H8_DOCK_EARLY_INIT is introduced) it can just do it in its own chip_ops.enable_dev function. Tested on X200. Testing on other affected targets may be necessary. Change-Id: I5737406d1f6cb6e91b2e2fa349a206a3dba988d1 Signed-off-by: Bill XIE <persmule@hardenedlinux.org> Reviewed-on: https://review.coreboot.org/c/coreboot/+/36385 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
Diffstat (limited to 'src/mainboard/lenovo/x200')
-rw-r--r--src/mainboard/lenovo/x200/Makefile.inc2
-rw-r--r--src/mainboard/lenovo/x200/dock.h2
-rw-r--r--src/mainboard/lenovo/x200/mainboard.c3
-rw-r--r--src/mainboard/lenovo/x200/variants/x200/dock.c2
-rw-r--r--src/mainboard/lenovo/x200/variants/x301/dock.c22
5 files changed, 6 insertions, 25 deletions
diff --git a/src/mainboard/lenovo/x200/Makefile.inc b/src/mainboard/lenovo/x200/Makefile.inc
index f6c2c0c074..7e38a78b4c 100644
--- a/src/mainboard/lenovo/x200/Makefile.inc
+++ b/src/mainboard/lenovo/x200/Makefile.inc
@@ -13,7 +13,7 @@
## GNU General Public License for more details.
##
-ramstage-y += variants/$(VARIANT_DIR)/dock.c
+ramstage-$(CONFIG_BOARD_LENOVO_X200) += variants/$(VARIANT_DIR)/dock.c
ramstage-y += cstates.c
ramstage-y += blc.c
romstage-y += variants/$(VARIANT_DIR)/gpio.c
diff --git a/src/mainboard/lenovo/x200/dock.h b/src/mainboard/lenovo/x200/dock.h
index 56f3fe0f7a..a129cd04a3 100644
--- a/src/mainboard/lenovo/x200/dock.h
+++ b/src/mainboard/lenovo/x200/dock.h
@@ -15,7 +15,7 @@
#ifndef THINKPAD_X200_DOCK_H
#define THINKPAD_X200_DOCK_H
-
+void init_dock(void);
void dock_connect(void);
void dock_disconnect(void);
int dock_present(void);
diff --git a/src/mainboard/lenovo/x200/mainboard.c b/src/mainboard/lenovo/x200/mainboard.c
index 1510ab7b17..37fe865e81 100644
--- a/src/mainboard/lenovo/x200/mainboard.c
+++ b/src/mainboard/lenovo/x200/mainboard.c
@@ -16,6 +16,7 @@
#include <device/device.h>
#include <drivers/intel/gma/int15.h>
#include <drivers/lenovo/lenovo.h>
+#include "dock.h"
static void fill_ssdt(struct device *device)
{
@@ -29,6 +30,8 @@ static void mainboard_enable(struct device *dev)
GMA_INT15_BOOT_DISPLAY_DEFAULT, 2);
dev->ops->acpi_fill_ssdt_generator = fill_ssdt;
+ if (CONFIG(BOARD_LENOVO_X200))
+ init_dock();
}
struct chip_operations mainboard_ops = {
diff --git a/src/mainboard/lenovo/x200/variants/x200/dock.c b/src/mainboard/lenovo/x200/variants/x200/dock.c
index bdd65a564a..8aa39bbd6e 100644
--- a/src/mainboard/lenovo/x200/variants/x200/dock.c
+++ b/src/mainboard/lenovo/x200/variants/x200/dock.c
@@ -23,7 +23,7 @@
#include "../../dock.h"
-void h8_mainboard_init_dock(void)
+void init_dock(void)
{
if (dock_present()) {
printk(BIOS_DEBUG, "dock is connected\n");
diff --git a/src/mainboard/lenovo/x200/variants/x301/dock.c b/src/mainboard/lenovo/x200/variants/x301/dock.c
deleted file mode 100644
index f8a2dc4260..0000000000
--- a/src/mainboard/lenovo/x200/variants/x301/dock.c
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * This file is part of the coreboot project.
- *
- * Copyright (C) 2011 Sven Schnelle <svens@stackframe.org>
- * Copyright (C) 2013 Vladimir Serbinenko <phcoder@gmail.com>
- *
- * 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.
- */
-
-#include <ec/lenovo/h8/h8.h>
-
-void h8_mainboard_init_dock(void)
-{
-}