pcmcia.agent (819B)
1 #!/bin/sh 2 # Copyright (C) 2008 OpenWrt.org 3 4 case "$ACTION" in 5 add) 6 SYSFS=/sys/bus/pcmcia/devices/ 7 DEVPATH=$SOCKET_NO.$((0x$DEVICE_NO)) 8 9 # check whether the CIS is completely broken 10 if [ ! -h $SYSFS$DEVPATH/driver ]; then 11 CISFILE=$(/usr/sbin/pcmcia-check-broken-cis $SOCKET_NO) 12 echo PCMCIA: $CISFILE; 13 if [ ! -z $CISFILE ]; then 14 if [ -f /lib/firmware/$CISFILE ]; then 15 cat /lib/firmware/$CISFILE > $SYSFS/class/pcmcia_socket/pcmcia_socket$(SOCKET_NO)/cis 16 fi; 17 fi; 18 fi; 19 20 # allow a match solely based on the "function ID" field 21 if [ ! -h $SYSFS$DEVPATH/driver ]; then 22 if [ -w $SYSFS$DEVPATH/allow_func_id_match ]; then 23 echo PCMCIA: allowing func_id based match for PCMCIA device $SOCKET_NO.$DEVICE_NO 24 echo -n "42" > $SYSFS$DEVPATH/allow_func_id_match; 25 fi; 26 fi; 27 ;; 28 esac