blob: ef72ad28b1cbf2ea2d1b381ed4a91165c9cab6cb (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
|
#!/bin/bash
# Copyright 2009 Luis R. Rodriguez <mcgrof@gmail.com>
#
# This this to select your compat-wireless driver and
# reduce compilation time.
DRIVERS_MAKEFILE="drivers/net/wireless/Makefile"
ATH_MAKEFILE="drivers/net/wireless/ath/Makefile"
NET_WIRELESS_MAKEFILE="net/wireless/Makefile"
EEPROM_MAKEFILE="drivers/misc/eeprom/Makefile"
DRIVERS_NET_USB_MAKEFILE="drivers/net/usb/Makefile"
SSB_MAKEFILE="drivers/ssb/Makefile"
# used to backup files from foo to foo.${BACKUP_EXT}
# If you change this also modify restore_compat() and
# restore_file() below I couldn't find a way to use
# the $BACKUP_EXT there.
BACKUP_EXT="bk"
# Pretty colors
GREEN="\033[01;32m"
YELLOW="\033[01;33m"
NORMAL="\033[00m"
BLUE="\033[34m"
RED="\033[31m"
PURPLE="\033[35m"
CYAN="\033[36m"
UNDERLINE="\033[02m"
SUPPORTED_DRIVERS="ath5k ath9k ar9170 zd1211rw"
function usage {
echo -e "${GREEN}Usage${NORMAL}: ${CYAN}$0${NORMAL} [ ${PURPLE}<driver-name>${NORMAL} | ${PURPLE}<driver-group-name>${NORMAL} | ${GREEN}restore${NORMAL} ]"
echo -e "Supported drivers:"
for i in $SUPPORTED_DRIVERS; do
echo -e "\t${PURPLE}${i}${NORMAL}"
done
echo -e "Supported group drivers:"
echo -e "\t${CYAN}ath${NORMAL} < ${PURPLE} ath5k ath9k ar9170 zd1211rw ${NORMAL}>"
#echo -e "\t${CYAN}iwlwifi${NORMAL} < ${PURPLE} iwl3945 iwlagn${NORMAL}>"
echo -e "Restoring compat-wireless:"
echo -e "\t${GREEN}restore${NORMAL}: you can use this option to restore compat-wireless to the original state"
}
if [ $# -ne 1 ]; then
usage
exit
fi
if [ ! -f compat-release ]; then
echo "Must run $0 from the compat-wireless top level directory"
exit
fi
function backup_file {
if [ -f $1.${BACKUP_EXT} ]; then
echo -e "Backup exists: ${CYAN}${1}.${BACKUP_EXT}${NORMAL}"
return
fi
echo -e "Backing up makefile: ${CYAN}${1}.${BACKUP_EXT}${NORMAL}"
cp $1 $1.bk
}
function disable_makefile
{
backup_file $1
echo > $1
}
function select_driver
{
backup_file $DRIVERS_MAKEFILE
perl -i -ne 'print if /'$1'/ ' $DRIVERS_MAKEFILE
}
function disable_lib80211
{
backup_file $NET_WIRELESS_MAKEFILE
perl -i -ne 'print if ! /LIB80211/ ' $NET_WIRELESS_MAKEFILE
}
function disable_b44 {
backup_file Makefile
perl -i -ne 'print if ! /CONFIG_B44/ ' Makefile
}
function disable_ssb
{
disable_b44
disable_makefile ${SSB_MAKEFILE}
}
function disable_eeprom
{
disable_makefile ${EEPROM_MAKEFILE}
}
function disable_usbnet
{
disable_makefile ${DRIVERS_NET_USB_MAKEFILE}
}
function disable_var_01 {
disable_lib80211
disable_ssb
disable_usbnet
disable_eeprom
}
function select_ath_driver
{
backup_file $ATH_MAKEFILE
perl -i -ne 'print if /'$1'/ || /CONFIG_ATH_COMMON/ || /ath-objs/ ' $ATH_MAKEFILE
disable_var_01
}
# iwlwifi stuff needs more work
function select_iwl_driver
{
perl -i -ne 'print if /'$1'/ || /CONFIG_BLEH/ ' drivers/net/wireless/iwlwifi/Makefile
disable_var_01
}
function restore_file {
#ORIG=$(shell ${1%%.${BACKUP_EXT}})
ORIG=${1%%.bk}
cp $1 $ORIG
echo -e "Restored makefile: ${CYAN}${ORIG}${NORMAL}"
}
function restore_compat {
#FILES=$(find ./ -type f -name *.$BACKUP_EXT)
FILES=$(find ./ -type f -name *.bk)
for i in $FILES; do
restore_file $i
done
}
case $1 in
restore)
restore_compat
;;
ath)
select_driver CONFIG_ATH_COMMON
disable_var_01
;;
ath5k)
select_driver CONFIG_ATH_COMMON
select_ath_driver CONFIG_ATH5K
;;
ath9k)
select_driver CONFIG_ATH_COMMON
select_ath_driver CONFIG_ATH9K
;;
ar9170)
select_driver CONFIG_ATH_COMMON
select_ath_driver CONFIG_AR9170_USB
;;
zd1211rw)
select_driver CONFIG_ZD1211RW
disable_var_01
;;
*)
echo "Unsupported driver"
exit
;;
esac
|