[PATCH 00/10] ipmi: kcs_bmc: Miscellaneous cleanups

From: Andrew Jeffery
Date: Fri Nov 03 2023 - 02:15:47 EST


Hello,

A cleanup of the KCS subsystem was prompted after some concerns raised
by Jonathan on Konstantin's series implementing DSP0254[1] (the MCTP KCS
Transport Binding Specification):

https://lore.kernel.org/all/20230929120835.0000108e@xxxxxxxxxx/

[1]: https://www.dmtf.org/sites/default/files/standards/documents/DSP0254_1.0.0.pdf

The MCTP KCS patches are currently at v5:

https://lore.kernel.org/all/20231010122321.823-1-aladyshev22@xxxxxxxxx/

A v6 will be necessary to rework them in terms of the cleanup done here.
I've pushed a preview of that work here:

https://github.com/amboar/linux/compare/d2cc82b50335c8fcf83e1d8f396c8f8cf4333ac4...mctp-kcs

In addition to addressing some of the resource lifetime concerns I've
added kerneldoc for the subsystem in anticipation of Konstantin's series
moving the headers to include/linux/.

To get Konstantin's work merged I expect we'll have to either take these
KCS patches through netdev or the MCTP patches through the IPMI tree. We
should figure out which way we want to go, but netdev's not open right
now and so that's not a pressing concern.

Please review!

Thanks,

Andrew

Andrew Jeffery (10):
ipmi: kcs_bmc: Update module description
ipmi: kcs_bmc: Include spinlock.h
ipmi: kcs_bmc: Make kcs_bmc_update_event_mask() static
ipmi: kcs_bmc: Make remove_device() callback return void
ipmi: kcs_bmc: Define client actions in terms of kcs_bmc_client
ipmi: kcs_bmc: Integrate buffers into driver struct
ipmi: kcs_bmc: Disassociate client from device lifetimes
ipmi: kcs_bmc: Track clients in core
ipmi: kcs_bmc: Add module_kcs_bmc_driver()
ipmi: kcs_bmc: Add subsystem kerneldoc

drivers/char/ipmi/kcs_bmc.c | 160 +++++++++++---------
drivers/char/ipmi/kcs_bmc.h | 41 +++++
drivers/char/ipmi/kcs_bmc_cdev_ipmi.c | 152 +++++++------------
drivers/char/ipmi/kcs_bmc_client.h | 206 +++++++++++++++++++++++---
drivers/char/ipmi/kcs_bmc_device.h | 44 +++++-
drivers/char/ipmi/kcs_bmc_serio.c | 84 ++++-------
6 files changed, 448 insertions(+), 239 deletions(-)

--
2.39.2