[PATCH 00/14] Refactor SDEI client driver
Gavin Shan
gshan at redhat.com
Tue Jul 21 05:44:55 EDT 2020
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 at 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(-)
>
More information about the linux-arm-kernel
mailing list