Re: [PATCH v2 18/21] x86: apl: Reduce size for TPL

2020-12-28 Thread Simon Glass
Update various drivers to use of_match_ptr() and to avoid including debug
strings in TPL. Omit the WiFi driver entirely, since it is not used in
TPL.

This reduces the TPL binary size by about 608 bytes.

Signed-off-by: Simon Glass 
---

(no changes since v1)

 arch/x86/cpu/apollolake/lpc.c| 13 -
 arch/x86/cpu/apollolake/pch.c|  4 +++-
 arch/x86/cpu/apollolake/pmc.c|  4 +++-
 arch/x86/cpu/apollolake/uart.c   |  4 +++-
 arch/x86/cpu/intel_common/Makefile   |  2 +-
 arch/x86/cpu/intel_common/itss.c |  4 +++-
 arch/x86/cpu/intel_common/p2sb.c |  4 +++-
 arch/x86/cpu/turbo.c |  5 +
 board/google/chromebook_coral/coral.c|  4 +++-
 drivers/gpio/intel_gpio.c|  4 +++-
 drivers/pinctrl/intel/pinctrl_apl.c  |  4 +++-
 drivers/power/acpi_pmc/acpi-pmc-uclass.c |  4 +++-
 drivers/timer/tsc_timer.c|  4 +++-
 13 files changed, 44 insertions(+), 16 deletions(-)

Applied to u-boot-dm/next, thanks!


[PATCH v2 18/21] x86: apl: Reduce size for TPL

2020-12-23 Thread Simon Glass
Update various drivers to use of_match_ptr() and to avoid including debug
strings in TPL. Omit the WiFi driver entirely, since it is not used in
TPL.

This reduces the TPL binary size by about 608 bytes.

Signed-off-by: Simon Glass 
---

(no changes since v1)

 arch/x86/cpu/apollolake/lpc.c| 13 -
 arch/x86/cpu/apollolake/pch.c|  4 +++-
 arch/x86/cpu/apollolake/pmc.c|  4 +++-
 arch/x86/cpu/apollolake/uart.c   |  4 +++-
 arch/x86/cpu/intel_common/Makefile   |  2 +-
 arch/x86/cpu/intel_common/itss.c |  4 +++-
 arch/x86/cpu/intel_common/p2sb.c |  4 +++-
 arch/x86/cpu/turbo.c |  5 +
 board/google/chromebook_coral/coral.c|  4 +++-
 drivers/gpio/intel_gpio.c|  4 +++-
 drivers/pinctrl/intel/pinctrl_apl.c  |  4 +++-
 drivers/power/acpi_pmc/acpi-pmc-uclass.c |  4 +++-
 drivers/timer/tsc_timer.c|  4 +++-
 13 files changed, 44 insertions(+), 16 deletions(-)

diff --git a/arch/x86/cpu/apollolake/lpc.c b/arch/x86/cpu/apollolake/lpc.c
index d8e05f6a8f4..e085890d638 100644
--- a/arch/x86/cpu/apollolake/lpc.c
+++ b/arch/x86/cpu/apollolake/lpc.c
@@ -81,10 +81,11 @@ int lpc_open_pmio_window(uint base, uint size)
 
lgir_reg_num = find_unused_pmio_window();
if (lgir_reg_num < 0) {
-   log_err("LPC: Cannot open IO window: %lx size %lx\n",
-   bridge_base, size - bridged_size);
-   log_err("No more IO windows\n");
-
+   if (spl_phase() > PHASE_TPL) {
+   log_err("LPC: Cannot open IO window: %lx size 
%lx\n",
+   bridge_base, size - bridged_size);
+   log_err("No more IO windows\n");
+   }
return -ENOSPC;
}
lgir_reg_offset = LPC_GENERIC_IO_RANGE(lgir_reg_num);
@@ -127,15 +128,17 @@ struct acpi_ops apl_lpc_acpi_ops = {
.inject_dsdt= southbridge_inject_dsdt,
 };
 
+#if !CONFIG_IS_ENABLED(OF_PLATDATA)
 static const struct udevice_id apl_lpc_ids[] = {
{ .compatible = "intel,apl-lpc" },
{ }
 };
+#endif
 
 /* All pads are LPC already configured by the hostbridge, so no probing here */
 U_BOOT_DRIVER(intel_apl_lpc) = {
.name   = "intel_apl_lpc",
.id = UCLASS_LPC,
-   .of_match   = apl_lpc_ids,
+   .of_match   = of_match_ptr(apl_lpc_ids),
ACPI_OPS_PTR(_lpc_acpi_ops)
 };
diff --git a/arch/x86/cpu/apollolake/pch.c b/arch/x86/cpu/apollolake/pch.c
index d9832ff2496..39d6ad5ed49 100644
--- a/arch/x86/cpu/apollolake/pch.c
+++ b/arch/x86/cpu/apollolake/pch.c
@@ -23,14 +23,16 @@ static const struct pch_ops apl_pch_ops = {
.set_spi_protect = apl_set_spi_protect,
 };
 
+#if !CONFIG_IS_ENABLED(OF_PLATDATA)
 static const struct udevice_id apl_pch_ids[] = {
{ .compatible = "intel,apl-pch" },
{ }
 };
+#endif
 
 U_BOOT_DRIVER(intel_apl_pch) = {
.name   = "intel_apl_pch",
.id = UCLASS_PCH,
-   .of_match   = apl_pch_ids,
+   .of_match   = of_match_ptr(apl_pch_ids),
.ops= _pch_ops,
 };
diff --git a/arch/x86/cpu/apollolake/pmc.c b/arch/x86/cpu/apollolake/pmc.c
index c40065ab8cf..e033baf1205 100644
--- a/arch/x86/cpu/apollolake/pmc.c
+++ b/arch/x86/cpu/apollolake/pmc.c
@@ -212,15 +212,17 @@ static const struct acpi_pmc_ops apl_pmc_ops = {
.global_reset_set_enable = apl_global_reset_set_enable,
 };
 
+#if !CONFIG_IS_ENABLED(OF_PLATDATA)
 static const struct udevice_id apl_pmc_ids[] = {
{ .compatible = "intel,apl-pmc" },
{ }
 };
+#endif
 
 U_BOOT_DRIVER(intel_apl_pmc) = {
.name   = "intel_apl_pmc",
.id = UCLASS_ACPI_PMC,
-   .of_match   = apl_pmc_ids,
+   .of_match   = of_match_ptr(apl_pmc_ids),
.of_to_plat = apl_pmc_ofdata_to_uc_plat,
.probe  = apl_pmc_probe,
.ops= _pmc_ops,
diff --git a/arch/x86/cpu/apollolake/uart.c b/arch/x86/cpu/apollolake/uart.c
index e523d85b1b4..69e5899235b 100644
--- a/arch/x86/cpu/apollolake/uart.c
+++ b/arch/x86/cpu/apollolake/uart.c
@@ -118,15 +118,17 @@ static int apl_ns16550_of_to_plat(struct udevice *dev)
return 0;
 }
 
+#if !CONFIG_IS_ENABLED(OF_PLATDATA)
 static const struct udevice_id apl_ns16550_serial_ids[] = {
{ .compatible = "intel,apl-ns16550" },
{ },
 };
+#endif
 
 U_BOOT_DRIVER(intel_apl_ns16550) = {
.name   = "intel_apl_ns16550",
.id = UCLASS_SERIAL,
-   .of_match = apl_ns16550_serial_ids,
+   .of_match = of_match_ptr(apl_ns16550_serial_ids),
.plat_auto  = sizeof(struct ns16550_plat),
.priv_auto  = sizeof(struct ns16550),
.ops= _serial_ops,
diff --git a/arch/x86/cpu/intel_common/Makefile