[coreboot-gerrit] Change in coreboot[master]: arch/x86/acpigen: refactor calls to acpigen_write_register

Matt Delco (Code Review) gerrit at coreboot.org
Fri Jul 27 23:26:33 CEST 2018


Matt Delco has uploaded this change for review. ( https://review.coreboot.org/27672


Change subject: arch/x86/acpigen: refactor calls to acpigen_write_register
......................................................................

arch/x86/acpigen: refactor calls to acpigen_write_register

All of the callers to acpigen_write_register() also make calls to
acpigen_write_resourcetemplate_[header|footer](). This change introduces
acpigen_write_register_resource() to unify all of those trio of calls
into one.  I also made the input parameter const.

Change-Id: I10b336acf9f03c423bee9dc38955b1617e11c025
Signed-off-by: Matt Delco <delco at chromium.org>
---
M src/arch/x86/acpigen.c
M src/arch/x86/include/arch/acpigen.h
2 files changed, 12 insertions(+), 11 deletions(-)



  git pull ssh://review.coreboot.org:29418/coreboot refs/changes/72/27672/1

diff --git a/src/arch/x86/acpigen.c b/src/arch/x86/acpigen.c
index 732f749..a614efb 100644
--- a/src/arch/x86/acpigen.c
+++ b/src/arch/x86/acpigen.c
@@ -578,14 +578,10 @@
 	acpigen_write_package(2);
 
 	/* ControlRegister */
-	acpigen_write_resourcetemplate_header();
-	acpigen_write_register(&addr);
-	acpigen_write_resourcetemplate_footer();
+	acpigen_write_register_resource(&addr);
 
 	/* StatusRegister */
-	acpigen_write_resourcetemplate_header();
-	acpigen_write_register(&addr);
-	acpigen_write_resourcetemplate_footer();
+	acpigen_write_register_resource(&addr);
 
 	acpigen_pop_len();
 }
@@ -725,9 +721,7 @@
 void acpigen_write_CST_package_entry(acpi_cstate_t *cstate)
 {
 	acpigen_write_package(4);
-	acpigen_write_resourcetemplate_header();
-	acpigen_write_register(&cstate->resource);
-	acpigen_write_resourcetemplate_footer();
+	acpigen_write_register_resource(&cstate->resource);
 	acpigen_write_dword(cstate->ctype);
 	acpigen_write_dword(cstate->latency);
 	acpigen_write_dword(cstate->power);
@@ -827,7 +821,7 @@
 	acpigen_emit_dword(size);
 }
 
-void acpigen_write_register(acpi_addr_t *addr)
+static void acpigen_write_register(const acpi_addr_t *addr)
 {
 	acpigen_emit_byte(0x82);		/* Register Descriptor */
 	acpigen_emit_byte(0x0c);		/* Register Length 7:0 */
@@ -840,6 +834,13 @@
 	acpigen_emit_dword(addr->addrh);	/* Register Address High */
 }
 
+void acpigen_write_register_resource(const acpi_addr_t *addr)
+{
+	acpigen_write_resourcetemplate_header();
+	acpigen_write_register(addr);
+	acpigen_write_resourcetemplate_footer();
+}
+
 void acpigen_write_irq(u16 mask)
 {
 	/*
diff --git a/src/arch/x86/include/arch/acpigen.h b/src/arch/x86/include/arch/acpigen.h
index 52aa55b..042c797 100644
--- a/src/arch/x86/include/arch/acpigen.h
+++ b/src/arch/x86/include/arch/acpigen.h
@@ -228,7 +228,7 @@
 void acpigen_write_TSD_package(u32 domain, u32 numprocs, PSD_coord coordtype);
 void acpigen_write_mem32fixed(int readwrite, u32 base, u32 size);
 void acpigen_write_io16(u16 min, u16 max, u8 align, u8 len, u8 decode16);
-void acpigen_write_register(acpi_addr_t *addr);
+void acpigen_write_register_resource(const acpi_addr_t *addr);
 void acpigen_write_resourcetemplate_header(void);
 void acpigen_write_resourcetemplate_footer(void);
 void acpigen_write_mainboard_resource_template(void);

-- 
To view, visit https://review.coreboot.org/27672
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings

Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I10b336acf9f03c423bee9dc38955b1617e11c025
Gerrit-Change-Number: 27672
Gerrit-PatchSet: 1
Gerrit-Owner: Matt Delco <delco at chromium.org>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.coreboot.org/pipermail/coreboot-gerrit/attachments/20180727/e377d05a/attachment-0001.html>


More information about the coreboot-gerrit mailing list