Re: [PATCH] ACPI: PM: Export the function acpi_sleep_state_supported()

From: Russell King - ARM Linux admin
Date: Fri Jun 14 2019 - 18:38:13 EST


Hi,

On Fri, Jun 14, 2019 at 10:19:02PM +0000, Dexuan Cui wrote:
> > -----Original Message-----
> > From: Michael Kelley <mikelley@xxxxxxxxxxxxx>
> > Sent: Friday, June 14, 2019 1:48 PM
> > To: Dexuan Cui <decui@xxxxxxxxxxxxx>; linux-acpi@xxxxxxxxxxxxxxx;
> > rjw@xxxxxxxxxxxxx; lenb@xxxxxxxxxx; robert.moore@xxxxxxxxx;
> > erik.schmauss@xxxxxxxxx
> > Cc: linux-hyperv@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; KY Srinivasan
> > <kys@xxxxxxxxxxxxx>; Stephen Hemminger <sthemmin@xxxxxxxxxxxxx>;
> > Haiyang Zhang <haiyangz@xxxxxxxxxxxxx>; Sasha Levin
> > <Alexander.Levin@xxxxxxxxxxxxx>; olaf@xxxxxxxxx; apw@xxxxxxxxxxxxx;
> > jasowang@xxxxxxxxxx; vkuznets <vkuznets@xxxxxxxxxx>;
> > marcelo.cerri@xxxxxxxxxxxxx
> > Subject: RE: [PATCH] ACPI: PM: Export the function
> > acpi_sleep_state_supported()
> >
> > It seems that sleep.c isn't built when on the ARM64 architecture. Using
> > acpi_sleep_state_supported() directly in hv_balloon.c will be problematic
> > since hv_balloon.c needs to be architecture independent when the
> > Hyper-V ARM64 support is added. If that doesn't change, a per-architecture
> > wrapper will be needed to give hv_balloon.c the correct information. This
> > may affect whether acpi_sleep_state_supported() needs to be exported vs.
> > just removing the "static". I'm not sure what the best approach is.
> >
> > Michael
>
> + some ARM experts who worked on arch/arm/kernel/hibernate.c.
>
> drivers/acpi/sleep.c is only built if ACPI_SYSTEM_POWER_STATES_SUPPORT
> is defined, but it looks this option is not defined on ARM.
>
> It looks ARM does not support the ACPI S4 state, then how do we know
> if an ARM host supports hibernation or not?

Don't forget that Linux does not support ACPI on 32-bit ARM, which is
quite different from the situation on 64-bit ARM.

arch/arm/kernel/hibernate.c is only for 32-bit ARM, and is written with
the assumption that there is no interaction required with any firmware
to save state, and later restore state upon resuming.

Or am I missing something?

--
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line in suburbia: sync at 12.1Mbps down 622kbps up
According to speedtest.net: 11.9Mbps down 500kbps up