lkml.org 
[lkml]   [2021]   [Jun]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Subject[PATCH v4 00/16] ipmi: Allow raw access to KCS devices
    Date

    Hello,

    This is the 4th spin of the series refactoring the keyboard-controller-style
    device drivers in the IPMI subsystem.

    v3 can be found at:

    https://lore.kernel.org/lkml/20210510054213.1610760-1-andrew@aj.id.au/

    v4:

    * Makes kcs_bmc_add_device() return an error if no client successfully
    initialised with respect to the binding of the device driver
    * Retains the existing single-open semantics (v3 allowed multiple-open)
    * Fixes the OBE macro for the NPCM7xx KCS driver
    * Cleans up Yoda-style masks (mask constant on the LHS rather than RHS)
    * Cleans up includes in kcs_bmc_client.h
    * Adds some comments to the SerIO adapter to clarify object lifetimes

    Previously:

    Changes in v3:

    * The series was rebased onto v5.13-rc1
    * v5.13-rc1 includes Chiawei's patches reworking the LPC devicetree bindings,
    so they're no-longer required in the series.
    * After some discussion with Arnd[1] and investigating the serio subsystem,
    I've replaced the "raw" KCS driver (patch 16/21 in v2) with a serio adaptor
    (patch 11/16 in this series). The adaptor allows us to take advantage of the
    existing chardevs provided by serio.

    [1] https://lore.kernel.org/linux-arm-kernel/37e75b07-a5c6-422f-84b3-54f2bea0b917@www.fastmail.com/

    Changes in v2 include:

    * A rebase onto v5.12-rc2
    * Incorporation of off-list feedback on SerIRQ configuration from
    Chiawei
    * Further validation on hardware for ASPEED KCS devices 2, 3 and 4
    * Lifting the existing single-open constraint of the IPMI chardev
    * Fixes addressing Rob's feedback on the conversion of the ASPEED KCS
    binding to dt-schema
    * Fixes addressing Rob's feedback on the new aspeed,lpc-interrupts
    property definition for the ASPEED KCS binding

    Please test and review!

    Andrew

    Andrew Jeffery (16):
    ipmi: kcs_bmc_aspeed: Use of match data to extract KCS properties
    ipmi: kcs_bmc: Make status update atomic
    ipmi: kcs_bmc: Rename {read,write}_{status,data}() functions
    ipmi: kcs_bmc: Split out kcs_bmc_cdev_ipmi
    ipmi: kcs_bmc: Turn the driver data-structures inside-out
    ipmi: kcs_bmc: Split headers into device and client
    ipmi: kcs_bmc: Strip private client data from struct kcs_bmc
    ipmi: kcs_bmc: Decouple the IPMI chardev from the core
    ipmi: kcs_bmc: Allow clients to control KCS IRQ state
    ipmi: kcs_bmc: Enable IBF on open
    ipmi: kcs_bmc: Add serio adaptor
    dt-bindings: ipmi: Convert ASPEED KCS binding to schema
    dt-bindings: ipmi: Add optional SerIRQ property to ASPEED KCS devices
    ipmi: kcs_bmc_aspeed: Implement KCS SerIRQ configuration
    ipmi: kcs_bmc_aspeed: Fix IBFIE typo from datasheet
    ipmi: kcs_bmc_aspeed: Optionally apply status address

    .../bindings/ipmi/aspeed,ast2400-kcs-bmc.yaml | 106 +++
    .../bindings/ipmi/aspeed-kcs-bmc.txt | 33 -
    drivers/char/ipmi/Kconfig | 27 +
    drivers/char/ipmi/Makefile | 2 +
    drivers/char/ipmi/kcs_bmc.c | 523 ++++-----------
    drivers/char/ipmi/kcs_bmc.h | 92 +--
    drivers/char/ipmi/kcs_bmc_aspeed.c | 633 +++++++++++++-----
    drivers/char/ipmi/kcs_bmc_cdev_ipmi.c | 568 ++++++++++++++++
    drivers/char/ipmi/kcs_bmc_client.h | 45 ++
    drivers/char/ipmi/kcs_bmc_device.h | 22 +
    drivers/char/ipmi/kcs_bmc_npcm7xx.c | 92 ++-
    drivers/char/ipmi/kcs_bmc_serio.c | 157 +++++
    12 files changed, 1594 insertions(+), 706 deletions(-)
    create mode 100644 Documentation/devicetree/bindings/ipmi/aspeed,ast2400-kcs-bmc.yaml
    delete mode 100644 Documentation/devicetree/bindings/ipmi/aspeed-kcs-bmc.txt
    create mode 100644 drivers/char/ipmi/kcs_bmc_cdev_ipmi.c
    create mode 100644 drivers/char/ipmi/kcs_bmc_client.h
    create mode 100644 drivers/char/ipmi/kcs_bmc_device.h
    create mode 100644 drivers/char/ipmi/kcs_bmc_serio.c

    --
    2.30.2

    \
     
     \ /
      Last update: 2021-06-08 12:49    [W:2.583 / U:0.040 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site