diff options
author | Bill Nottingham <notting@redhat.com> | 2006-09-27 19:59:05 +0000 |
---|---|---|
committer | Bill Nottingham <notting@redhat.com> | 2006-09-27 19:59:05 +0000 |
commit | 225f7786a51745535128be4925eced71b2fa94f1 (patch) | |
tree | 6b2b59d0b5de909cf417e133d59c7d42cbfa7116 /src/ccw_init | |
parent | b3d12d60e2ef7e1795b8b1177c1d28208bc06acd (diff) | |
download | initscripts-225f7786a51745535128be4925eced71b2fa94f1.tar initscripts-225f7786a51745535128be4925eced71b2fa94f1.tar.gz initscripts-225f7786a51745535128be4925eced71b2fa94f1.tar.bz2 initscripts-225f7786a51745535128be4925eced71b2fa94f1.tar.xz initscripts-225f7786a51745535128be4925eced71b2fa94f1.zip |
move ccwgroup initialization to a udev rule (#199139, #199655, #169161)
Diffstat (limited to 'src/ccw_init')
-rwxr-xr-x | src/ccw_init | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/src/ccw_init b/src/ccw_init new file mode 100755 index 00000000..707ae009 --- /dev/null +++ b/src/ccw_init @@ -0,0 +1,42 @@ +#!/bin/bash + +[ -z "$DEVPATH" ] && exit 0 +[ "$SUBSYSTEM" != "ccw" ] && exit 0 + +. /etc/init.d/functions + +. /etc/sysconfig/network-scripts/network-functions + +# First, determine our channel + +CHANNEL=${DEVPATH##*/} + +CONFIG=$(get_config_by_subchannel $CHANNEL) + +cd /etc/sysconfig/network-scripts + +source_config + +# SUBCHANNELS is only set on mainframe ccwgroup devices +[ -z "$SUBCHANNELS" -o -z "$NETTYPE" ] && return +DIR="/sys/bus/ccwgroup/drivers/$NETTYPE" +SYSDIR="$DIR/${SUBCHANNELS//,*/}" +[ ! -e $DIR/group ] && return +echo "$SUBCHANNELS" > $DIR/group +if [ -n "$PORTNAME" ]; then + if [ "$NETTYPE" = "lcs" ]; then + [ -e $SYSDIR/portno ] && echo "$PORTNAME" > $SYSDIR/portno + else + [ -e $SYSDIR/portname ] && echo "$PORTNAME" > $SYSDIR/portname + fi +fi +if [ "$NETTYPE" = "ctc" -a -n "$CTCPROT" ]; then + echo "$CTCPROT" > $SYSDIR/protocol +fi +if [ -n "$OPTIONS" ]; then + + for i in $OPTIONS; do + echo "${i//*=/}" > "$SYSDIR/${i//=*/}" + done +fi +[ -e $SYSDIR/online ] && echo 1 > $SYSDIR/online |