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

Lorenzo Pieralisi lorenzo.pieralisi at arm.com
Wed Mar 18 02:18:20 PDT 2015


On Mon, Mar 16, 2015 at 11:33:29AM +0000, Hanjun Guo wrote:
> On 2015年03月13日 19:04, Lorenzo Pieralisi wrote:
> > On Fri, Mar 13, 2015 at 03:28:45AM +0000, Hanjun Guo wrote:
> >
> > [...]
> >
> >>>   /*
> >>>    * 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



More information about the linux-arm-kernel mailing list