mirror of
https://github.com/alsa-project/alsa-utils
synced 2024-11-08 19:05:42 +01:00
Add Sparc support in alsaconf
I created the patch below against 1.0.10rc2 to make alsaconf work for the Sparc and architectures. It has been reviewed on the debian-sparc mailing list (see http://lists.debian.org/debian-sparc/2005/10/msg00098.html). I do not have positive confirmation it will work for the AMD7930 chip yet, but I expect it to. The other 2 chips have been tested and work okay. One of the feedbacks was that 'modprobe -a -l' is depreciated and thus should be avoided (see the modprobe manpage), so I have taken the oportunity to replace all use of this with a find equivalent. Signed-off-by: Martin Habets <errandir_news@mph.eclipse.co.uk>
This commit is contained in:
parent
c792328e68
commit
bb86a9d551
1 changed files with 41 additions and 2 deletions
|
@ -688,7 +688,8 @@ BEGIN {
|
|||
# PowerMac
|
||||
#
|
||||
if grep -q MacRISC $PROCFS/cpuinfo; then
|
||||
/sbin/modprobe -a -l | grep 'snd-powermac' | \
|
||||
MODDIR=/lib/modules/`uname -r`
|
||||
find $MODDIR -name 'snd-powermac' -print | \
|
||||
while read i; do
|
||||
i=${i##*/}
|
||||
i=${i%%.o}
|
||||
|
@ -696,6 +697,43 @@ BEGIN {
|
|||
echo "PowerMac $i" >> $FOUND
|
||||
done
|
||||
fi
|
||||
|
||||
#
|
||||
# Sparc
|
||||
#
|
||||
if grep -q Sparc $PROCFS/cpuinfo; then
|
||||
test -r $PROCFS/openprom/name || /bin/mount -t openpromfs none $PROCFS/openprom >/dev/null 2>&1
|
||||
# Check for an "audio" device
|
||||
audio=
|
||||
compat=
|
||||
if test -r $PROCFS/openprom; then
|
||||
audio=`find $PROCFS/openprom -follow -type d -name "audio*" -print`
|
||||
fi
|
||||
if test -n "$audio"; then
|
||||
compat=`cat $audio/compatible`
|
||||
compat=${compat#\'}
|
||||
compat=${compat%\'}
|
||||
compat=${compat#SUNW,}
|
||||
fi
|
||||
# Go through all cards we have
|
||||
MODDIR=/lib/modules/`uname -r`
|
||||
find $MODDIR -name 'snd-sun-*' -print | \
|
||||
while read i; do
|
||||
i=${i##*/}
|
||||
i=${i%%.o}
|
||||
i=${i%%.ko}
|
||||
sdev=`echo ${i#snd-sun-} | tr "[a-z]" "[A-Z]"`
|
||||
|
||||
if test "$sdev" = "$compat"; then
|
||||
echo "$sdev $i" >> $FOUND
|
||||
elif test -r $PROCFS/openprom; then
|
||||
find $PROCFS/openprom -follow -type d -name "SUNW,${sdev}*" \
|
||||
-exec echo "$sdev $i" \; 2>/dev/null >> $FOUND
|
||||
else
|
||||
echo "$sdev $i" >> $FOUND
|
||||
fi
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
#
|
||||
|
@ -1305,7 +1343,8 @@ devs_olist=""
|
|||
|
||||
if [ -s "$FOUND" ]; then
|
||||
while read dev card ; do
|
||||
/sbin/modprobe -a -l | grep -q -E $card'\.(o|ko)' || continue
|
||||
MODDIR=/lib/modules/`uname -r`
|
||||
find $MODDIR -type f | grep -q -E $card'\.(o|ko)' || continue
|
||||
cardname=`find_device_name $dev | cut -c 1-64`
|
||||
if [ -z "$cardname" ]; then
|
||||
cardname="$card"
|
||||
|
|
Loading…
Reference in a new issue