From: Simon Glass Date: Sun, 17 Jan 2016 23:11:40 +0000 (-0700) Subject: x86: ivybridge: Move LPC init into the LPC probe() method X-Git-Tag: v2016.03-rc1~98 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=4e1907290720cac9c13422f1821a36254575fd73;p=platform%2Fkernel%2Fu-boot.git 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 --- diff --git a/arch/x86/cpu/ivybridge/bd82x6x.c b/arch/x86/cpu/ivybridge/bd82x6x.c index 9e7e30a..5cb4152 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 44c4825..79224d9 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 682a557..629a144 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