[00/10] ipmi: kcs_bmc: Miscellaneous cleanups

Message ID 20231103061522.1268637-1-andrew@codeconstruct.com.au
Headers
Series ipmi: kcs_bmc: Miscellaneous cleanups |

Message

Andrew Jeffery Nov. 3, 2023, 6:15 a.m. UTC
  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@Huawei.com/

[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@gmail.com/

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(-)