M7350v1_en_gpl

This commit is contained in:
T
2024-09-09 08:52:07 +00:00
commit f9cc65cfda
65988 changed files with 26357421 additions and 0 deletions

View File

@@ -0,0 +1,21 @@
#!/bin/sh
if [ -f /usr/bin/lsb_release ]; then
LSB_RED_ID=$(/usr/bin/lsb_release -i -s)
else
LSB_RED_ID="Unknown"
fi
case $LSB_RED_ID in
"Ubuntu")
mkdir -p /lib/udev/ /lib/udev/rules.d/
cp udev/ubuntu/compat_firmware.sh /lib/udev/
cp udev/50-compat_firmware.rules /lib/udev/rules.d/
;;
*)
mkdir -p /lib/udev/ /lib/udev/rules.d/
cp udev/compat_firmware.sh /lib/udev/
cp udev/50-compat_firmware.rules /lib/udev/rules.d/
;;
esac

View File

@@ -0,0 +1,105 @@
#!/bin/bash
#
# Copyright 2012 Luis R. Rodriguez <mcgrof@frijolero.org>
# Copyright 2011 Hauke Mehrtens <hauke@hauke-m.de>
# Copyright 2011 John W. Linville <linville@tuxdriver.com>
#
# Use this to parse a small .config equivalent looking file to generate
# our own autoconf.h. This file has defines for each config option
# just like the kernels include/linux/autoconf.h
#
# XXX: consider using scripts/kconfig/confdata.c instead.
# On the downside this would require the user to have libc though.
# This indicates which is the oldest kernel we support
# Update this if you are adding support for older kernels.
OLDEST_KERNEL_SUPPORTED="2.6.24"
if [ $# -ne 1 ]; then
echo "Usage $0 config-file"
exit
fi
COMPAT_CONFIG="$1"
if [ ! -f $COMPAT_CONFIG ]; then
echo "File $1 is not a file"
exit
fi
# Defines a CONFIG_ option if not defined yet, this helps respect
# linux/autoconf.h
function define_config {
VAR=$1
VALUE=$2
case $VALUE in
n) # Try to undefine it
echo "#undef $VAR"
;;
y)
echo "#ifndef $VAR"
echo "#define $VAR 1"
echo "#endif /* $VAR */"
;;
m)
echo "#ifndef $VAR"
echo "#define $VAR 1"
echo "#endif /* $VAR */"
;;
*) # Assume string
# XXX: add better checks to make sure what was on
# the right was indeed a string
echo "#ifndef $VAR"
echo "#define $VAR \"$VALUE\""
echo "#endif /* $VAR */"
;;
esac
}
function kernel_version_req {
VERSION=$(echo $1 | sed -e 's/\./,/g')
echo "#if (LINUX_VERSION_CODE < KERNEL_VERSION($VERSION))"
echo "#error compat requirement: Linux >= $VERSION"
echo "#endif /* (LINUX_VERSION_CODE < KERNEL_VERSION($VERSION) */"
}
cat <<EOF
#ifndef COMPAT_AUTOCONF_INCLUDED
#define COMPAT_AUTOCONF_INCLUDED
/*
* Automatically generated C config: don't edit
*/
EOF
# Checks user is compiling against a kernel we support
kernel_version_req $OLDEST_KERNEL_SUPPORTED
# For each CONFIG_FOO=x option
for i in $(egrep '^CONFIG_|^ifdef CONFIG_|^ifndef CONFIG_|^endif #CONFIG_|^else #CONFIG_' $COMPAT_CONFIG | sed 's/ /+/'); do
case $i in
'ifdef+CONFIG_'* )
echo "#$i" | sed -e 's/+/ /' -e 's/\(ifdef CONFIG_COMPAT_KERNEL_3_\)\([0-9]*\)/if (LINUX_VERSION_CODE < KERNEL_VERSION(3,\2,0))/' -e 's/\(ifdef CONFIG_COMPAT_KERNEL_2_6_\)\([0-9]*\)/if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,\2))/' -e 's/\(ifdef CONFIG_COMPAT_RHEL_\)\([0-9]*\)_\([0-9]*\)/if (defined(RHEL_MAJOR) \&\& RHEL_MAJOR == \2 \&\& RHEL_MINOR >= \3)/' -e 's/\(#ifdef \)\(CONFIG_[^:space:]*\)/#if defined(\2) || defined(\2_MODULE)/'
continue
;;
'ifndef+CONFIG_'* )
echo "#$i" | sed -e 's/+/ /' -e 's/\(ifndef CONFIG_COMPAT_KERNEL_3_\)\([0-9]*\)/if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,\2,0))/' -e 's/\(ifndef CONFIG_COMPAT_KERNEL_2_6_\)\([0-9]*\)/if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,\2))/' -e 's/\(ifndef CONFIG_COMPAT_RHEL_\)\([0-9]*\)_\([0-9]*\)/if (!defined(RHEL_MAJOR) || RHEL_MAJOR != \2 || RHEL_MINOR < \3)/' -e 's/\(#ifndef \)\(CONFIG_[^:space:]*\)/#if !defined(\2) \&\& !defined(\2_MODULE)/'
continue
;;
'else+#CONFIG_'* | 'endif+#CONFIG_'* )
echo "#$i */" |sed -e 's/+#/ \/* /g'
continue
;;
CONFIG_* )
# Get the element on the left of the "="
VAR=$(echo $i | cut -d"=" -f 1)
# Get the element on the right of the "="
VALUE=$(echo $i | cut -d"=" -f 2)
# Any other module which can *definitely* be built as a module goes here
define_config $VAR $VALUE
continue
;;
esac
done
echo "#endif /* COMPAT_AUTOCONF_INCLUDED */"

View File

@@ -0,0 +1,81 @@
#!/bin/bash
# Copyright 2012 Luis R. Rodriguez <mcgrof@frijolero.org>
# Copyright 2012 Hauke Mehrtens <hauke@hauke-m.de>
#
# This generates a bunch of CONFIG_COMPAT_KERNEL_2_6_22
# CONFIG_COMPAT_KERNEL_3_0 .. etc for each kernel release you need an object
# for.
#
# Note: this is part of the compat.git project, not compat-drivers,
# send patches against compat.git.
if [[ ! -f ${KLIB_BUILD}/Makefile ]]; then
exit
fi
# Actual kernel version
KERNEL_VERSION=$(${MAKE} -C ${KLIB_BUILD} kernelversion | sed -n 's/^\([0-9]\)\..*/\1/p')
# 3.0 kernel stuff
COMPAT_LATEST_VERSION="7"
KERNEL_SUBLEVEL="-1"
# Note that this script will export all variables explicitly,
# trying to export all with a blanket "export" statement at
# the top of the generated file causes the build to slow down
# by an order of magnitude.
if [[ ${KERNEL_VERSION} -eq "3" ]]; then
KERNEL_SUBLEVEL=$(${MAKE} -C ${KLIB_BUILD} kernelversion | sed -n 's/^3\.\([0-9]\+\).*/\1/p')
else
COMPAT_26LATEST_VERSION="39"
KERNEL_26SUBLEVEL=$(${MAKE} -C ${KLIB_BUILD} kernelversion | sed -n 's/^2\.6\.\([0-9]\+\).*/\1/p')
let KERNEL_26SUBLEVEL=${KERNEL_26SUBLEVEL}+1
for i in $(seq ${KERNEL_26SUBLEVEL} ${COMPAT_26LATEST_VERSION}); do
eval CONFIG_COMPAT_KERNEL_2_6_${i}=y
echo "export CONFIG_COMPAT_KERNEL_2_6_${i}=y"
done
fi
let KERNEL_SUBLEVEL=${KERNEL_SUBLEVEL}+1
for i in $(seq ${KERNEL_SUBLEVEL} ${COMPAT_LATEST_VERSION}); do
eval CONFIG_COMPAT_KERNEL_3_${i}=y
echo "export CONFIG_COMPAT_KERNEL_3_${i}=y"
done
# The purpose of these seem to be the inverse of the above other varibales.
# The RHEL checks seem to annotate the existance of RHEL minor versions.
RHEL_MAJOR=$(grep ^RHEL_MAJOR ${KLIB_BUILD}/Makefile | sed -n 's/.*= *\(.*\)/\1/p')
if [[ ! -z ${RHEL_MAJOR} ]]; then
RHEL_MINOR=$(grep ^RHEL_MINOR ${KLIB_BUILD}/Makefile | sed -n 's/.*= *\(.*\)/\1/p')
for i in $(seq 0 ${RHEL_MINOR}); do
eval CONFIG_COMPAT_RHEL_${RHEL_MAJOR}_${i}=y
echo "export CONFIG_COMPAT_RHEL_${RHEL_MAJOR}_${i}=y"
done
fi
if [[ ${CONFIG_COMPAT_KERNEL_2_6_33} = "y" ]]; then
if [[ ! ${CONFIG_COMPAT_RHEL_6_0} = "y" ]]; then
echo "export CONFIG_COMPAT_FIRMWARE_CLASS=m"
fi
fi
if [[ ${CONFIG_COMPAT_KERNEL_2_6_36} = "y" ]]; then
if [[ ! ${CONFIG_COMPAT_RHEL_6_1} = "y" ]]; then
echo "export CONFIG_COMPAT_KFIFO=y"
fi
fi
if [[ ${CONFIG_COMPAT_KERNEL_3_5} = "y" ]]; then
# We don't have 2.6.24 backport support yet for Codel / FQ CoDel
# For those who want to try this is what is required that I can tell
# so far:
# * struct Qdisc_ops
# - init and change callback ops use a different argument dataype
# - you need to parse data received from userspace differently
if [[ ${CONFIG_COMPAT_KERNEL_2_6_25} != "y" ]]; then
echo "export CONFIG_COMPAT_NET_SCH_CODEL=m"
echo "export CONFIG_COMPAT_NET_SCH_FQ_CODEL=m"
fi
fi