Thread (75 messages) 75 messages, 14 authors, 2015-03-28

[PATCH v10 18/21] ARM64 / ACPI: Select ACPI_REDUCED_HARDWARE_ONLY if ACPI is enabled on ARM64

From: Lorenzo Pieralisi <hidden>
Date: 2015-03-18 09:18:23
Also in: linux-acpi, lkml

On Mon, Mar 16, 2015 at 11:33:29AM +0000, Hanjun Guo wrote:
On 2015?03?13? 19:04, Lorenzo Pieralisi wrote:
quoted
On Fri, Mar 13, 2015 at 03:28:45AM +0000, Hanjun Guo wrote:

[...]
quoted
quoted
  /*
   * acpi_boot_table_init() called from setup_arch(), always.
   *	1. find RSDP and get its address, and then find XSDT
   *	2. extract all tables and checksums them all
   *	3. check ACPI FADT revision
+ *	4. check ACPI FADT HW reduced flag
   *
   * We can parse ACPI boot-time tables such as MADT after
   * this function is called.
   */
  void __init acpi_boot_table_init(void)
  {
+	struct acpi_table_header *table;
+	struct acpi_table_fadt *fadt;
+	acpi_status status;
+	acpi_size tbl_size;
+
  	/*
  	 * Enable ACPI instead of device tree unless
  	 * - ACPI has been disabled explicitly (acpi=off), or
@@ -351,19 +318,52 @@ void __init acpi_boot_table_init(void)
  	    (!param_acpi_force && of_scan_flat_dt(dt_scan_depth1_nodes, NULL)))
  		return;

-	enable_acpi();
-
  	/* Initialize the ACPI boot-time table parser. */
  	if (acpi_table_init()) {
Since we disable ACPI in default, it is a bit strange for me to init all
the ACPI tables and parse FADT when ACPI is disabled, could you
put some comments here to clarify the purpose? other than that, it is looks
good to me.
Ok, the purpose was to make things simpler, but I think that given
current code it is not 100% safe to init ACPI tables with
acpi_disabled == 1.

To me having to enable ACPI to parse the tables and check *if* ACPI tables
are there is a bit crazy, but I agree with you that given current code
it is safer.

Patch rewritten, here below, please have a look, test it and rework
bits as needed, I added comments where I thought they were needed but
please add to that if you feel it is worth it.

It should be easy to split, let me know if you want an incremental
version.
This one is much better, pretty fine to me, thanks!

I assume that this patch is cleanup patch on top of ARM64 ACPI
core patches, right?
For the records, I created a branch with my patch split over some
of your patches, even though I think to make things simpler it is best
to apply it as a single patch on top of your series, I will prepare the
commit log for the single patch version too.

Lorenzo
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help