Skip to contentSkip to conversation

Driver for IBM service processor - updated (1/2)

PATCH New Max Asbock 1 participant 1 message Feb 26, 2004

Subsystems (2)
lore
Share & tools
lore

Max Asbock

author
#0 lore raw

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
diff -urN linux-2.6.3/drivers/Kconfig linux-2.6.3-ibmasm/drivers/Kconfig
@@ -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
diff -urN linux-2.6.3/drivers/misc/ibmasm/Makefile linux-2.6.3-ibmasm/drivers/misc/ibmasm/Makefile
@@ -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
diff -urN linux-2.6.3/drivers/misc/Kconfig linux-2.6.3-ibmasm/drivers/misc/Kconfig
@@ -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
diff -urN linux-2.6.3/drivers/misc/Makefile linux-2.6.3-ibmasm/drivers/misc/Makefile
@@ -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/