x86: acpi: Export acpi_fill_mcfg() with __weak attribute
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Fri, 21 Jul 2017 19:32:05 +0000 (22:32 +0300)
committerBin Meng <bmeng.cn@gmail.com>
Sun, 30 Jul 2017 02:30:25 +0000 (10:30 +0800)
Some platforms might require different approach when filling memory
mappings configuration table.

Allow them to override the common method.

At the same time export acpi_create_mcfg_mmconfig().

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
arch/x86/include/asm/acpi_table.h
arch/x86/lib/acpi_table.c

index e177c441e7a3e00954f0762f46730228034cd35f..80038504ddb8a2388995f6a5a7883ccb50e3b9cd 100644 (file)
@@ -314,6 +314,9 @@ int acpi_create_madt_irqoverride(struct acpi_madt_irqoverride *irqoverride,
 int acpi_create_madt_lapic_nmi(struct acpi_madt_lapic_nmi *lapic_nmi,
                               u8 cpu, u16 flags, u8 lint);
 u32 acpi_fill_madt(u32 current);
+int acpi_create_mcfg_mmconfig(struct acpi_mcfg_mmconfig *mmconfig, u32 base,
+                             u16 seg_nr, u8 start, u8 end);
+u32 acpi_fill_mcfg(u32 current);
 void acpi_create_gnvs(struct acpi_global_nvs *gnvs);
 /**
  * enter_acpi_mode() - enter into ACPI mode
index 14d10c34cdf44fd06ffcdd446408d5664e9cbdbc..da6014fb415699dde4ee8cc4d5bba3893eaa22a5 100644 (file)
@@ -293,8 +293,8 @@ static void acpi_create_madt(struct acpi_madt *madt)
        header->checksum = table_compute_checksum((void *)madt, header->length);
 }
 
-static int acpi_create_mcfg_mmconfig(struct acpi_mcfg_mmconfig *mmconfig,
-                                    u32 base, u16 seg_nr, u8 start, u8 end)
+int acpi_create_mcfg_mmconfig(struct acpi_mcfg_mmconfig *mmconfig, u32 base,
+                             u16 seg_nr, u8 start, u8 end)
 {
        memset(mmconfig, 0, sizeof(*mmconfig));
        mmconfig->base_address_l = base;
@@ -306,7 +306,7 @@ static int acpi_create_mcfg_mmconfig(struct acpi_mcfg_mmconfig *mmconfig,
        return sizeof(struct acpi_mcfg_mmconfig);
 }
 
-static u32 acpi_fill_mcfg(u32 current)
+__weak u32 acpi_fill_mcfg(u32 current)
 {
        current += acpi_create_mcfg_mmconfig
                ((struct acpi_mcfg_mmconfig *)current,