Driver for IBM service processor - updated (1/2)
Subsystems (2)
PATCH 1/1 Driver for IBM service processor - updated (1/2)
Hi All,
after I first posted this driver a couple of weeks ago, I got valuable feedback from a number of people. Thanks for looking at this! This update implements all suggestions on one form or the other. Some of them are cosmetic, such as removing white space from if () statements, straightening out code segments etc.
More notably I got rid of the ioctl by using the previously unused write function for the same purpose.
Again, any comments are welcome.
max
Quoted 1 line
From the preface to the first edition:
Here is a device driver for the IBM xSeries RSA service processor. The ibmasm driver is mainly intended to be used in conjunction with a user space API and systems management applications that need to get in-band access to the service processor, such as sending commands or waiting for events. For the remote video feature the driver relays remote mouse and keyboard events to user space.
By itself the driver also allows the OS to make use the UART on the service processor board as a regular serial line.
The user interface to the driver is a custom file system. It does not use sysfs since the operations on the files are somewhat beyond the one file / one value rule for sysfs. Since it is not strictly a char driver I put it into the drivers/misc directory.
The patch is fairly big, therefore I split it up into the file system part and the everything-else part.
Here is the non-filesystem part:
drivers/Kconfig +1 -1
@@ -42,7 +42,7 @@ source "drivers/i2c/Kconfig" -# source "drivers/misc/Kconfig" +source "drivers/misc/Kconfig" source "drivers/media/Kconfig"
drivers/misc/ibmasm/command.c +175 -0
175 lines not on this page · raw message
drivers/misc/ibmasm/dot_command.c +146 -0
146 lines not on this page · raw message
drivers/misc/ibmasm/dot_command.h +78 -0
78 lines not on this page · raw message
drivers/misc/ibmasm/event.c +169 -0
169 lines not on this page · raw message
drivers/misc/ibmasm/heartbeat.c +91 -0
91 lines not on this page · raw message
drivers/misc/ibmasm/i2o.h +77 -0
77 lines not on this page · raw message
drivers/misc/ibmasm/ibmasm.h +224 -0
224 lines not on this page · raw message
drivers/misc/ibmasm/lowlevel.c +81 -0
81 lines not on this page · raw message
drivers/misc/ibmasm/lowlevel.h +137 -0
137 lines not on this page · raw message
drivers/misc/ibmasm/Makefile +13 -0
@@ -0,0 +1,13 @@ + +obj-$(CONFIG_IBM_ASM) := ibmasm.o + +ibmasm-objs := module.o \ + ibmasmfs.o \ + event.o \ + command.o \ + remote.o \ + heartbeat.o \ + r_heartbeat.o \ + dot_command.o \ + lowlevel.o \ + uart.o
drivers/misc/ibmasm/module.c +210 -0
210 lines not on this page · raw message
drivers/misc/ibmasm/remote.c +152 -0
152 lines not on this page · raw message
drivers/misc/ibmasm/remote.h +119 -0
119 lines not on this page · raw message
drivers/misc/ibmasm/r_heartbeat.c +98 -0
98 lines not on this page · raw message
drivers/misc/ibmasm/uart.c +72 -0
72 lines not on this page · raw message
drivers/misc/Kconfig +16 -0
@@ -4,5 +4,21 @@ menu "Misc devices" +config IBM_ASM + tristate "Device driver for IBM RSA service processor" + default n + ---help--- + This option enables device driver support for in-band access to the + IBM RSA (Condor) service processor in eServer xSeries systems. + The ibmasm device driver allows user space application to access + ASM (Advanced Systems Management) functions on the service + processor. The driver is meant to be used in conjunction with + a user space API. + The ibmasm driver also enables the OS to use the UART on the + service processor board as a regular serial port. + + + If unsure, say N. + endmenu
drivers/misc/Makefile +2 -0
@@ -2,3 +2,5 @@ # Makefile for misc devices that really don't fit anywhere else. # obj- := misc.o # Dummy rule to force built-in.o to be made + +obj-$(CONFIG_IBM_ASM) += ibmasm/