Hi Simon, On Tue, Jan 27, 2015 at 11:15 PM, Simon Glass <s...@chromium.org> wrote: > Hi Bin, > > On 27 January 2015 at 05:20, Bin Meng <bmeng...@gmail.com> wrote: >> Hi Simon, >> >> On Tue, Jan 27, 2015 at 9:23 AM, Simon Glass <s...@chromium.org> wrote: >>> Since these board functions seem to be the same for all boards which use >>> FSP, move them into a common file. We can adjust this later if future FSPs >>> need more flexibility. >>> >>> Signed-off-by: Simon Glass <s...@chromium.org> >>> --- >>> >>> arch/x86/cpu/queensbay/tnc.c | 27 ------------ >>> arch/x86/cpu/queensbay/tnc_pci.c | 15 ------- >>> arch/x86/cpu/queensbay/topcliff.c | 32 +------------- >>> arch/x86/include/asm/u-boot-x86.h | 17 ++++++++ >>> arch/x86/lib/fsp/Makefile | 1 + >>> arch/x86/lib/fsp/fsp_common.c | 88 >>> +++++++++++++++++++++++++++++++++++++++ >>> 6 files changed, 108 insertions(+), 72 deletions(-) >>> create mode 100644 arch/x86/lib/fsp/fsp_common.c >>> >>> diff --git a/arch/x86/cpu/queensbay/tnc.c b/arch/x86/cpu/queensbay/tnc.c >>> index f9b3bfa..30ab725 100644 >>> --- a/arch/x86/cpu/queensbay/tnc.c >>> +++ b/arch/x86/cpu/queensbay/tnc.c >>> @@ -43,30 +43,3 @@ int arch_cpu_init(void) >>> >>> return 0; >>> } >>> - >>> -int print_cpuinfo(void) >>> -{ >>> - post_code(POST_CPU_INFO); >>> - return default_print_cpuinfo(); >>> -} >>> - >>> -void reset_cpu(ulong addr) >>> -{ >>> - /* cold reset */ >>> - outb(0x06, PORT_RESET); >>> -} >>> - >>> -void board_final_cleanup(void) >>> -{ >>> - u32 status; >>> - >>> - /* call into FspNotify */ >>> - debug("Calling into FSP (notify phase INIT_PHASE_BOOT): "); >>> - status = fsp_notify(NULL, INIT_PHASE_BOOT); >>> - if (status != FSP_SUCCESS) >>> - debug("fail, error code %x\n", status); >>> - else >>> - debug("OK\n"); >>> - >>> - return; >>> -} >>> diff --git a/arch/x86/cpu/queensbay/tnc_pci.c >>> b/arch/x86/cpu/queensbay/tnc_pci.c >>> index 9b0b725..6c291f9 100644 >>> --- a/arch/x86/cpu/queensbay/tnc_pci.c >>> +++ b/arch/x86/cpu/queensbay/tnc_pci.c >>> @@ -44,18 +44,3 @@ void board_pci_setup_hose(struct pci_controller *hose) >>> >>> hose->region_count = 4; >>> } >>> - >>> -int board_pci_post_scan(struct pci_controller *hose) >>> -{ >>> - u32 status; >>> - >>> - /* call into FspNotify */ >>> - debug("Calling into FSP (notify phase INIT_PHASE_PCI): "); >>> - status = fsp_notify(NULL, INIT_PHASE_PCI); >>> - if (status != FSP_SUCCESS) >>> - debug("fail, error code %x\n", status); >>> - else >>> - debug("OK\n"); >>> - >>> - return 0; >>> -} >>> diff --git a/arch/x86/cpu/queensbay/topcliff.c >>> b/arch/x86/cpu/queensbay/topcliff.c >>> index b01422a..25032cc 100644 >>> --- a/arch/x86/cpu/queensbay/topcliff.c >>> +++ b/arch/x86/cpu/queensbay/topcliff.c >>> @@ -5,43 +5,15 @@ >>> */ >>> >>> #include <common.h> >>> -#include <errno.h> >>> -#include <malloc.h> >>> -#include <pci.h> >>> #include <pci_ids.h> >>> -#include <sdhci.h> >>> >>> static struct pci_device_id mmc_supported[] = { >>> { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_TCF_SDIO_0 }, >>> { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_TCF_SDIO_1 }, >>> - { } >>> }; >>> >>> int cpu_mmc_init(bd_t *bis) >>> { >>> - struct sdhci_host *mmc_host; >>> - pci_dev_t devbusfn; >>> - u32 iobase; >>> - int ret; >>> - int i; >>> - >>> - for (i = 0; i < ARRAY_SIZE(mmc_supported); i++) { >>> - devbusfn = pci_find_devices(mmc_supported, i); >>> - if (devbusfn == -1) >>> - return -ENODEV; >>> - >>> - mmc_host = (struct sdhci_host *)malloc(sizeof(struct >>> sdhci_host)); >>> - if (!mmc_host) >>> - return -ENOMEM; >>> - >>> - mmc_host->name = "Topcliff SDHCI"; >>> - pci_read_config_dword(devbusfn, PCI_BASE_ADDRESS_0, >>> &iobase); >>> - mmc_host->ioaddr = (void *)iobase; >>> - mmc_host->quirks = 0; >>> - ret = add_sdhci(mmc_host, 0, 0); >>> - if (ret) >>> - return ret; >>> - } >>> - >>> - return 0; >>> + return fsp_cpu_mmc_init("Topcliff SDHCI", mmc_supported, >>> + ARRAY_SIZE(mmc_supported)); >>> } >> >> I don't think this function should be moved to fsp_common.c as it has >> nothing related to FSP. We can move this whole function to >> drivers/mmc/, something like intel_mmc.c or intel_sdhc.c. > > How about pci_mmc.c if it is generic to PCI? >
Sounds good. [snip] Regards, Bin _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot