• Andrew Jeffery's avatar
    ipmi: kcs_bmc: Strip private client data from struct kcs_bmc · d4e7ac68
    Andrew Jeffery authored
    Move all client-private data out of `struct kcs_bmc` into the KCS client
    implementation.
    
    With this change the KCS BMC core code now only concerns itself with
    abstract `struct kcs_bmc` and `struct kcs_bmc_client` types, achieving
    expected separation of concerns. Further, the change clears the path for
    implementation of alternative userspace interfaces.
    
    The chardev data-structures are rearranged in the same manner applied to
    the KCS device driver data-structures in an earlier patch - `struct
    kcs_bmc_client` is embedded in the client's private data and we exploit
    container_of() to translate as required.
    
    Finally, now that it is free of client data, `struct kcs_bmc` is renamed
    to `struct kcs_bmc_device` to contrast `struct kcs_bmc_client`.
    Signed-off-by: default avatarAndrew Jeffery <andrew@aj.id.au>
    Reviewed-by: default avatarZev Weiss <zweiss@equinix.com>
    Message-Id: <20210608104757.582199-8-andrew@aj.id.au>
    Signed-off-by: default avatarCorey Minyard <cminyard@mvista.com>
    d4e7ac68
kcs_bmc_npcm7xx.c 5.85 KB