[PATCH v4 00/15] Refactor SDEI client driver
Gavin Shan
gshan at redhat.com
Thu Jul 30 04:03:50 EDT 2020
Hi James,
On 7/30/20 11:45 AM, Gavin Shan wrote:
> This series bases on 5.8-rc7 and refactors the SDEI client driver.
> It's the preparatory work of virtualizing SDEI afterwords. The series
> is organized as below:
>
> * PATCH[1-13] refactors and clean up the code. They shouldn't cause
> any functional changes.
> * PATCH[14-15] 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.
>
> The series can be checked out from:
>
> git at github.com:gwshan/linux.git
> (branch: "sdei_client")
>
I'm not sure if you need to review it as Jonathan almost finishes the
review. It would be nice to get this merged in 5.9.rc1/rc2 since the
subsequent series to support SDEI virtualization, which depends on this
series.
Thanks in advance for your time and comments :)
> 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.
>
> The code can be found from:
>
> git at github.com:gwshan/linux.git
> (branch: "sdei")
>
> Changelog
> =========
> v4:
> Rebase to last upstream kernel (Gavin)
> Use @event_el for SDEI internal event and use @event to cache
> SDEI event if needed (Jonathan)
> Rename @se to @event for APIs (Jonathan)
> v3:
> Rebase to 5.8.rc7 (Gavin)
> Pick rbs from Jonathan (Gavin)
> Correct spellings in commit logs (Jonathan)
> Rename "out" to "unlock" tag (Jonathan)
> Keep the empty line in sdei_event_unregister() (Jonathan)
> Drop tabs between type and field for struct sdei_crosscall_args (Jonathan)
> Use smp_call_func_t for @fn argument in CPU callbacks (Jonathan)
> Split struct sdei_event into struct sdei_{internal,}_event (Jonathan)
> Remove last two patches and get it reviewed later (Jonathan)
> v2:
> Rebase to 5.8.rc6 (Gavin)
> Improved changelog (James/Gavin)
> Split patches for easy review (Gavin)
> Drop changes to reorder variables (James)
> Drop unnecessary (@regs removal) cleanup in sdei_event_create() (James)
> Fix broken case for device-tree in sdei_init() (James)
>
> Gavin Shan (15):
> drivers/firmware/sdei: Remove sdei_is_err()
> drivers/firmware/sdei: Common block for failing path in
> sdei_event_create()
> drivers/firmware/sdei: Retrieve event number from event instance
> drivers/firmware/sdei: Avoid nested statements in sdei_init()
> drivers/firmware/sdei: Unregister driver on error in sdei_init()
> drivers/firmware/sdei: Remove duplicate check in sdei_get_conduit()
> drivers/firmware/sdei: Remove Drop redundant error message in
> sdei_probe()
> drivers/firmware/sdei: Remove while loop in sdei_event_register()
> drivers/firmware/sdei: Remove while loop in sdei_event_unregister()
> drivers/firmware/sdei: Cleanup on cross call function
> 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: Expose struct sdei_event
> drivers/firmware/sdei: Identify event by struct sdei_event
>
> drivers/firmware/arm_sdei.c | 459 +++++++++++++++++-------------------
> include/linux/arm_sdei.h | 16 +-
> 2 files changed, 231 insertions(+), 244 deletions(-)
>
Thanks,
Gavin
More information about the linux-arm-kernel
mailing list