aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/acpi/events/evgpeblk.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/acpi/events/evgpeblk.c')
-rw-r--r--drivers/acpi/events/evgpeblk.c96
1 files changed, 55 insertions, 41 deletions
diff --git a/drivers/acpi/events/evgpeblk.c b/drivers/acpi/events/evgpeblk.c
index 0fd00b5ad650..95ddeb48bc0f 100644
--- a/drivers/acpi/events/evgpeblk.c
+++ b/drivers/acpi/events/evgpeblk.c
@@ -131,14 +131,14 @@ u8 acpi_ev_valid_gpe_event(struct acpi_gpe_event_info *gpe_event_info)
131 * 131 *
132 ******************************************************************************/ 132 ******************************************************************************/
133 133
134acpi_status acpi_ev_walk_gpe_list(ACPI_GPE_CALLBACK gpe_walk_callback) 134acpi_status acpi_ev_walk_gpe_list(acpi_gpe_callback gpe_walk_callback)
135{ 135{
136 struct acpi_gpe_block_info *gpe_block; 136 struct acpi_gpe_block_info *gpe_block;
137 struct acpi_gpe_xrupt_info *gpe_xrupt_info; 137 struct acpi_gpe_xrupt_info *gpe_xrupt_info;
138 acpi_status status = AE_OK; 138 acpi_status status = AE_OK;
139 acpi_cpu_flags flags; 139 acpi_cpu_flags flags;
140 140
141 ACPI_FUNCTION_TRACE("ev_walk_gpe_list"); 141 ACPI_FUNCTION_TRACE(ev_walk_gpe_list);
142 142
143 flags = acpi_os_acquire_lock(acpi_gbl_gpe_lock); 143 flags = acpi_os_acquire_lock(acpi_gbl_gpe_lock);
144 144
@@ -146,10 +146,12 @@ acpi_status acpi_ev_walk_gpe_list(ACPI_GPE_CALLBACK gpe_walk_callback)
146 146
147 gpe_xrupt_info = acpi_gbl_gpe_xrupt_list_head; 147 gpe_xrupt_info = acpi_gbl_gpe_xrupt_list_head;
148 while (gpe_xrupt_info) { 148 while (gpe_xrupt_info) {
149
149 /* Walk all Gpe Blocks attached to this interrupt level */ 150 /* Walk all Gpe Blocks attached to this interrupt level */
150 151
151 gpe_block = gpe_xrupt_info->gpe_block_list_head; 152 gpe_block = gpe_xrupt_info->gpe_block_list_head;
152 while (gpe_block) { 153 while (gpe_block) {
154
153 /* One callback per GPE block */ 155 /* One callback per GPE block */
154 156
155 status = gpe_walk_callback(gpe_xrupt_info, gpe_block); 157 status = gpe_walk_callback(gpe_xrupt_info, gpe_block);
@@ -190,11 +192,12 @@ acpi_ev_delete_gpe_handlers(struct acpi_gpe_xrupt_info *gpe_xrupt_info,
190 acpi_native_uint i; 192 acpi_native_uint i;
191 acpi_native_uint j; 193 acpi_native_uint j;
192 194
193 ACPI_FUNCTION_TRACE("ev_delete_gpe_handlers"); 195 ACPI_FUNCTION_TRACE(ev_delete_gpe_handlers);
194 196
195 /* Examine each GPE Register within the block */ 197 /* Examine each GPE Register within the block */
196 198
197 for (i = 0; i < gpe_block->register_count; i++) { 199 for (i = 0; i < gpe_block->register_count; i++) {
200
198 /* Now look at the individual GPEs in this byte register */ 201 /* Now look at the individual GPEs in this byte register */
199 202
200 for (j = 0; j < ACPI_GPE_REGISTER_WIDTH; j++) { 203 for (j = 0; j < ACPI_GPE_REGISTER_WIDTH; j++) {
@@ -204,7 +207,7 @@ acpi_ev_delete_gpe_handlers(struct acpi_gpe_xrupt_info *gpe_xrupt_info,
204 207
205 if ((gpe_event_info->flags & ACPI_GPE_DISPATCH_MASK) == 208 if ((gpe_event_info->flags & ACPI_GPE_DISPATCH_MASK) ==
206 ACPI_GPE_DISPATCH_HANDLER) { 209 ACPI_GPE_DISPATCH_HANDLER) {
207 ACPI_MEM_FREE(gpe_event_info->dispatch.handler); 210 ACPI_FREE(gpe_event_info->dispatch.handler);
208 gpe_event_info->dispatch.handler = NULL; 211 gpe_event_info->dispatch.handler = NULL;
209 gpe_event_info->flags &= 212 gpe_event_info->flags &=
210 ~ACPI_GPE_DISPATCH_MASK; 213 ~ACPI_GPE_DISPATCH_MASK;
@@ -248,7 +251,7 @@ acpi_ev_save_method_info(acpi_handle obj_handle,
248 u8 type; 251 u8 type;
249 acpi_status status; 252 acpi_status status;
250 253
251 ACPI_FUNCTION_TRACE("ev_save_method_info"); 254 ACPI_FUNCTION_TRACE(ev_save_method_info);
252 255
253 /* 256 /*
254 * _Lxx and _Exx GPE method support 257 * _Lxx and _Exx GPE method support
@@ -279,9 +282,9 @@ acpi_ev_save_method_info(acpi_handle obj_handle,
279 default: 282 default:
280 /* Unknown method type, just ignore it! */ 283 /* Unknown method type, just ignore it! */
281 284
282 ACPI_ERROR((AE_INFO, 285 ACPI_DEBUG_PRINT((ACPI_DB_LOAD,
283 "Unknown GPE method type: %s (name not of form _Lxx or _Exx)", 286 "Ignoring unknown GPE method type: %s (name not of form _Lxx or _Exx)",
284 name)); 287 name));
285 return_ACPI_STATUS(AE_OK); 288 return_ACPI_STATUS(AE_OK);
286 } 289 }
287 290
@@ -289,11 +292,12 @@ acpi_ev_save_method_info(acpi_handle obj_handle,
289 292
290 gpe_number = ACPI_STRTOUL(&name[2], NULL, 16); 293 gpe_number = ACPI_STRTOUL(&name[2], NULL, 16);
291 if (gpe_number == ACPI_UINT32_MAX) { 294 if (gpe_number == ACPI_UINT32_MAX) {
295
292 /* Conversion failed; invalid method, just ignore it */ 296 /* Conversion failed; invalid method, just ignore it */
293 297
294 ACPI_ERROR((AE_INFO, 298 ACPI_DEBUG_PRINT((ACPI_DB_LOAD,
295 "Could not extract GPE number from name: %s (name is not of form _Lxx or _Exx)", 299 "Could not extract GPE number from name: %s (name is not of form _Lxx or _Exx)",
296 name)); 300 name));
297 return_ACPI_STATUS(AE_OK); 301 return_ACPI_STATUS(AE_OK);
298 } 302 }
299 303
@@ -364,13 +368,14 @@ acpi_ev_match_prw_and_gpe(acpi_handle obj_handle,
364 u32 gpe_number; 368 u32 gpe_number;
365 acpi_status status; 369 acpi_status status;
366 370
367 ACPI_FUNCTION_TRACE("ev_match_prw_and_gpe"); 371 ACPI_FUNCTION_TRACE(ev_match_prw_and_gpe);
368 372
369 /* Check for a _PRW method under this device */ 373 /* Check for a _PRW method under this device */
370 374
371 status = acpi_ut_evaluate_object(obj_handle, METHOD_NAME__PRW, 375 status = acpi_ut_evaluate_object(obj_handle, METHOD_NAME__PRW,
372 ACPI_BTYPE_PACKAGE, &pkg_desc); 376 ACPI_BTYPE_PACKAGE, &pkg_desc);
373 if (ACPI_FAILURE(status)) { 377 if (ACPI_FAILURE(status)) {
378
374 /* Ignore all errors from _PRW, we don't want to abort the subsystem */ 379 /* Ignore all errors from _PRW, we don't want to abort the subsystem */
375 380
376 return_ACPI_STATUS(AE_OK); 381 return_ACPI_STATUS(AE_OK);
@@ -394,6 +399,7 @@ acpi_ev_match_prw_and_gpe(acpi_handle obj_handle,
394 obj_desc = pkg_desc->package.elements[0]; 399 obj_desc = pkg_desc->package.elements[0];
395 400
396 if (ACPI_GET_OBJECT_TYPE(obj_desc) == ACPI_TYPE_INTEGER) { 401 if (ACPI_GET_OBJECT_TYPE(obj_desc) == ACPI_TYPE_INTEGER) {
402
397 /* Use FADT-defined GPE device (from definition of _PRW) */ 403 /* Use FADT-defined GPE device (from definition of _PRW) */
398 404
399 target_gpe_device = acpi_gbl_fadt_gpe_device; 405 target_gpe_device = acpi_gbl_fadt_gpe_device;
@@ -402,6 +408,7 @@ acpi_ev_match_prw_and_gpe(acpi_handle obj_handle,
402 408
403 gpe_number = (u32) obj_desc->integer.value; 409 gpe_number = (u32) obj_desc->integer.value;
404 } else if (ACPI_GET_OBJECT_TYPE(obj_desc) == ACPI_TYPE_PACKAGE) { 410 } else if (ACPI_GET_OBJECT_TYPE(obj_desc) == ACPI_TYPE_PACKAGE) {
411
405 /* Package contains a GPE reference and GPE number within a GPE block */ 412 /* Package contains a GPE reference and GPE number within a GPE block */
406 413
407 if ((obj_desc->package.count < 2) || 414 if ((obj_desc->package.count < 2) ||
@@ -482,7 +489,7 @@ static struct acpi_gpe_xrupt_info *acpi_ev_get_gpe_xrupt_block(u32
482 acpi_status status; 489 acpi_status status;
483 acpi_cpu_flags flags; 490 acpi_cpu_flags flags;
484 491
485 ACPI_FUNCTION_TRACE("ev_get_gpe_xrupt_block"); 492 ACPI_FUNCTION_TRACE(ev_get_gpe_xrupt_block);
486 493
487 /* No need for lock since we are not changing any list elements here */ 494 /* No need for lock since we are not changing any list elements here */
488 495
@@ -497,7 +504,7 @@ static struct acpi_gpe_xrupt_info *acpi_ev_get_gpe_xrupt_block(u32
497 504
498 /* Not found, must allocate a new xrupt descriptor */ 505 /* Not found, must allocate a new xrupt descriptor */
499 506
500 gpe_xrupt = ACPI_MEM_CALLOCATE(sizeof(struct acpi_gpe_xrupt_info)); 507 gpe_xrupt = ACPI_ALLOCATE_ZEROED(sizeof(struct acpi_gpe_xrupt_info));
501 if (!gpe_xrupt) { 508 if (!gpe_xrupt) {
502 return_PTR(NULL); 509 return_PTR(NULL);
503 } 510 }
@@ -556,7 +563,7 @@ acpi_ev_delete_gpe_xrupt(struct acpi_gpe_xrupt_info *gpe_xrupt)
556 acpi_status status; 563 acpi_status status;
557 acpi_cpu_flags flags; 564 acpi_cpu_flags flags;
558 565
559 ACPI_FUNCTION_TRACE("ev_delete_gpe_xrupt"); 566 ACPI_FUNCTION_TRACE(ev_delete_gpe_xrupt);
560 567
561 /* We never want to remove the SCI interrupt handler */ 568 /* We never want to remove the SCI interrupt handler */
562 569
@@ -588,7 +595,7 @@ acpi_ev_delete_gpe_xrupt(struct acpi_gpe_xrupt_info *gpe_xrupt)
588 595
589 /* Free the block */ 596 /* Free the block */
590 597
591 ACPI_MEM_FREE(gpe_xrupt); 598 ACPI_FREE(gpe_xrupt);
592 return_ACPI_STATUS(AE_OK); 599 return_ACPI_STATUS(AE_OK);
593} 600}
594 601
@@ -614,7 +621,7 @@ acpi_ev_install_gpe_block(struct acpi_gpe_block_info *gpe_block,
614 acpi_status status; 621 acpi_status status;
615 acpi_cpu_flags flags; 622 acpi_cpu_flags flags;
616 623
617 ACPI_FUNCTION_TRACE("ev_install_gpe_block"); 624 ACPI_FUNCTION_TRACE(ev_install_gpe_block);
618 625
619 status = acpi_ut_acquire_mutex(ACPI_MTX_EVENTS); 626 status = acpi_ut_acquire_mutex(ACPI_MTX_EVENTS);
620 if (ACPI_FAILURE(status)) { 627 if (ACPI_FAILURE(status)) {
@@ -667,7 +674,7 @@ acpi_status acpi_ev_delete_gpe_block(struct acpi_gpe_block_info *gpe_block)
667 acpi_status status; 674 acpi_status status;
668 acpi_cpu_flags flags; 675 acpi_cpu_flags flags;
669 676
670 ACPI_FUNCTION_TRACE("ev_install_gpe_block"); 677 ACPI_FUNCTION_TRACE(ev_install_gpe_block);
671 678
672 status = acpi_ut_acquire_mutex(ACPI_MTX_EVENTS); 679 status = acpi_ut_acquire_mutex(ACPI_MTX_EVENTS);
673 if (ACPI_FAILURE(status)) { 680 if (ACPI_FAILURE(status)) {
@@ -679,6 +686,7 @@ acpi_status acpi_ev_delete_gpe_block(struct acpi_gpe_block_info *gpe_block)
679 status = acpi_hw_disable_gpe_block(gpe_block->xrupt_block, gpe_block); 686 status = acpi_hw_disable_gpe_block(gpe_block->xrupt_block, gpe_block);
680 687
681 if (!gpe_block->previous && !gpe_block->next) { 688 if (!gpe_block->previous && !gpe_block->next) {
689
682 /* This is the last gpe_block on this interrupt */ 690 /* This is the last gpe_block on this interrupt */
683 691
684 status = acpi_ev_delete_gpe_xrupt(gpe_block->xrupt_block); 692 status = acpi_ev_delete_gpe_xrupt(gpe_block->xrupt_block);
@@ -704,9 +712,9 @@ acpi_status acpi_ev_delete_gpe_block(struct acpi_gpe_block_info *gpe_block)
704 712
705 /* Free the gpe_block */ 713 /* Free the gpe_block */
706 714
707 ACPI_MEM_FREE(gpe_block->register_info); 715 ACPI_FREE(gpe_block->register_info);
708 ACPI_MEM_FREE(gpe_block->event_info); 716 ACPI_FREE(gpe_block->event_info);
709 ACPI_MEM_FREE(gpe_block); 717 ACPI_FREE(gpe_block);
710 718
711 unlock_and_exit: 719 unlock_and_exit:
712 status = acpi_ut_release_mutex(ACPI_MTX_EVENTS); 720 status = acpi_ut_release_mutex(ACPI_MTX_EVENTS);
@@ -736,17 +744,17 @@ acpi_ev_create_gpe_info_blocks(struct acpi_gpe_block_info *gpe_block)
736 acpi_native_uint j; 744 acpi_native_uint j;
737 acpi_status status; 745 acpi_status status;
738 746
739 ACPI_FUNCTION_TRACE("ev_create_gpe_info_blocks"); 747 ACPI_FUNCTION_TRACE(ev_create_gpe_info_blocks);
740 748
741 /* Allocate the GPE register information block */ 749 /* Allocate the GPE register information block */
742 750
743 gpe_register_info = ACPI_MEM_CALLOCATE((acpi_size) gpe_block-> 751 gpe_register_info = ACPI_ALLOCATE_ZEROED((acpi_size) gpe_block->
744 register_count * 752 register_count *
745 sizeof(struct 753 sizeof(struct
746 acpi_gpe_register_info)); 754 acpi_gpe_register_info));
747 if (!gpe_register_info) { 755 if (!gpe_register_info) {
748 ACPI_ERROR((AE_INFO, 756 ACPI_ERROR((AE_INFO,
749 "Could not allocate the gpe_register_info table")); 757 "Could not allocate the GpeRegisterInfo table"));
750 return_ACPI_STATUS(AE_NO_MEMORY); 758 return_ACPI_STATUS(AE_NO_MEMORY);
751 } 759 }
752 760
@@ -754,13 +762,14 @@ acpi_ev_create_gpe_info_blocks(struct acpi_gpe_block_info *gpe_block)
754 * Allocate the GPE event_info block. There are eight distinct GPEs 762 * Allocate the GPE event_info block. There are eight distinct GPEs
755 * per register. Initialization to zeros is sufficient. 763 * per register. Initialization to zeros is sufficient.
756 */ 764 */
757 gpe_event_info = ACPI_MEM_CALLOCATE(((acpi_size) gpe_block-> 765 gpe_event_info = ACPI_ALLOCATE_ZEROED(((acpi_size) gpe_block->
758 register_count * 766 register_count *
759 ACPI_GPE_REGISTER_WIDTH) * 767 ACPI_GPE_REGISTER_WIDTH) *
760 sizeof(struct acpi_gpe_event_info)); 768 sizeof(struct
769 acpi_gpe_event_info));
761 if (!gpe_event_info) { 770 if (!gpe_event_info) {
762 ACPI_ERROR((AE_INFO, 771 ACPI_ERROR((AE_INFO,
763 "Could not allocate the gpe_event_info table")); 772 "Could not allocate the GpeEventInfo table"));
764 status = AE_NO_MEMORY; 773 status = AE_NO_MEMORY;
765 goto error_exit; 774 goto error_exit;
766 } 775 }
@@ -780,6 +789,7 @@ acpi_ev_create_gpe_info_blocks(struct acpi_gpe_block_info *gpe_block)
780 this_event = gpe_event_info; 789 this_event = gpe_event_info;
781 790
782 for (i = 0; i < gpe_block->register_count; i++) { 791 for (i = 0; i < gpe_block->register_count; i++) {
792
783 /* Init the register_info for this GPE register (8 GPEs) */ 793 /* Init the register_info for this GPE register (8 GPEs) */
784 794
785 this_register->base_gpe_number = 795 this_register->base_gpe_number =
@@ -839,10 +849,10 @@ acpi_ev_create_gpe_info_blocks(struct acpi_gpe_block_info *gpe_block)
839 849
840 error_exit: 850 error_exit:
841 if (gpe_register_info) { 851 if (gpe_register_info) {
842 ACPI_MEM_FREE(gpe_register_info); 852 ACPI_FREE(gpe_register_info);
843 } 853 }
844 if (gpe_event_info) { 854 if (gpe_event_info) {
845 ACPI_MEM_FREE(gpe_event_info); 855 ACPI_FREE(gpe_event_info);
846 } 856 }
847 857
848 return_ACPI_STATUS(status); 858 return_ACPI_STATUS(status);
@@ -878,7 +888,7 @@ acpi_ev_create_gpe_block(struct acpi_namespace_node *gpe_device,
878 acpi_status status; 888 acpi_status status;
879 struct acpi_gpe_block_info *gpe_block; 889 struct acpi_gpe_block_info *gpe_block;
880 890
881 ACPI_FUNCTION_TRACE("ev_create_gpe_block"); 891 ACPI_FUNCTION_TRACE(ev_create_gpe_block);
882 892
883 if (!register_count) { 893 if (!register_count) {
884 return_ACPI_STATUS(AE_OK); 894 return_ACPI_STATUS(AE_OK);
@@ -886,7 +896,7 @@ acpi_ev_create_gpe_block(struct acpi_namespace_node *gpe_device,
886 896
887 /* Allocate a new GPE block */ 897 /* Allocate a new GPE block */
888 898
889 gpe_block = ACPI_MEM_CALLOCATE(sizeof(struct acpi_gpe_block_info)); 899 gpe_block = ACPI_ALLOCATE_ZEROED(sizeof(struct acpi_gpe_block_info));
890 if (!gpe_block) { 900 if (!gpe_block) {
891 return_ACPI_STATUS(AE_NO_MEMORY); 901 return_ACPI_STATUS(AE_NO_MEMORY);
892 } 902 }
@@ -906,7 +916,7 @@ acpi_ev_create_gpe_block(struct acpi_namespace_node *gpe_device,
906 */ 916 */
907 status = acpi_ev_create_gpe_info_blocks(gpe_block); 917 status = acpi_ev_create_gpe_info_blocks(gpe_block);
908 if (ACPI_FAILURE(status)) { 918 if (ACPI_FAILURE(status)) {
909 ACPI_MEM_FREE(gpe_block); 919 ACPI_FREE(gpe_block);
910 return_ACPI_STATUS(status); 920 return_ACPI_STATUS(status);
911 } 921 }
912 922
@@ -914,7 +924,7 @@ acpi_ev_create_gpe_block(struct acpi_namespace_node *gpe_device,
914 924
915 status = acpi_ev_install_gpe_block(gpe_block, interrupt_number); 925 status = acpi_ev_install_gpe_block(gpe_block, interrupt_number);
916 if (ACPI_FAILURE(status)) { 926 if (ACPI_FAILURE(status)) {
917 ACPI_MEM_FREE(gpe_block); 927 ACPI_FREE(gpe_block);
918 return_ACPI_STATUS(status); 928 return_ACPI_STATUS(status);
919 } 929 }
920 930
@@ -971,7 +981,7 @@ acpi_ev_initialize_gpe_block(struct acpi_namespace_node *gpe_device,
971 acpi_native_uint i; 981 acpi_native_uint i;
972 acpi_native_uint j; 982 acpi_native_uint j;
973 983
974 ACPI_FUNCTION_TRACE("ev_initialize_gpe_block"); 984 ACPI_FUNCTION_TRACE(ev_initialize_gpe_block);
975 985
976 /* Ignore a null GPE block (e.g., if no GPE block 1 exists) */ 986 /* Ignore a null GPE block (e.g., if no GPE block 1 exists) */
977 987
@@ -1013,6 +1023,7 @@ acpi_ev_initialize_gpe_block(struct acpi_namespace_node *gpe_device,
1013 1023
1014 for (i = 0; i < gpe_block->register_count; i++) { 1024 for (i = 0; i < gpe_block->register_count; i++) {
1015 for (j = 0; j < 8; j++) { 1025 for (j = 0; j < 8; j++) {
1026
1016 /* Get the info block for this particular GPE */ 1027 /* Get the info block for this particular GPE */
1017 1028
1018 gpe_event_info = 1029 gpe_event_info =
@@ -1040,7 +1051,7 @@ acpi_ev_initialize_gpe_block(struct acpi_namespace_node *gpe_device,
1040 1051
1041 status = acpi_hw_enable_runtime_gpe_block(NULL, gpe_block); 1052 status = acpi_hw_enable_runtime_gpe_block(NULL, gpe_block);
1042 if (ACPI_FAILURE(status)) { 1053 if (ACPI_FAILURE(status)) {
1043 ACPI_ERROR((AE_INFO, "Could not enable GPEs in gpe_block %p", 1054 ACPI_ERROR((AE_INFO, "Could not enable GPEs in GpeBlock %p",
1044 gpe_block)); 1055 gpe_block));
1045 } 1056 }
1046 1057
@@ -1066,7 +1077,7 @@ acpi_status acpi_ev_gpe_initialize(void)
1066 u32 gpe_number_max = 0; 1077 u32 gpe_number_max = 0;
1067 acpi_status status; 1078 acpi_status status;
1068 1079
1069 ACPI_FUNCTION_TRACE("ev_gpe_initialize"); 1080 ACPI_FUNCTION_TRACE(ev_gpe_initialize);
1070 1081
1071 status = acpi_ut_acquire_mutex(ACPI_MTX_NAMESPACE); 1082 status = acpi_ut_acquire_mutex(ACPI_MTX_NAMESPACE);
1072 if (ACPI_FAILURE(status)) { 1083 if (ACPI_FAILURE(status)) {
@@ -1099,6 +1110,7 @@ acpi_status acpi_ev_gpe_initialize(void)
1099 * particular block is not supported. 1110 * particular block is not supported.
1100 */ 1111 */
1101 if (acpi_gbl_FADT->gpe0_blk_len && acpi_gbl_FADT->xgpe0_blk.address) { 1112 if (acpi_gbl_FADT->gpe0_blk_len && acpi_gbl_FADT->xgpe0_blk.address) {
1113
1102 /* GPE block 0 exists (has both length and address > 0) */ 1114 /* GPE block 0 exists (has both length and address > 0) */
1103 1115
1104 register_count0 = (u16) (acpi_gbl_FADT->gpe0_blk_len / 2); 1116 register_count0 = (u16) (acpi_gbl_FADT->gpe0_blk_len / 2);
@@ -1121,6 +1133,7 @@ acpi_status acpi_ev_gpe_initialize(void)
1121 } 1133 }
1122 1134
1123 if (acpi_gbl_FADT->gpe1_blk_len && acpi_gbl_FADT->xgpe1_blk.address) { 1135 if (acpi_gbl_FADT->gpe1_blk_len && acpi_gbl_FADT->xgpe1_blk.address) {
1136
1124 /* GPE block 1 exists (has both length and address > 0) */ 1137 /* GPE block 1 exists (has both length and address > 0) */
1125 1138
1126 register_count1 = (u16) (acpi_gbl_FADT->gpe1_blk_len / 2); 1139 register_count1 = (u16) (acpi_gbl_FADT->gpe1_blk_len / 2);
@@ -1168,6 +1181,7 @@ acpi_status acpi_ev_gpe_initialize(void)
1168 /* Exit if there are no GPE registers */ 1181 /* Exit if there are no GPE registers */
1169 1182
1170 if ((register_count0 + register_count1) == 0) { 1183 if ((register_count0 + register_count1) == 0) {
1184
1171 /* GPEs are not required by ACPI, this is OK */ 1185 /* GPEs are not required by ACPI, this is OK */
1172 1186
1173 ACPI_DEBUG_PRINT((ACPI_DB_INIT, 1187 ACPI_DEBUG_PRINT((ACPI_DB_INIT,