@@ -525,12 +525,10 @@ static void acpi_ec_clear(struct acpi_ec *ec)
525525
526526static void acpi_ec_enable_event (struct acpi_ec * ec )
527527{
528- unsigned long flags ;
529-
530- spin_lock_irqsave (& ec -> lock , flags );
528+ spin_lock (& ec -> lock );
531529 if (acpi_ec_started (ec ))
532530 __acpi_ec_enable_event (ec );
533- spin_unlock_irqrestore (& ec -> lock , flags );
531+ spin_unlock (& ec -> lock );
534532
535533 /* Drain additional events if hardware requires that */
536534 if (EC_FLAGS_CLEAR_ON_RESUME )
@@ -546,11 +544,9 @@ static void __acpi_ec_flush_work(void)
546544
547545static void acpi_ec_disable_event (struct acpi_ec * ec )
548546{
549- unsigned long flags ;
550-
551- spin_lock_irqsave (& ec -> lock , flags );
547+ spin_lock (& ec -> lock );
552548 __acpi_ec_disable_event (ec );
553- spin_unlock_irqrestore (& ec -> lock , flags );
549+ spin_unlock (& ec -> lock );
554550
555551 /*
556552 * When ec_freeze_events is true, we need to flush events in
@@ -571,10 +567,9 @@ void acpi_ec_flush_work(void)
571567
572568static bool acpi_ec_guard_event (struct acpi_ec * ec )
573569{
574- unsigned long flags ;
575570 bool guarded ;
576571
577- spin_lock_irqsave (& ec -> lock , flags );
572+ spin_lock (& ec -> lock );
578573 /*
579574 * If firmware SCI_EVT clearing timing is "event", we actually
580575 * don't know when the SCI_EVT will be cleared by firmware after
@@ -590,31 +585,29 @@ static bool acpi_ec_guard_event(struct acpi_ec *ec)
590585 guarded = ec_event_clearing == ACPI_EC_EVT_TIMING_EVENT &&
591586 ec -> event_state != EC_EVENT_READY &&
592587 (!ec -> curr || ec -> curr -> command != ACPI_EC_COMMAND_QUERY );
593- spin_unlock_irqrestore (& ec -> lock , flags );
588+ spin_unlock (& ec -> lock );
594589 return guarded ;
595590}
596591
597592static int ec_transaction_polled (struct acpi_ec * ec )
598593{
599- unsigned long flags ;
600594 int ret = 0 ;
601595
602- spin_lock_irqsave (& ec -> lock , flags );
596+ spin_lock (& ec -> lock );
603597 if (ec -> curr && (ec -> curr -> flags & ACPI_EC_COMMAND_POLL ))
604598 ret = 1 ;
605- spin_unlock_irqrestore (& ec -> lock , flags );
599+ spin_unlock (& ec -> lock );
606600 return ret ;
607601}
608602
609603static int ec_transaction_completed (struct acpi_ec * ec )
610604{
611- unsigned long flags ;
612605 int ret = 0 ;
613606
614- spin_lock_irqsave (& ec -> lock , flags );
607+ spin_lock (& ec -> lock );
615608 if (ec -> curr && (ec -> curr -> flags & ACPI_EC_COMMAND_COMPLETE ))
616609 ret = 1 ;
617- spin_unlock_irqrestore (& ec -> lock , flags );
610+ spin_unlock (& ec -> lock );
618611 return ret ;
619612}
620613
@@ -756,7 +749,6 @@ static int ec_guard(struct acpi_ec *ec)
756749
757750static int ec_poll (struct acpi_ec * ec )
758751{
759- unsigned long flags ;
760752 int repeat = 5 ; /* number of command restarts */
761753
762754 while (repeat -- ) {
@@ -765,26 +757,25 @@ static int ec_poll(struct acpi_ec *ec)
765757 do {
766758 if (!ec_guard (ec ))
767759 return 0 ;
768- spin_lock_irqsave (& ec -> lock , flags );
760+ spin_lock (& ec -> lock );
769761 advance_transaction (ec , false);
770- spin_unlock_irqrestore (& ec -> lock , flags );
762+ spin_unlock (& ec -> lock );
771763 } while (time_before (jiffies , delay ));
772764 pr_debug ("controller reset, restart transaction\n" );
773- spin_lock_irqsave (& ec -> lock , flags );
765+ spin_lock (& ec -> lock );
774766 start_transaction (ec );
775- spin_unlock_irqrestore (& ec -> lock , flags );
767+ spin_unlock (& ec -> lock );
776768 }
777769 return - ETIME ;
778770}
779771
780772static int acpi_ec_transaction_unlocked (struct acpi_ec * ec ,
781773 struct transaction * t )
782774{
783- unsigned long tmp ;
784775 int ret = 0 ;
785776
786777 /* start transaction */
787- spin_lock_irqsave (& ec -> lock , tmp );
778+ spin_lock (& ec -> lock );
788779 /* Enable GPE for command processing (IBF=0/OBF=1) */
789780 if (!acpi_ec_submit_flushable_request (ec )) {
790781 ret = - EINVAL ;
@@ -795,11 +786,11 @@ static int acpi_ec_transaction_unlocked(struct acpi_ec *ec,
795786 ec -> curr = t ;
796787 ec_dbg_req ("Command(%s) started" , acpi_ec_cmd_string (t -> command ));
797788 start_transaction (ec );
798- spin_unlock_irqrestore (& ec -> lock , tmp );
789+ spin_unlock (& ec -> lock );
799790
800791 ret = ec_poll (ec );
801792
802- spin_lock_irqsave (& ec -> lock , tmp );
793+ spin_lock (& ec -> lock );
803794 if (t -> irq_count == ec_storm_threshold )
804795 acpi_ec_unmask_events (ec );
805796 ec_dbg_req ("Command(%s) stopped" , acpi_ec_cmd_string (t -> command ));
@@ -808,7 +799,7 @@ static int acpi_ec_transaction_unlocked(struct acpi_ec *ec,
808799 acpi_ec_complete_request (ec );
809800 ec_dbg_ref (ec , "Decrease command" );
810801unlock :
811- spin_unlock_irqrestore (& ec -> lock , tmp );
802+ spin_unlock (& ec -> lock );
812803 return ret ;
813804}
814805
@@ -936,9 +927,7 @@ EXPORT_SYMBOL(ec_get_handle);
936927
937928static void acpi_ec_start (struct acpi_ec * ec , bool resuming )
938929{
939- unsigned long flags ;
940-
941- spin_lock_irqsave (& ec -> lock , flags );
930+ spin_lock (& ec -> lock );
942931 if (!test_and_set_bit (EC_FLAGS_STARTED , & ec -> flags )) {
943932 ec_dbg_drv ("Starting EC" );
944933 /* Enable GPE for event processing (SCI_EVT=1) */
@@ -948,31 +937,28 @@ static void acpi_ec_start(struct acpi_ec *ec, bool resuming)
948937 }
949938 ec_log_drv ("EC started" );
950939 }
951- spin_unlock_irqrestore (& ec -> lock , flags );
940+ spin_unlock (& ec -> lock );
952941}
953942
954943static bool acpi_ec_stopped (struct acpi_ec * ec )
955944{
956- unsigned long flags ;
957945 bool flushed ;
958946
959- spin_lock_irqsave (& ec -> lock , flags );
947+ spin_lock (& ec -> lock );
960948 flushed = acpi_ec_flushed (ec );
961- spin_unlock_irqrestore (& ec -> lock , flags );
949+ spin_unlock (& ec -> lock );
962950 return flushed ;
963951}
964952
965953static void acpi_ec_stop (struct acpi_ec * ec , bool suspending )
966954{
967- unsigned long flags ;
968-
969- spin_lock_irqsave (& ec -> lock , flags );
955+ spin_lock (& ec -> lock );
970956 if (acpi_ec_started (ec )) {
971957 ec_dbg_drv ("Stopping EC" );
972958 set_bit (EC_FLAGS_STOPPED , & ec -> flags );
973- spin_unlock_irqrestore (& ec -> lock , flags );
959+ spin_unlock (& ec -> lock );
974960 wait_event (ec -> wait , acpi_ec_stopped (ec ));
975- spin_lock_irqsave (& ec -> lock , flags );
961+ spin_lock (& ec -> lock );
976962 /* Disable GPE for event processing (SCI_EVT=1) */
977963 if (!suspending ) {
978964 acpi_ec_complete_request (ec );
@@ -983,29 +969,25 @@ static void acpi_ec_stop(struct acpi_ec *ec, bool suspending)
983969 clear_bit (EC_FLAGS_STOPPED , & ec -> flags );
984970 ec_log_drv ("EC stopped" );
985971 }
986- spin_unlock_irqrestore (& ec -> lock , flags );
972+ spin_unlock (& ec -> lock );
987973}
988974
989975static void acpi_ec_enter_noirq (struct acpi_ec * ec )
990976{
991- unsigned long flags ;
992-
993- spin_lock_irqsave (& ec -> lock , flags );
977+ spin_lock (& ec -> lock );
994978 ec -> busy_polling = true;
995979 ec -> polling_guard = 0 ;
996980 ec_log_drv ("interrupt blocked" );
997- spin_unlock_irqrestore (& ec -> lock , flags );
981+ spin_unlock (& ec -> lock );
998982}
999983
1000984static void acpi_ec_leave_noirq (struct acpi_ec * ec )
1001985{
1002- unsigned long flags ;
1003-
1004- spin_lock_irqsave (& ec -> lock , flags );
986+ spin_lock (& ec -> lock );
1005987 ec -> busy_polling = ec_busy_polling ;
1006988 ec -> polling_guard = ec_polling_guard ;
1007989 ec_log_drv ("interrupt unblocked" );
1008- spin_unlock_irqrestore (& ec -> lock , flags );
990+ spin_unlock (& ec -> lock );
1009991}
1010992
1011993void acpi_ec_block_transactions (void )
@@ -1137,9 +1119,9 @@ static void acpi_ec_event_processor(struct work_struct *work)
11371119
11381120 ec_dbg_evt ("Query(0x%02x) stopped" , handler -> query_bit );
11391121
1140- spin_lock_irq (& ec -> lock );
1122+ spin_lock (& ec -> lock );
11411123 ec -> queries_in_progress -- ;
1142- spin_unlock_irq (& ec -> lock );
1124+ spin_unlock (& ec -> lock );
11431125
11441126 acpi_ec_put_query_handler (handler );
11451127 kfree (q );
@@ -1202,12 +1184,12 @@ static int acpi_ec_submit_query(struct acpi_ec *ec)
12021184 */
12031185 ec_dbg_evt ("Query(0x%02x) scheduled" , value );
12041186
1205- spin_lock_irq (& ec -> lock );
1187+ spin_lock (& ec -> lock );
12061188
12071189 ec -> queries_in_progress ++ ;
12081190 queue_work (ec_query_wq , & q -> work );
12091191
1210- spin_unlock_irq (& ec -> lock );
1192+ spin_unlock (& ec -> lock );
12111193
12121194 return 0 ;
12131195
@@ -1223,14 +1205,14 @@ static void acpi_ec_event_handler(struct work_struct *work)
12231205
12241206 ec_dbg_evt ("Event started" );
12251207
1226- spin_lock_irq (& ec -> lock );
1208+ spin_lock (& ec -> lock );
12271209
12281210 while (ec -> events_to_process ) {
1229- spin_unlock_irq (& ec -> lock );
1211+ spin_unlock (& ec -> lock );
12301212
12311213 acpi_ec_submit_query (ec );
12321214
1233- spin_lock_irq (& ec -> lock );
1215+ spin_lock (& ec -> lock );
12341216
12351217 ec -> events_to_process -- ;
12361218 }
@@ -1247,11 +1229,11 @@ static void acpi_ec_event_handler(struct work_struct *work)
12471229
12481230 ec_dbg_evt ("Event stopped" );
12491231
1250- spin_unlock_irq (& ec -> lock );
1232+ spin_unlock (& ec -> lock );
12511233
12521234 guard_timeout = !!ec_guard (ec );
12531235
1254- spin_lock_irq (& ec -> lock );
1236+ spin_lock (& ec -> lock );
12551237
12561238 /* Take care of SCI_EVT unless someone else is doing that. */
12571239 if (guard_timeout && !ec -> curr )
@@ -1264,7 +1246,7 @@ static void acpi_ec_event_handler(struct work_struct *work)
12641246
12651247 ec -> events_in_progress -- ;
12661248
1267- spin_unlock_irq (& ec -> lock );
1249+ spin_unlock (& ec -> lock );
12681250}
12691251
12701252static void clear_gpe_and_advance_transaction (struct acpi_ec * ec , bool interrupt )
@@ -1289,13 +1271,11 @@ static void clear_gpe_and_advance_transaction(struct acpi_ec *ec, bool interrupt
12891271
12901272static void acpi_ec_handle_interrupt (struct acpi_ec * ec )
12911273{
1292- unsigned long flags ;
1293-
1294- spin_lock_irqsave (& ec -> lock , flags );
1274+ spin_lock (& ec -> lock );
12951275
12961276 clear_gpe_and_advance_transaction (ec , true);
12971277
1298- spin_unlock_irqrestore (& ec -> lock , flags );
1278+ spin_unlock (& ec -> lock );
12991279}
13001280
13011281static u32 acpi_ec_gpe_handler (acpi_handle gpe_device ,
@@ -2105,7 +2085,7 @@ bool acpi_ec_dispatch_gpe(void)
21052085 * Dispatch the EC GPE in-band, but do not report wakeup in any case
21062086 * to allow the caller to process events properly after that.
21072087 */
2108- spin_lock_irq (& first_ec -> lock );
2088+ spin_lock (& first_ec -> lock );
21092089
21102090 if (acpi_ec_gpe_status_set (first_ec )) {
21112091 pm_pr_dbg ("ACPI EC GPE status set\n" );
@@ -2114,7 +2094,7 @@ bool acpi_ec_dispatch_gpe(void)
21142094 work_in_progress = acpi_ec_work_in_progress (first_ec );
21152095 }
21162096
2117- spin_unlock_irq (& first_ec -> lock );
2097+ spin_unlock (& first_ec -> lock );
21182098
21192099 if (!work_in_progress )
21202100 return false;
@@ -2127,11 +2107,11 @@ bool acpi_ec_dispatch_gpe(void)
21272107
21282108 pm_pr_dbg ("ACPI EC work flushed\n" );
21292109
2130- spin_lock_irq (& first_ec -> lock );
2110+ spin_lock (& first_ec -> lock );
21312111
21322112 work_in_progress = acpi_ec_work_in_progress (first_ec );
21332113
2134- spin_unlock_irq (& first_ec -> lock );
2114+ spin_unlock (& first_ec -> lock );
21352115 } while (work_in_progress && !pm_wakeup_pending ());
21362116
21372117 return false;
0 commit comments