Message ID | 20200706054732.99387-1-gshan@redhat.com (mailing list archive) |
---|---|
Headers | show |
Series | Refactor SDEI client driver | expand |
On 7/6/20 3:47 PM, Gavin Shan wrote: > This series bases on 5.8-rc4 and refactors the SDEI client driver. > It's the preparatory work of virtualizing SDEI afterwords. The series > is organized as below: > > * PATCH[1-11] refactors and clean up the code. They shouldn't cause > any functional changes. > * PATCH[12] exposes "struct sdei_event", which will be dereferenced > on virtualizing SDEI. After it's applied, the SDEI event is identified > by the instance of "struct sdei_event" instead of event number. > * PATCH[13] retrieves the signaled property of the SDEI event when it's > populated. It's needed by SDEI virtualization afterwards. > * PATCH[14] exposes API (sdei_event_get_info()), which is needed by SDEI > virtualization either. > The code can be checked out from github: git@github.com:gwshan/linux.git (branch: "sdei_client") Thanks, Gavin > Testing > ======= > I have the SDEI virtualization code implemented as part of KVM module. With > that, the SDEI event can be registered/unregistered/enabled/disabled. Also, > the SDEI event can be injected from host and the guest handler runs properly. > > Gavin Shan (14): > drivers/firmware/sdei: Remove sdei_is_err() > drivers/firmware/sdei: Common block for failing path in > sdei_event_create() > drivers/firmware/sdei: Dereference SDEI event parameter directly > drivers/firmware/sdei: Rework sdei_init() > drivers/firmware/sdei: Remove sdei_get_conduit() > drivers/firmware/sdei: Drop redundant error message in sdei_probe() > drivers/firmware/sdei: Drop unnecessary while loop > drivers/firmware/sdei: Cleanup on cross call functions > drivers/firmware/sdei: Introduce sdei_do_local_call() > drivers/firmware/sdei: Remove _sdei_event_register() > drivers/firmware/sdei: Remove _sdei_event_unregister() > drivers/firmware/sdei: Identify event by struct sdei_event > drivers/firmware/sdei: Retrieve event signaled property on creation > drivers/firmware/sdei: Add sdei_event_get_info() > > drivers/firmware/arm_sdei.c | 536 ++++++++++++++++-------------------- > include/linux/arm_sdei.h | 73 +++-- > 2 files changed, 284 insertions(+), 325 deletions(-) >