[PATCH] acpi: method: remove _GTS and _BFS tests
Alex Hung
alex.hung at canonical.com
Wed Aug 1 00:01:03 UTC 2012
On 08/01/2012 12:38 AM, Colin King wrote:
> From: Colin Ian King <colin.king at canonical.com>
>
> Just seen _GTS and _BFS support being removed from Linux and
> according to Len Brown:
>
> "_GTS and _BFS were added to the suspend/resume flow
> in the ACPI 2.0 specification.
>
> Linux dutifully implemented _GTS and _BFS.
> We discovered that it was rarely seen in systems
> in the field. Further, some of those systems had
> AML so bogus that it could never work -- proof that
> no other operating system supports _GTS and _BFS.
> So we made _GTS and _BFS optional via modparam,
> and disabled them by default.
>
> But we've had to complicate some code to keep
> this support in the kernel, as these methods are defined
> to be evaluated very close to sleep entry and exit.
> Indeed, no other AML is ever evaluated with interrupts off.
>
> We have submitted a proposal for _GTS and _BFS
> to be officially removed from the ACPI specification
> on the next revision. Here we remove it from Linux."
>
> So, these are not worth testing and should be deprecated
> from the method test.
>
> Signed-off-by: Colin Ian King <colin.king at canonical.com>
> ---
> src/acpi/method/method.c | 55 ++--------------------------------------------
> 1 file changed, 2 insertions(+), 53 deletions(-)
>
> diff --git a/src/acpi/method/method.c b/src/acpi/method/method.c
> index a1bf873..032f42e 100644
> --- a/src/acpi/method/method.c
> +++ b/src/acpi/method/method.c
> @@ -48,7 +48,7 @@
> * _BCM B.6.3 Y
> * _BCT 10.2.29 N
> * _BDN 6.5.3 N
> - * _BFS 7.3.1 Y
> + * _BFS 7.3.1 deprecated
> * _BIF 10.2.2.1 Y
> * _BIX 10.2.2.2 Y
> * _BLT 9.1.3 N
> @@ -109,7 +109,7 @@
> * _GSB 6.2.6 N
> * _GTF 9.8.1.1 N
> * _GTM 9.8.2.1.1 N
> - * _GTS 7.3.3 Y
> + * _GTS 7.3.3 deprecated
> * _GWS 9.18.5 N
> * _HID 6.1.5 N
> * _HOT 11.4.6 Y
> @@ -925,30 +925,6 @@ static int method_test_BMC(fwts_framework *fw)
>
> /* Section 15, Waking and Sleeping */
>
> -static int method_test_BFS(fwts_framework *fw)
> -{
> - int i;
> -
> - if (fwts_method_exists("_BFS") != NULL) {
> - for (i=1; i<6; i++) {
> - ACPI_OBJECT arg[1];
> -
> - arg[0].Type = ACPI_TYPE_INTEGER;
> - arg[0].Integer.Value = i;
> -
> - if (method_evaluate_method(fw, METHOD_OPTIONAL, "_BFS", arg, 1,
> - method_test_NULL_return, NULL) == FWTS_NOT_EXIST)
> - break;
> - fwts_log_nl(fw);
> - }
> - }
> - else {
> - fwts_skipped(fw, "Optional control method _BFS does not exist.");
> - }
> -
> - return FWTS_OK;
> -}
> -
> static int method_test_PTS(fwts_framework *fw)
> {
> int i;
> @@ -975,31 +951,6 @@ static int method_test_PTS(fwts_framework *fw)
> return FWTS_OK;
> }
>
> -static int method_test_GTS(fwts_framework *fw)
> -{
> - int i;
> -
> - if (fwts_method_exists("_GTS") != NULL) {
> - for (i=1; i<6; i++) {
> - ACPI_OBJECT arg[1];
> -
> - arg[0].Type = ACPI_TYPE_INTEGER;
> - arg[0].Integer.Value = i;
> -
> - fwts_log_info(fw, "Test _GTS(%d) (Going To Sleep, State S%d.", i, i);
> -
> - if (method_evaluate_method(fw, METHOD_OPTIONAL, "_GTS", arg, 1,
> - method_test_NULL_return, NULL) == FWTS_NOT_EXIST)
> - break;
> - fwts_log_nl(fw);
> - }
> - }
> - else {
> - fwts_skipped(fw, "Optional control method _GTS does not exist.");
> - }
> - return FWTS_OK;
> -}
> -
> static int method_test_TTS(fwts_framework *fw)
> {
> int i;
> @@ -2202,9 +2153,7 @@ static fwts_framework_minor_test method_tests[] = {
> { method_test_BBN, "Check _BBN (Base Bus Number)." },
>
> /* Section 15, Waking and Sleeping */
> - { method_test_BFS, "Check _BFS (Back from Sleep)." },
> { method_test_PTS, "Check _PTS (Prepare to Sleep)." },
> - { method_test_GTS, "Check _GTS (Going to Sleep)." },
> { method_test_TTS, "Check _TTS (Transition to State)." },
> { method_test_S0, "Check _S0 (System S0 State) Object." },
> { method_test_S1, "Check _S1 (System S1 State) Object." },
>
I never see _GTS and _BFS used anywhere, either.
Acked-by: Alex Hung <alex.hung at canonical.com>
More information about the fwts-devel
mailing list