Re: [Devel] [PATCH] ACPICA: Fix compilation with bare-metal toolchian
by Rafael J. Wysocki
On Saturday, June 22, 2019 11:03:54 PM CEST Laster K. wrote:
> An ifdef expects to be compiled with full-fledged Linux toolchain,
> but it's common to compile kernel with just bare-metal toolchain
> which doesn't define __linux__. So, also add __KERNEL__ check.
>
> Signed-off-by: Laster K. (lazerl0rd) <officiallazerl0rd(a)gmail.com>
> ---
> Apologies for the multiple/spammed e-mails, I was having mail client issues.
>
> include/acpi/platform/acenv.h | 2 +-
> include/acpi/platform/acenvex.h | 2 +-
> 2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/include/acpi/platform/acenv.h b/include/acpi/platform/acenv.h
> index 35ab3f87cc29..b69319198cb8 100644
> --- a/include/acpi/platform/acenv.h
> +++ b/include/acpi/platform/acenv.h
> @@ -148,7 +148,7 @@
>
> #endif
>
> -#if defined(_LINUX) || defined(__linux__)
> +#if defined(_LINUX) || defined(__KERNEL__) || defined(__linux__)
> #include <acpi/platform/aclinux.h>
>
> #elif defined(_APPLE) || defined(__APPLE__)
> diff --git a/include/acpi/platform/acenvex.h b/include/acpi/platform/acenvex.h
> index 2e36c8344897..c7697a47e33f 100644
> --- a/include/acpi/platform/acenvex.h
> +++ b/include/acpi/platform/acenvex.h
> @@ -19,7 +19,7 @@
> *
> *****************************************************************************/
>
> -#if defined(_LINUX) || defined(__linux__)
> +#if defined(_LINUX) || defined(__KERNEL__) || defined(__linux__)
> #include <acpi/platform/aclinuxex.h>
>
> #elif defined(__DragonFly__)
>
Erik, Bob, any input here?
2 years, 6 months
[pm:bleeding-edge 57/72] drivers/acpi/acpica/dbinput.c:514:7: warning: multi-character character constant
by kbuild test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git bleeding-edge
head: 1cf26ab470eb62bb4f239eb0d9410f8c174bed6b
commit: 72ad7b25e6357468b3f5306f2c716313a7664d39 [57/72] ACPICA: debugger: add field unit support for acpi_db_get_next_token
config: x86_64-allyesconfig (attached as .config)
compiler: gcc-7 (Debian 7.4.0-14) 7.4.0
reproduce:
git checkout 72ad7b25e6357468b3f5306f2c716313a7664d39
# save the attached .config to linux build tree
make ARCH=x86_64
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
drivers/acpi/acpica/dbinput.c: In function 'acpi_db_get_next_token':
>> drivers/acpi/acpica/dbinput.c:514:7: warning: multi-character character constant [-Wmultichar]
case ' {':
^~~~
>> drivers/acpi/acpica/dbinput.c:514:2: warning: case label value exceeds maximum value for type
case ' {':
^~~~
vim +514 drivers/acpi/acpica/dbinput.c
444
445 /*******************************************************************************
446 *
447 * FUNCTION: acpi_db_get_next_token
448 *
449 * PARAMETERS: string - Command buffer
450 * next - Return value, end of next token
451 *
452 * RETURN: Pointer to the start of the next token.
453 *
454 * DESCRIPTION: Command line parsing. Get the next token on the command line
455 *
456 ******************************************************************************/
457
458 char *acpi_db_get_next_token(char *string,
459 char **next, acpi_object_type *return_type)
460 {
461 char *start;
462 u32 depth;
463 acpi_object_type type = ACPI_TYPE_INTEGER;
464
465 /* At end of buffer? */
466
467 if (!string || !(*string)) {
468 return (NULL);
469 }
470
471 /* Remove any spaces at the beginning */
472
473 if (*string == ' ') {
474 while (*string && (*string == ' ')) {
475 string++;
476 }
477
478 if (!(*string)) {
479 return (NULL);
480 }
481 }
482
483 switch (*string) {
484 case '"':
485
486 /* This is a quoted string, scan until closing quote */
487
488 string++;
489 start = string;
490 type = ACPI_TYPE_STRING;
491
492 /* Find end of string */
493
494 while (*string && (*string != '"')) {
495 string++;
496 }
497 break;
498
499 case '(':
500
501 /* This is the start of a buffer, scan until closing paren */
502
503 string++;
504 start = string;
505 type = ACPI_TYPE_BUFFER;
506
507 /* Find end of buffer */
508
509 while (*string && (*string != ')')) {
510 string++;
511 }
512 break;
513
> 514 case ' {':
515
516 /* This is the start of a field unit, scan until closing brace */
517
518 string++;
519 start = string;
520 type = ACPI_TYPE_FIELD_UNIT;
521
522 /* Find end of buffer */
523
524 while (*string && (*string != '}')) {
525 string++;
526 }
527 break;
528
529 case '[':
530
531 /* This is the start of a package, scan until closing bracket */
532
533 string++;
534 depth = 1;
535 start = string;
536 type = ACPI_TYPE_PACKAGE;
537
538 /* Find end of package (closing bracket) */
539
540 while (*string) {
541
542 /* Handle String package elements */
543
544 if (*string == '"') {
545 /* Find end of string */
546
547 string++;
548 while (*string && (*string != '"')) {
549 string++;
550 }
551 if (!(*string)) {
552 break;
553 }
554 } else if (*string == '[') {
555 depth++; /* A nested package declaration */
556 } else if (*string == ']') {
557 depth--;
558 if (depth == 0) { /* Found final package closing bracket */
559 break;
560 }
561 }
562
563 string++;
564 }
565 break;
566
567 default:
568
569 start = string;
570
571 /* Find end of token */
572
573 while (*string && (*string != ' ')) {
574 string++;
575 }
576 break;
577 }
578
579 if (!(*string)) {
580 *next = NULL;
581 } else {
582 *string = 0;
583 *next = string + 1;
584 }
585
586 *return_type = type;
587 return (start);
588 }
589
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
2 years, 8 months
[pm:bleeding-edge 55/72] drivers/acpi/acpica/dbnames.c:523:2: error: unknown type name 'ACPI_REGION_WALK_INFO'; did you mean 'ACPI_REGION_ACTIVATE'?
by kbuild test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git bleeding-edge
head: 1cf26ab470eb62bb4f239eb0d9410f8c174bed6b
commit: fb30d8ee0e4f99ce7dccaea7d1e7476692292ebf [55/72] ACPICA: Debugger: add command to dump all fields of a particular subtype
config: x86_64-allyesconfig (attached as .config)
compiler: gcc-7 (Debian 7.4.0-14) 7.4.0
reproduce:
git checkout fb30d8ee0e4f99ce7dccaea7d1e7476692292ebf
# save the attached .config to linux build tree
make ARCH=x86_64
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
drivers/acpi/acpica/dbnames.c: In function 'acpi_db_walk_for_fields':
>> drivers/acpi/acpica/dbnames.c:523:2: error: unknown type name 'ACPI_REGION_WALK_INFO'; did you mean 'ACPI_REGION_ACTIVATE'?
ACPI_REGION_WALK_INFO *info = (ACPI_REGION_WALK_INFO *) context;
^~~~~~~~~~~~~~~~~~~~~
ACPI_REGION_ACTIVATE
>> drivers/acpi/acpica/dbnames.c:523:33: error: 'ACPI_REGION_WALK_INFO' undeclared (first use in this function); did you mean 'ACPI_REGION_ACTIVATE'?
ACPI_REGION_WALK_INFO *info = (ACPI_REGION_WALK_INFO *) context;
^~~~~~~~~~~~~~~~~~~~~
ACPI_REGION_ACTIVATE
drivers/acpi/acpica/dbnames.c:523:33: note: each undeclared identifier is reported only once for each function it appears in
>> drivers/acpi/acpica/dbnames.c:523:56: error: expected expression before ')' token
ACPI_REGION_WALK_INFO *info = (ACPI_REGION_WALK_INFO *) context;
^
>> drivers/acpi/acpica/dbnames.c:532:10: error: request for member 'address_space_id' in something not a structure or union
info->address_space_id) {
^~
>> drivers/acpi/acpica/dbnames.c:536:6: error: request for member 'count' in something not a structure or union
info->count++;
^~
drivers/acpi/acpica/dbnames.c: In function 'acpi_db_display_fields':
drivers/acpi/acpica/dbnames.c:721:2: error: unknown type name 'ACPI_REGION_WALK_INFO'; did you mean 'ACPI_REGION_ACTIVATE'?
ACPI_REGION_WALK_INFO info;
^~~~~~~~~~~~~~~~~~~~~
ACPI_REGION_ACTIVATE
drivers/acpi/acpica/dbnames.c:723:6: error: request for member 'count' in something not a structure or union
info.count = 0;
^
>> drivers/acpi/acpica/dbnames.c:724:6: error: request for member 'owner_id' in something not a structure or union
info.owner_id = ACPI_OWNER_ID_MAX;
^
>> drivers/acpi/acpica/dbnames.c:725:6: error: request for member 'debug_level' in something not a structure or union
info.debug_level = ACPI_UINT32_MAX;
^
>> drivers/acpi/acpica/dbnames.c:726:6: error: request for member 'display_type' in something not a structure or union
info.display_type = ACPI_DISPLAY_SUMMARY | ACPI_DISPLAY_SHORT;
^
drivers/acpi/acpica/dbnames.c:727:6: error: request for member 'address_space_id' in something not a structure or union
info.address_space_id = address_space_id;
^
vim +523 drivers/acpi/acpica/dbnames.c
505
506 /*******************************************************************************
507 *
508 * FUNCTION: acpi_db_walk_for_fields
509 *
510 * PARAMETERS: Callback from walk_namespace
511 *
512 * RETURN: Status
513 *
514 * DESCRIPTION: Display short info about objects in the namespace
515 *
516 ******************************************************************************/
517
518 static acpi_status
519 acpi_db_walk_for_fields(acpi_handle obj_handle,
520 u32 nesting_level, void *context, void **return_value)
521 {
522 union acpi_object *ret_value;
> 523 ACPI_REGION_WALK_INFO *info = (ACPI_REGION_WALK_INFO *) context;
524 struct acpi_buffer buffer;
525 acpi_status status;
526 struct acpi_namespace_node *node = acpi_ns_validate_handle(obj_handle);
527
528 if (!node) {
529 return (AE_OK);
530 }
531 if (node->object->field.region_obj->region.space_id !=
> 532 info->address_space_id) {
533 return (AE_OK);
534 }
535
> 536 info->count++;
537
538 /* Get and display the full pathname to this object */
539
540 buffer.length = ACPI_ALLOCATE_LOCAL_BUFFER;
541 status = acpi_ns_handle_to_pathname(obj_handle, &buffer, TRUE);
542 if (ACPI_FAILURE(status)) {
543 acpi_os_printf("Could Not get pathname for object %p\n",
544 obj_handle);
545 return (AE_OK);
546 }
547
548 acpi_os_printf("%s ", (char *)buffer.pointer);
549 ACPI_FREE(buffer.pointer);
550
551 buffer.length = ACPI_ALLOCATE_LOCAL_BUFFER;
552 acpi_evaluate_object(obj_handle, NULL, NULL, &buffer);
553
554 ret_value = (union acpi_object *)buffer.pointer;
555 switch (ret_value->type) {
556 case ACPI_TYPE_INTEGER:
557
558 acpi_os_printf("%8.8X%8.8X",
559 ACPI_FORMAT_UINT64(ret_value->integer.value));
560 break;
561
562 case ACPI_TYPE_BUFFER:
563
564 acpi_ut_dump_buffer(ret_value->buffer.pointer,
565 ret_value->buffer.length,
566 DB_DISPLAY_DATA_ONLY | DB_BYTE_DISPLAY, 0);
567 break;
568
569 default:
570
571 break;
572 }
573
574 acpi_os_printf("\n");
575
576 ACPI_FREE(buffer.pointer);
577 return (AE_OK);
578 }
579
580 /*******************************************************************************
581 *
582 * FUNCTION: acpi_db_walk_for_specific_objects
583 *
584 * PARAMETERS: Callback from walk_namespace
585 *
586 * RETURN: Status
587 *
588 * DESCRIPTION: Display short info about objects in the namespace
589 *
590 ******************************************************************************/
591
592 static acpi_status
593 acpi_db_walk_for_specific_objects(acpi_handle obj_handle,
594 u32 nesting_level,
595 void *context, void **return_value)
596 {
597 struct acpi_walk_info *info = (struct acpi_walk_info *)context;
598 struct acpi_buffer buffer;
599 acpi_status status;
600
601 info->count++;
602
603 /* Get and display the full pathname to this object */
604
605 buffer.length = ACPI_ALLOCATE_LOCAL_BUFFER;
606 status = acpi_ns_handle_to_pathname(obj_handle, &buffer, TRUE);
607 if (ACPI_FAILURE(status)) {
608 acpi_os_printf("Could Not get pathname for object %p\n",
609 obj_handle);
610 return (AE_OK);
611 }
612
613 acpi_os_printf("%32s", (char *)buffer.pointer);
614 ACPI_FREE(buffer.pointer);
615
616 /* Dump short info about the object */
617
618 (void)acpi_ns_dump_one_object(obj_handle, nesting_level, info, NULL);
619 return (AE_OK);
620 }
621
622 /*******************************************************************************
623 *
624 * FUNCTION: acpi_db_display_objects
625 *
626 * PARAMETERS: obj_type_arg - Type of object to display
627 * display_count_arg - Max depth to display
628 *
629 * RETURN: None
630 *
631 * DESCRIPTION: Display objects in the namespace of the requested type
632 *
633 ******************************************************************************/
634
635 acpi_status acpi_db_display_objects(char *obj_type_arg, char *display_count_arg)
636 {
637 struct acpi_walk_info info;
638 acpi_object_type type;
639 struct acpi_object_info *object_info;
640 u32 i;
641 u32 total_objects = 0;
642
643 /* No argument means display summary/count of all object types */
644
645 if (!obj_type_arg) {
646 object_info =
647 ACPI_ALLOCATE_ZEROED(sizeof(struct acpi_object_info));
648
649 /* Walk the namespace from the root */
650
651 (void)acpi_walk_namespace(ACPI_TYPE_ANY, ACPI_ROOT_OBJECT,
652 ACPI_UINT32_MAX,
653 acpi_db_walk_for_object_counts, NULL,
654 (void *)object_info, NULL);
655
656 acpi_os_printf("\nSummary of namespace objects:\n\n");
657
658 for (i = 0; i < ACPI_TOTAL_TYPES; i++) {
659 acpi_os_printf("%8u %s\n", object_info->types[i],
660 acpi_ut_get_type_name(i));
661
662 total_objects += object_info->types[i];
663 }
664
665 acpi_os_printf("\n%8u Total namespace objects\n\n",
666 total_objects);
667
668 ACPI_FREE(object_info);
669 return (AE_OK);
670 }
671
672 /* Get the object type */
673
674 type = acpi_db_match_argument(obj_type_arg, acpi_db_object_types);
675 if (type == ACPI_TYPE_NOT_FOUND) {
676 acpi_os_printf("Invalid or unsupported argument\n");
677 return (AE_OK);
678 }
679
680 acpi_db_set_output_destination(ACPI_DB_DUPLICATE_OUTPUT);
681 acpi_os_printf
682 ("Objects of type [%s] defined in the current ACPI Namespace:\n",
683 acpi_ut_get_type_name(type));
684
685 acpi_db_set_output_destination(ACPI_DB_REDIRECTABLE_OUTPUT);
686
687 info.count = 0;
688 info.owner_id = ACPI_OWNER_ID_MAX;
689 info.debug_level = ACPI_UINT32_MAX;
690 info.display_type = ACPI_DISPLAY_SUMMARY | ACPI_DISPLAY_SHORT;
691
692 /* Walk the namespace from the root */
693
694 (void)acpi_walk_namespace(type, ACPI_ROOT_OBJECT, ACPI_UINT32_MAX,
695 acpi_db_walk_for_specific_objects, NULL,
696 (void *)&info, NULL);
697
698 acpi_os_printf
699 ("\nFound %u objects of type [%s] in the current ACPI Namespace\n",
700 info.count, acpi_ut_get_type_name(type));
701
702 acpi_db_set_output_destination(ACPI_DB_CONSOLE_OUTPUT);
703 return (AE_OK);
704 }
705
706 /*******************************************************************************
707 *
708 * FUNCTION: acpi_db_display_fields
709 *
710 * PARAMETERS: obj_type_arg - Type of object to display
711 * display_count_arg - Max depth to display
712 *
713 * RETURN: None
714 *
715 * DESCRIPTION: Display objects in the namespace of the requested type
716 *
717 ******************************************************************************/
718
719 acpi_status acpi_db_display_fields(u32 address_space_id)
720 {
> 721 ACPI_REGION_WALK_INFO info;
722
723 info.count = 0;
724 info.owner_id = ACPI_OWNER_ID_MAX;
725 info.debug_level = ACPI_UINT32_MAX;
726 info.display_type = ACPI_DISPLAY_SUMMARY | ACPI_DISPLAY_SHORT;
727 info.address_space_id = address_space_id;
728
729 /* Walk the namespace from the root */
730
731 (void)acpi_walk_namespace(ACPI_TYPE_LOCAL_REGION_FIELD,
732 ACPI_ROOT_OBJECT, ACPI_UINT32_MAX,
733 acpi_db_walk_for_fields, NULL, (void *)&info,
734 NULL);
735
736 return (AE_OK);
737 }
738
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
2 years, 8 months
[pm:bleeding-edge 55/72] drivers/acpi/acpica/dbnames.c:523:2: error: unknown type name 'ACPI_REGION_WALK_INFO'; did you mean 'ACPI_COMMON_FIELD_INFO'?
by kbuild test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git bleeding-edge
head: 1cf26ab470eb62bb4f239eb0d9410f8c174bed6b
commit: fb30d8ee0e4f99ce7dccaea7d1e7476692292ebf [55/72] ACPICA: Debugger: add command to dump all fields of a particular subtype
config: ia64-allyesconfig (attached as .config)
compiler: ia64-linux-gcc (GCC) 7.4.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout fb30d8ee0e4f99ce7dccaea7d1e7476692292ebf
# save the attached .config to linux build tree
GCC_VERSION=7.4.0 make.cross ARCH=ia64
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
drivers/acpi/acpica/dbnames.c: In function 'acpi_db_walk_for_fields':
>> drivers/acpi/acpica/dbnames.c:523:2: error: unknown type name 'ACPI_REGION_WALK_INFO'; did you mean 'ACPI_COMMON_FIELD_INFO'?
ACPI_REGION_WALK_INFO *info = (ACPI_REGION_WALK_INFO *) context;
^~~~~~~~~~~~~~~~~~~~~
ACPI_COMMON_FIELD_INFO
>> drivers/acpi/acpica/dbnames.c:523:33: error: 'ACPI_REGION_WALK_INFO' undeclared (first use in this function); did you mean 'ACPI_COMMON_FIELD_INFO'?
ACPI_REGION_WALK_INFO *info = (ACPI_REGION_WALK_INFO *) context;
^~~~~~~~~~~~~~~~~~~~~
ACPI_COMMON_FIELD_INFO
drivers/acpi/acpica/dbnames.c:523:33: note: each undeclared identifier is reported only once for each function it appears in
drivers/acpi/acpica/dbnames.c:523:56: error: expected expression before ')' token
ACPI_REGION_WALK_INFO *info = (ACPI_REGION_WALK_INFO *) context;
^
drivers/acpi/acpica/dbnames.c:532:10: error: request for member 'address_space_id' in something not a structure or union
info->address_space_id) {
^~
drivers/acpi/acpica/dbnames.c:536:6: error: request for member 'count' in something not a structure or union
info->count++;
^~
drivers/acpi/acpica/dbnames.c: In function 'acpi_db_display_fields':
drivers/acpi/acpica/dbnames.c:721:2: error: unknown type name 'ACPI_REGION_WALK_INFO'; did you mean 'ACPI_COMMON_FIELD_INFO'?
ACPI_REGION_WALK_INFO info;
^~~~~~~~~~~~~~~~~~~~~
ACPI_COMMON_FIELD_INFO
drivers/acpi/acpica/dbnames.c:723:6: error: request for member 'count' in something not a structure or union
info.count = 0;
^
drivers/acpi/acpica/dbnames.c:724:6: error: request for member 'owner_id' in something not a structure or union
info.owner_id = ACPI_OWNER_ID_MAX;
^
drivers/acpi/acpica/dbnames.c:725:6: error: request for member 'debug_level' in something not a structure or union
info.debug_level = ACPI_UINT32_MAX;
^
drivers/acpi/acpica/dbnames.c:726:6: error: request for member 'display_type' in something not a structure or union
info.display_type = ACPI_DISPLAY_SUMMARY | ACPI_DISPLAY_SHORT;
^
drivers/acpi/acpica/dbnames.c:727:6: error: request for member 'address_space_id' in something not a structure or union
info.address_space_id = address_space_id;
^
vim +523 drivers/acpi/acpica/dbnames.c
505
506 /*******************************************************************************
507 *
508 * FUNCTION: acpi_db_walk_for_fields
509 *
510 * PARAMETERS: Callback from walk_namespace
511 *
512 * RETURN: Status
513 *
514 * DESCRIPTION: Display short info about objects in the namespace
515 *
516 ******************************************************************************/
517
518 static acpi_status
519 acpi_db_walk_for_fields(acpi_handle obj_handle,
520 u32 nesting_level, void *context, void **return_value)
521 {
522 union acpi_object *ret_value;
> 523 ACPI_REGION_WALK_INFO *info = (ACPI_REGION_WALK_INFO *) context;
524 struct acpi_buffer buffer;
525 acpi_status status;
526 struct acpi_namespace_node *node = acpi_ns_validate_handle(obj_handle);
527
528 if (!node) {
529 return (AE_OK);
530 }
531 if (node->object->field.region_obj->region.space_id !=
532 info->address_space_id) {
533 return (AE_OK);
534 }
535
536 info->count++;
537
538 /* Get and display the full pathname to this object */
539
540 buffer.length = ACPI_ALLOCATE_LOCAL_BUFFER;
541 status = acpi_ns_handle_to_pathname(obj_handle, &buffer, TRUE);
542 if (ACPI_FAILURE(status)) {
543 acpi_os_printf("Could Not get pathname for object %p\n",
544 obj_handle);
545 return (AE_OK);
546 }
547
548 acpi_os_printf("%s ", (char *)buffer.pointer);
549 ACPI_FREE(buffer.pointer);
550
551 buffer.length = ACPI_ALLOCATE_LOCAL_BUFFER;
552 acpi_evaluate_object(obj_handle, NULL, NULL, &buffer);
553
554 ret_value = (union acpi_object *)buffer.pointer;
555 switch (ret_value->type) {
556 case ACPI_TYPE_INTEGER:
557
558 acpi_os_printf("%8.8X%8.8X",
559 ACPI_FORMAT_UINT64(ret_value->integer.value));
560 break;
561
562 case ACPI_TYPE_BUFFER:
563
564 acpi_ut_dump_buffer(ret_value->buffer.pointer,
565 ret_value->buffer.length,
566 DB_DISPLAY_DATA_ONLY | DB_BYTE_DISPLAY, 0);
567 break;
568
569 default:
570
571 break;
572 }
573
574 acpi_os_printf("\n");
575
576 ACPI_FREE(buffer.pointer);
577 return (AE_OK);
578 }
579
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
2 years, 8 months
ACPICA version 20191018 released
by Moore, Robert
18 October 2019. Summary of changes for version 20191018:
This release is available at https://acpica.org/downloads
1) ACPICA kernel-resident subsystem:
Debugger: added a new command: "Fields [address space ID]". This command dumps the contents of all field units that are defined within the namespace with a particular address space ID.
Modified the external interface AcpiLoadTable() to return a table index. This table index can be used for unloading a table for debugging.
ACPI_STATUS
AcpiLoadTable (
ACPI_TABLE_HEADER *Table,
UINT32 *TableIndex))
Implemented a new external interface: AcpiUnloadTable() This new function takes a table index as an argument and unloads the table. Useful for debugging only.
ACPI_STATUS
AcpiUnloadTable (
UINT32 TableIndex))
Ported the AcpiNames utility to use the new table initialization sequence. The utility was broken before this change. Also, it was required to include most of the AML interpreter into the utility in order to process table initialization (module-level code execution.)
Update for results from running Clang V8.0.1. This fixes all "dead assignment" warnings. There are still several "Dereference of NULL pointer" warnings, but these have been found to be false positive warnings.
2) iASL Compiler/Disassembler and ACPICA tools:
iASL: numerous table compiler changes to ensure that the usage of yacc/bison syntax is POSIX-compliant.
iASL/disassembler: several simple bug fixes in the data table disassembler.
Acpiexec: expand the initialization file (the -fi option) to initialize strings, buffers, packages, and field units.
2 years, 8 months
[pm:bleeding-edge 50/51] include/linux/pm_qos.h:194:7: error: 'DEV_PM_QOS_MIN_FREQUENCY' undeclared; did you mean 'DEV_PM_QOS_RESUME_LATENCY'?
by kbuild test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git bleeding-edge
head: c1c487f8d64d46058ee2f4ca696eb1155a58b6f1
commit: ec4620f4aaa978842baf8ca0787fc9dc8de9c30a [50/51] PM: QoS: Drop frequency QoS types from device PM QoS
config: i386-tinyconfig (attached as .config)
compiler: gcc-7 (Debian 7.4.0-14) 7.4.0
reproduce:
git checkout ec4620f4aaa978842baf8ca0787fc9dc8de9c30a
# save the attached .config to linux build tree
make ARCH=i386
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
In file included from include/linux/cpufreq.h:16:0,
from arch/x86/kernel/tsc.c:11:
include/linux/pm_qos.h: In function 'dev_pm_qos_read_value':
>> include/linux/pm_qos.h:194:7: error: 'DEV_PM_QOS_MIN_FREQUENCY' undeclared (first use in this function); did you mean 'DEV_PM_QOS_RESUME_LATENCY'?
case DEV_PM_QOS_MIN_FREQUENCY:
^~~~~~~~~~~~~~~~~~~~~~~~
DEV_PM_QOS_RESUME_LATENCY
include/linux/pm_qos.h:194:7: note: each undeclared identifier is reported only once for each function it appears in
>> include/linux/pm_qos.h:195:10: error: 'PM_QOS_MIN_FREQUENCY_DEFAULT_VALUE' undeclared (first use in this function); did you mean 'PM_QOS_RESUME_LATENCY_DEFAULT_VALUE'?
return PM_QOS_MIN_FREQUENCY_DEFAULT_VALUE;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
PM_QOS_RESUME_LATENCY_DEFAULT_VALUE
>> include/linux/pm_qos.h:196:7: error: 'DEV_PM_QOS_MAX_FREQUENCY' undeclared (first use in this function); did you mean 'DEV_PM_QOS_MIN_FREQUENCY'?
case DEV_PM_QOS_MAX_FREQUENCY:
^~~~~~~~~~~~~~~~~~~~~~~~
DEV_PM_QOS_MIN_FREQUENCY
>> include/linux/pm_qos.h:197:10: error: 'PM_QOS_MAX_FREQUENCY_DEFAULT_VALUE' undeclared (first use in this function); did you mean 'PM_QOS_MIN_FREQUENCY_DEFAULT_VALUE'?
return PM_QOS_MAX_FREQUENCY_DEFAULT_VALUE;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
PM_QOS_MIN_FREQUENCY_DEFAULT_VALUE
vim +194 include/linux/pm_qos.h
6dbf5cea05a709 Rafael J. Wysocki 2017-02-24 172
8262331eaaf751 Viresh Kumar 2019-07-04 173 static inline s32 dev_pm_qos_raw_resume_latency(struct device *dev)
6dbf5cea05a709 Rafael J. Wysocki 2017-02-24 174 {
6dbf5cea05a709 Rafael J. Wysocki 2017-02-24 175 return IS_ERR_OR_NULL(dev->power.qos) ?
0759e80b84e34a Rafael J. Wysocki 2017-11-07 176 PM_QOS_RESUME_LATENCY_NO_CONSTRAINT :
0759e80b84e34a Rafael J. Wysocki 2017-11-07 177 pm_qos_read_value(&dev->power.qos->resume_latency);
6dbf5cea05a709 Rafael J. Wysocki 2017-02-24 178 }
e8db0be1245de1 Jean Pihet 2011-08-25 179 #else
ae0fb4b72c8db7 Rafael J. Wysocki 2012-10-23 180 static inline enum pm_qos_flags_status __dev_pm_qos_flags(struct device *dev,
ae0fb4b72c8db7 Rafael J. Wysocki 2012-10-23 181 s32 mask)
ae0fb4b72c8db7 Rafael J. Wysocki 2012-10-23 182 { return PM_QOS_FLAGS_UNDEFINED; }
ae0fb4b72c8db7 Rafael J. Wysocki 2012-10-23 183 static inline enum pm_qos_flags_status dev_pm_qos_flags(struct device *dev,
ae0fb4b72c8db7 Rafael J. Wysocki 2012-10-23 184 s32 mask)
ae0fb4b72c8db7 Rafael J. Wysocki 2012-10-23 185 { return PM_QOS_FLAGS_UNDEFINED; }
8262331eaaf751 Viresh Kumar 2019-07-04 186 static inline s32 __dev_pm_qos_resume_latency(struct device *dev)
0759e80b84e34a Rafael J. Wysocki 2017-11-07 187 { return PM_QOS_RESUME_LATENCY_NO_CONSTRAINT; }
2a79ea5ec53973 Viresh Kumar 2019-07-04 188 static inline s32 dev_pm_qos_read_value(struct device *dev,
2a79ea5ec53973 Viresh Kumar 2019-07-04 189 enum dev_pm_qos_req_type type)
2a79ea5ec53973 Viresh Kumar 2019-07-04 190 {
2a79ea5ec53973 Viresh Kumar 2019-07-04 191 switch (type) {
2a79ea5ec53973 Viresh Kumar 2019-07-04 192 case DEV_PM_QOS_RESUME_LATENCY:
2a79ea5ec53973 Viresh Kumar 2019-07-04 193 return PM_QOS_RESUME_LATENCY_NO_CONSTRAINT;
208637b37824c8 Viresh Kumar 2019-07-04 @194 case DEV_PM_QOS_MIN_FREQUENCY:
208637b37824c8 Viresh Kumar 2019-07-04 @195 return PM_QOS_MIN_FREQUENCY_DEFAULT_VALUE;
208637b37824c8 Viresh Kumar 2019-07-04 @196 case DEV_PM_QOS_MAX_FREQUENCY:
208637b37824c8 Viresh Kumar 2019-07-04 @197 return PM_QOS_MAX_FREQUENCY_DEFAULT_VALUE;
2a79ea5ec53973 Viresh Kumar 2019-07-04 198 default:
2a79ea5ec53973 Viresh Kumar 2019-07-04 199 WARN_ON(1);
2a79ea5ec53973 Viresh Kumar 2019-07-04 200 return 0;
2a79ea5ec53973 Viresh Kumar 2019-07-04 201 }
2a79ea5ec53973 Viresh Kumar 2019-07-04 202 }
2a79ea5ec53973 Viresh Kumar 2019-07-04 203
:::::: The code at line 194 was first introduced by commit
:::::: 208637b37824c8956fe28d277835a403ee35fa84 PM / QoS: Add support for MIN/MAX frequency constraints
:::::: TO: Viresh Kumar <viresh.kumar(a)linaro.org>
:::::: CC: Rafael J. Wysocki <rafael.j.wysocki(a)intel.com>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
2 years, 8 months