From 4e1907290720cac9c13422f1821a36254575fd73 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Sun, 17 Jan 2016 16:11:40 -0700 Subject: [PATCH] x86: ivybridge: Move LPC init into the LPC probe() method Drop the lpc_init_extra() function and just use the post-relocation LPC probe() instead. Signed-off-by: Simon Glass Reviewed-by: Bin Meng --- arch/x86/cpu/ivybridge/bd82x6x.c | 4 ---- arch/x86/cpu/ivybridge/lpc.c | 17 +++++++++-------- arch/x86/include/asm/arch-ivybridge/pch.h | 2 -- 3 files changed, 9 insertions(+), 14 deletions(-) diff --git a/arch/x86/cpu/ivybridge/bd82x6x.c b/arch/x86/cpu/ivybridge/bd82x6x.c index 9e7e30aa11..5cb41521e1 100644 --- a/arch/x86/cpu/ivybridge/bd82x6x.c +++ b/arch/x86/cpu/ivybridge/bd82x6x.c @@ -21,16 +21,12 @@ static int bd82x6x_probe(struct udevice *dev) { const void *blob = gd->fdt_blob; - struct pci_controller *hose; int gma_node; int ret; if (!(gd->flags & GD_FLG_RELOC)) return 0; - hose = pci_bus_to_hose(0); - lpc_init_extra(hose, PCH_LPC_DEV); - /* Cause the SATA device to do its init */ uclass_first_device(UCLASS_DISK, &dev); diff --git a/arch/x86/cpu/ivybridge/lpc.c b/arch/x86/cpu/ivybridge/lpc.c index 44c4825f13..79224d9388 100644 --- a/arch/x86/cpu/ivybridge/lpc.c +++ b/arch/x86/cpu/ivybridge/lpc.c @@ -538,7 +538,7 @@ static int lpc_early_init(struct udevice *dev) return 0; } -int lpc_init_extra(struct pci_controller *hose, pci_dev_t dev) +static int lpc_init_extra(struct pci_controller *hose, pci_dev_t dev) { const void *blob = gd->fdt_blob; int node; @@ -626,16 +626,17 @@ static int bd82x6x_lpc_probe(struct udevice *dev) { int ret; - if (gd->flags & GD_FLG_RELOC) - return 0; + if (!(gd->flags & GD_FLG_RELOC)) { + ret = lpc_early_init(dev); + if (ret) { + debug("%s: lpc_early_init() failed\n", __func__); + return ret; + } - ret = lpc_early_init(dev); - if (ret) { - debug("%s: lpc_early_init() failed\n", __func__); - return ret; + return bd82x6x_lpc_early_init(dev); } - return bd82x6x_lpc_early_init(dev); + return lpc_init_extra(pci_bus_to_hose(0), PCH_LPC_DEV); } static const struct udevice_id bd82x6x_lpc_ids[] = { diff --git a/arch/x86/include/asm/arch-ivybridge/pch.h b/arch/x86/include/asm/arch-ivybridge/pch.h index 682a557fbd..629a144816 100644 --- a/arch/x86/include/asm/arch-ivybridge/pch.h +++ b/arch/x86/include/asm/arch-ivybridge/pch.h @@ -470,6 +470,4 @@ void pch_iobp_update(u32 address, u32 andvalue, u32 orvalue); #define DMISCI_STS (1 << 9) #define TCO2_STS 0x66 -int lpc_init_extra(struct pci_controller *hose, pci_dev_t dev); - #endif -- 2.25.1