mb/lenovo/x200: Fix boot-time docking state
The X200 would undock itself when waking up from S3, requiring a
physical reconnection before the dock would work again.
Similar to 4611ad8
, this reintroduces h8_mb_init() for the X200. A hook
function h8_mb_init() will be called at the end of h8_enable(), in place
of the ancient h8_mainboard_init_dock().
This should fix the regression the X201 and T410 also suffered from for
the X200.
Change-Id: Icb6dd145e56b90e0e04133810c5e9ac7b641ad68
Signed-off-by: Kevin Keijzer <kevin@quietlife.nl>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/51123
Reviewed-by: Alexander Couzens <lynxis@fe80.eu>
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-by: Nico Huber <nico.h@gmx.de>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
parent
da12ca98c9
commit
51b1b2a0c4
|
@ -17,8 +17,6 @@ static void mainboard_enable(struct device *dev)
|
||||||
GMA_INT15_BOOT_DISPLAY_DEFAULT, 2);
|
GMA_INT15_BOOT_DISPLAY_DEFAULT, 2);
|
||||||
|
|
||||||
dev->ops->acpi_fill_ssdt = fill_ssdt;
|
dev->ops->acpi_fill_ssdt = fill_ssdt;
|
||||||
if (CONFIG(BOARD_LENOVO_X200))
|
|
||||||
init_dock();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
struct chip_operations mainboard_ops = {
|
struct chip_operations mainboard_ops = {
|
||||||
|
|
|
@ -8,13 +8,14 @@
|
||||||
|
|
||||||
#include "../../dock.h"
|
#include "../../dock.h"
|
||||||
|
|
||||||
void init_dock(void)
|
void h8_mb_init(void)
|
||||||
{
|
{
|
||||||
if (dock_present()) {
|
if (dock_present()) {
|
||||||
printk(BIOS_DEBUG, "dock is connected\n");
|
printk(BIOS_DEBUG, "dock is connected\n");
|
||||||
dock_connect();
|
dock_connect();
|
||||||
} else
|
} else {
|
||||||
printk(BIOS_DEBUG, "dock is not connected\n");
|
printk(BIOS_DEBUG, "dock is not connected\n");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void dock_connect(void)
|
void dock_connect(void)
|
||||||
|
|
Loading…
Reference in New Issue