Linux kernel & device driver programming

Cross-Referenced Linux and Device Driver Code

[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ]
Version: [ 2.6.11.8 ] [ 2.6.25 ] [ 2.6.25.8 ] [ 2.6.31.13 ] Architecture: [ i386 ]
  1 #!/bin/sh
  2 module="short"
  3 device="short"
  4 mode="664"
  5 
  6 # Group: since distributions do it differently, look for wheel or use staff
  7 if grep '^staff:' /etc/group > /dev/null; then
  8     group="staff"
  9 else
 10     group="wheel"
 11 fi
 12 
 13 
 14 # invoke insmod with all arguments we got
 15 # and use a pathname, as newer modutils don't look in . by default
 16 /sbin/insmod ./$module.ko $* || exit 1
 17 
 18 major=`cat /proc/devices | awk "\\$2==\"$module\" {print \\$1}"`
 19 
 20 # Create 8 entry points, as SHORT_NR_PORTS is 8 by default
 21 rm -f /dev/${device}[0-7]
 22 mknod /dev/${device}0 c $major 0
 23 mknod /dev/${device}1 c $major 1
 24 mknod /dev/${device}2 c $major 2
 25 mknod /dev/${device}3 c $major 3
 26 mknod /dev/${device}4 c $major 4
 27 mknod /dev/${device}5 c $major 5
 28 mknod /dev/${device}6 c $major 6
 29 mknod /dev/${device}7 c $major 7
 30 
 31 rm -f /dev/${device}[0-3][ps]
 32 mknod /dev/${device}0p c $major 16
 33 mknod /dev/${device}1p c $major 17
 34 mknod /dev/${device}2p c $major 18
 35 mknod /dev/${device}3p c $major 19
 36 mknod /dev/${device}4p c $major 20
 37 mknod /dev/${device}5p c $major 21
 38 mknod /dev/${device}6p c $major 22
 39 mknod /dev/${device}7p c $major 23
 40 
 41 mknod /dev/${device}0s c $major 32
 42 mknod /dev/${device}1s c $major 33
 43 mknod /dev/${device}2s c $major 34
 44 mknod /dev/${device}3s c $major 35
 45 mknod /dev/${device}4s c $major 36
 46 mknod /dev/${device}5s c $major 37
 47 mknod /dev/${device}6s c $major 38
 48 mknod /dev/${device}7s c $major 39
 49 
 50 rm -f /dev/${device}int /dev/${device}print
 51 mknod /dev/${device}int  c $major 128
 52 mknod /dev/${device}print  c $major 129
 53 
 54 chgrp $group /dev/${device}[0-7] /dev/${device}[0-7][ps] /dev/${device}int
 55 chmod $mode  /dev/${device}[0-7] /dev/${device}[0-7][ps] /dev/${device}int
 56 
 57 
 58 
 59 
 60 
 61 
  This page was automatically generated by the LXR engine.