On Tue, Sep 20, 2016 at 09:01:38AM +0200, Cédric Le Goater wrote: > From: Alistair Popple <alistair@xxxxxxxxxxxx> > > This patch adds a simple device driver to expose the iBT interface on > Aspeed SOCs (AST2400 and AST2500) as a character device. Such SOCs are > commonly used as BMCs (BaseBoard Management Controllers) and this > driver implements the BMC side of the BT interface. > > The BT (Block Transfer) interface is used to perform in-band IPMI > communication between a host and its BMC. Entire messages are buffered > before sending a notification to the other end, host or BMC, that > there is data to be read. Usually, the host emits requests and the BMC > responses but the specification provides a mean for the BMC to send > SMS Attention (BMC-to-Host attention or System Management Software > attention) messages. > > For this purpose, the driver introduces a specific ioctl on the > device: 'BT_BMC_IOCTL_SMS_ATN' that can be used by the system running > on the BMC to signal the host of such an event. > > The device name defaults to '/dev/ipmi-bt-host' > > Signed-off-by: Alistair Popple <alistair@xxxxxxxxxxxx> > Signed-off-by: Jeremy Kerr <jk@xxxxxxxxxx> > Signed-off-by: Joel Stanley <joel@xxxxxxxxx> > [clg: - checkpatch fixes > - added a devicetree binding documentation > - replace 'bt_host' by 'bt_bmc' to reflect that the driver is > the BMC side of the IPMI BT interface > - renamed the device to 'ipmi-bt-host' > - introduced a temporary buffer to copy_{to,from}_user > - used platform_get_irq() > - moved the driver under drivers/char/ipmi/ but kept it as a misc > device > - changed the compatible cell to "aspeed,ast2400-bt-bmc" > ] > Signed-off-by: Cédric Le Goater <clg@xxxxxxxx> > Acked-by: Arnd Bergmann <arnd@xxxxxxxx> > [clg: - checkpatch --strict fixes > - removed the use of devm_iounmap, devm_kfree in cleanup paths > - introduced an atomic-t to limit opens to 1 > - introduced a mutex to protect write/read operations] > Signed-off-by: Cédric Le Goater <clg@xxxxxxxx> > > --- > > Changes since v2: > > - fixed checkpatch --strict issues > - cleanup'ed includes > - limit to one opener > - protect write/read operations with a mutex. > - removed the use of devm_iounmap, devm_kfree in cleanup paths > > Changes since v1: > > - replace 'bt_host' by 'bt_bmc' to reflect that the driver is > the BMC side of the IPMI BT interface > - renamed the device to 'ipmi-bt-host' > - introduced a temporary buffer to copy_{to,from}_user > - used platform_get_irq() > - moved the driver under drivers/char/ipmi/ but kept it as a misc > device > - changed the compatible cell to "aspeed,ast2400-bt-bmc" > > .../bindings/char/ipmi/aspeed,ast2400-bt-bmc.txt | 23 + While similar, this is not the kernel directory structure. Just make this bindings/ipmi/ With that, Acked-by: Rob Herring <robh@xxxxxxxxxx> > drivers/Makefile | 2 +- > drivers/char/ipmi/Kconfig | 7 + > drivers/char/ipmi/Makefile | 1 + > drivers/char/ipmi/bt-bmc.c | 510 +++++++++++++++++++++ > include/uapi/linux/Kbuild | 1 + > include/uapi/linux/bt-bmc.h | 18 + > 7 files changed, 561 insertions(+), 1 deletion(-) > create mode 100644 Documentation/devicetree/bindings/char/ipmi/aspeed,ast2400-bt-bmc.txt > create mode 100644 drivers/char/ipmi/bt-bmc.c > create mode 100644 include/uapi/linux/bt-bmc.h -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html