msm-2.6.38: tag AU_LINUX_ANDROID_GINGERBREAD.02.03.04.00.142 Signed-off-by: Bryan Huntsman <bryanh@codeaurora.org>
121 lines
2.9 KiB
Plaintext
Executable File
121 lines
2.9 KiB
Plaintext
Executable File
# /bin/sh
|
|
|
|
# Copyright (c) 2009 The Chromium OS Authors. All rights reserved.
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
|
|
#
|
|
# Helper script to setup compat-wireless configuration.
|
|
#
|
|
|
|
S=${1:?No kernel source directory specified}
|
|
|
|
COMPAT_WIRELESS="${S}"/chromeos/compat-wireless
|
|
COMPAT_VERSION=`cat ${COMPAT_WIRELESS}/compat_version`
|
|
COMPAT_RELEASE=`cat ${COMPAT_WIRELESS}/compat_version`
|
|
COMPAT_BASE_TREE=`cat ${COMPAT_WIRELESS}/compat_base_tree`
|
|
COMPAT_BASE_TREE_VERSION=`cat ${COMPAT_WIRELESS}/compat_base_tree_version`
|
|
# TODO(sleffler) calculate CONFIG_COMPAT_KERNEL version
|
|
|
|
COMPAT_CONFIG='
|
|
CONFIG_COMPAT_KERNEL_33=y
|
|
CONFIG_COMPAT_FIRMWARE_CLASS=m
|
|
|
|
CONFIG_COMPAT_RFKILL=y
|
|
CONFIG_RFKILL_BACKPORT=y
|
|
CONFIG_RFKILL_BACKPORT_INPUT=y
|
|
|
|
CONFIG_COMPAT_WIRELESS=m
|
|
CONFIG_COMPAT_WIRELESS_MODULES=m
|
|
|
|
CONFIG_MAC80211=m
|
|
CONFIG_MAC80211_LEDS=y
|
|
CONFIG_MAC80211_DEBUGFS=y
|
|
CONFIG_MAC80211_RC_MINSTREL=y
|
|
CONFIG_MAC80211_RC_DEFAULT="minstrel"
|
|
CONFIG_COMPAT_MAC80211_RC_DEFAULT="minstrel"
|
|
|
|
CONFIG_CFG80211=m
|
|
CONFIG_CFG80211_DEBUGFS=y
|
|
CONFIG_CFG80211_DEFAULT_PS=y
|
|
CONFIG_CFG80211_WEXT=y
|
|
|
|
CONFIG_ATH=y
|
|
CONFIG_ATH_COMMON=m
|
|
CONFIG_ATH_DEBUG=y
|
|
CONFIG_ATH5K=m
|
|
CONFIG_ATH9K=m
|
|
CONFIG_ATH9K_HW=m
|
|
CONFIG_ATH9K_COMMON=m
|
|
CONFIG_ATH9K_DEBUGFS=y
|
|
|
|
CONFIG_IWLWIFI=m
|
|
CONFIG_IWLWIFI_SPECTRUM_MANAGEMENT=y
|
|
CONFIG_IWLAGN=m
|
|
CONFIG_COMPAT_IWL4965=y
|
|
CONFIG_IWL5000=y
|
|
CONFIG_IWL3945=m
|
|
CONFIG_IWL3945_SPECTRUM_MANAGEMENT=y
|
|
CONFIG_IWLWIFI_DEBUG=y
|
|
CONFIG_IWLWIFI_DEBUGFS=y
|
|
|
|
CONFIG_USB_NET_COMPAT_CDCETHER=m
|
|
CONFIG_USB_NET_COMPAT_RNDIS_HOST=m
|
|
CONFIG_USB_COMPAT_USBNET=m
|
|
'
|
|
echo "Configure compat-wireless: ${COMPAT_CONFIG}"
|
|
|
|
#
|
|
# Edit Makefiles to reflect configuration knobs
|
|
#
|
|
SED_ARGS=
|
|
for c in $COMPAT_CONFIG; do
|
|
a=`echo $c | sed s/=.*//`
|
|
b=`echo $c | sed s/.*=//`
|
|
SED_ARGS="$SED_ARGS -e s/[\$]("$a")/"$b"/"
|
|
done
|
|
|
|
Makefiles=`find -L "${COMPAT_WIRELESS}" -name Makefile`
|
|
for m in $Makefiles; do
|
|
sed $SED_ARGS -i $m
|
|
done
|
|
|
|
# Construct include/linux/compat_autoconf.h
|
|
(cat<<EOF
|
|
#ifndef COMPAT_AUTOCONF_INCLUDED
|
|
#define COMPAT_AUTOCONF_INCLUDED
|
|
/*
|
|
* Automatically generated by chromeos-base/kernel/kernel-*.ebuild
|
|
* compat-wireless-2.6: $COMPAT_VERSION
|
|
* linux-2.6: v2.6.32
|
|
*/
|
|
#define COMPAT_BASE_TREE "$COMPAT_BASE_TREE"
|
|
#define COMPAT_BASE_TREE_VERSION "$COMPAT_BASE_TREE_VERSION"
|
|
#define COMPAT_PROJECT "Compat-wireless"
|
|
#define COMPAT_VERSION "$COMPAT_VERSION"
|
|
|
|
#ifndef CONFIG_WIRELESS_EXT
|
|
#error Compat-wireless requirement: CONFIG_WIRELESS_EXT must be enabled in your kernel
|
|
#endif /* CONFIG_WIRELESS_EXT */
|
|
EOF
|
|
for c in $COMPAT_CONFIG; do
|
|
a=`echo $c | sed s/=.*//`
|
|
b=`echo $c | sed s/.*=//`
|
|
case $b in
|
|
m|y)
|
|
echo "#define $a 1";;
|
|
*)
|
|
echo "#define $a $b";;
|
|
esac
|
|
done
|
|
cat<<'EOF'
|
|
#ifdef CONFIG_NET_SCHED
|
|
#ifdef CONFIG_NETDEVICES_MULTIQUEUE
|
|
#ifndef CONFIG_MAC80211_QOS
|
|
#define CONFIG_MAC80211_QOS 1
|
|
#endif /* CONFIG_MAC80211_QOS */
|
|
#endif
|
|
#endif
|
|
#endif /* COMPAT_AUTOCONF_INCLUDED */
|
|
EOF
|
|
)>"${COMPAT_WIRELESS}"/include/linux/compat_autoconf.h
|