Message ID | 20200730014531.310465-14-gshan@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Refactor SDEI client driver | expand |
Hi Gavin, On 30/07/2020 02:45, Gavin Shan wrote: > _sdei_event_unregister() is called by sdei_event_unregister() and > sdei_device_freeze(). _sdei_event_unregister() covers the shared > and private events, but sdei_device_freeze() only covers the shared > events. So the logic to cover the private events isn't needed by > sdei_device_freeze(). > > sdei_event_unregister sdei_device_freeze > _sdei_event_unregister sdei_unregister_shared > _sdei_event_unregister > > This removes _sdei_event_unregister(). Its logic is moved to its > callers accordingly. This shouldn't cause any logicial changes. (logical) Reviewed-by: James Morse <james.morse@arm.com> Thanks James
diff --git a/drivers/firmware/arm_sdei.c b/drivers/firmware/arm_sdei.c index 749f1619e652..2678475940e6 100644 --- a/drivers/firmware/arm_sdei.c +++ b/drivers/firmware/arm_sdei.c @@ -487,16 +487,6 @@ static void _local_event_unregister(void *data) sdei_cross_call_return(arg, err); } -static int _sdei_event_unregister(struct sdei_event *event) -{ - lockdep_assert_held(&sdei_events_lock); - - if (event->type == SDEI_EVENT_TYPE_SHARED) - return sdei_api_event_unregister(event->event_num); - - return sdei_do_cross_call(_local_event_unregister, event); -} - int sdei_event_unregister(u32 event_num) { int err; @@ -517,7 +507,11 @@ int sdei_event_unregister(u32 event_num) event->reenable = false; spin_unlock(&sdei_list_lock); - err = _sdei_event_unregister(event); + if (event->type == SDEI_EVENT_TYPE_SHARED) + err = sdei_api_event_unregister(event->event_num); + else + err = sdei_do_cross_call(_local_event_unregister, event); + if (err) goto unlock; @@ -543,7 +537,7 @@ static int sdei_unregister_shared(void) if (event->type != SDEI_EVENT_TYPE_SHARED) continue; - err = _sdei_event_unregister(event); + err = sdei_api_event_unregister(event->event_num); if (err) break; }