29 lines
819 B
Plaintext
29 lines
819 B
Plaintext
|
#!/bin/sh
|
||
|
# Copyright (C) 2008 OpenWrt.org
|
||
|
|
||
|
case "$ACTION" in
|
||
|
add)
|
||
|
SYSFS=/sys/bus/pcmcia/devices/
|
||
|
DEVPATH=$SOCKET_NO.$((0x$DEVICE_NO))
|
||
|
|
||
|
# check whether the CIS is completely broken
|
||
|
if [ ! -h $SYSFS$DEVPATH/driver ]; then
|
||
|
CISFILE=$(/usr/sbin/pcmcia-check-broken-cis $SOCKET_NO)
|
||
|
echo PCMCIA: $CISFILE;
|
||
|
if [ ! -z $CISFILE ]; then
|
||
|
if [ -f /lib/firmware/$CISFILE ]; then
|
||
|
cat /lib/firmware/$CISFILE > $SYSFS/class/pcmcia_socket/pcmcia_socket$(SOCKET_NO)/cis
|
||
|
fi;
|
||
|
fi;
|
||
|
fi;
|
||
|
|
||
|
# allow a match solely based on the "function ID" field
|
||
|
if [ ! -h $SYSFS$DEVPATH/driver ]; then
|
||
|
if [ -w $SYSFS$DEVPATH/allow_func_id_match ]; then
|
||
|
echo PCMCIA: allowing func_id based match for PCMCIA device $SOCKET_NO.$DEVICE_NO
|
||
|
echo -n "42" > $SYSFS$DEVPATH/allow_func_id_match;
|
||
|
fi;
|
||
|
fi;
|
||
|
;;
|
||
|
esac
|