core/linux-am33x to 3.8.9-1

This commit is contained in:
Kevin Mihelich 2013-04-28 03:11:05 +00:00
parent 11300045bd
commit 42a173b207
6 changed files with 1836 additions and 1447 deletions

View file

@ -1,4 +1,3 @@
# Maintainer: Stephen Oliver <mrsteveman1@gmail.com>
# Maintainer: Kevin Mihelich <kevin@archlinuxarm.org>
# am33x kernel and headers
@ -11,35 +10,32 @@ pkgbase=linux-am33x
pkgname=('linux-am33x' 'linux-headers-am33x')
# pkgname=linux-custom # Build kernel with a different name
_kernelname=${pkgname#linux}
_basekernel=3.2
pkgver=${_basekernel}.32
pkgrel=6
_basekernel=3.8
pkgver=${_basekernel}.9
pkgrel=1
bonerel=15
arch=('arm')
url="http://www.kernel.org/"
license=('GPL2')
makedepends=('xmlto' 'docbook-xsl' 'uboot-mkimage')
makedepends=('xmlto' 'docbook-xsl' 'uboot-mkimage' 'git')
options=('!strip')
source=("ftp://ftp.kernel.org/pub/linux/kernel/v3.x/linux-${_basekernel}.tar.xz"
#"ftp://ftp.kernel.org/pub/linux/kernel/v3.x/patch-${pkgver}.bz2"
"rcn-ee.diff.gz::http://rcn-ee.net/deb/sid-armhf/v3.2.32-psp25/patch-3.2-psp25.diff.gz"
"ftp://ftp.kernel.org/pub/linux/kernel/v3.x/patch-${pkgver}.bz2"
"rcn-ee.diff.gz::http://rcn-ee.net/deb/sid-armhf/v${pkgver}-bone${bonerel}/patch-${pkgver}-bone${bonerel}.diff.gz"
'config'
'change-default-console-loglevel.patch'
'aufs3-3.2.patch.gz'
'musb_start_urb-oopse.patch')
md5sums=('364066fa18767ec0ae5f4e4abcf9dc51'
'db000f54f7c3d1598416cacf770b3f18'
'0ae9cacfba16229e2f17e4b3e12672e2'
'aufs3-3.8.patch.xz')
md5sums=('1c738edfc54e7c65faeb90c436104e2f'
'233a8ea8b5155c2d21b82264b3d6f989'
'17630aa4d1187c2798a57dc886946666'
'ce9e32283075d7906d400690ae7c2fc0'
'9d3c56a4b999c8bfbd4018089a62f662'
'6ea7b005a74be27abb072c934ef15a2c'
'd57e095fd462f0b915e5f4f7086a67d1')
'd819af0969e0726cbf9ae6be5e044a75')
build() {
cd "${srcdir}/linux-${_basekernel}"
#patch -p1 -i "${srcdir}/patch-${pkgver}"
# add latest fixes from stable queue, if needed
# http://git.kernel.org/?p=linux/kernel/git/stable/stable-queue.git
patch -p1 -i "${srcdir}/patch-${pkgver}"
# set DEFAULT_CONSOLE_LOGLEVEL to 4 (same value as the 'quiet' kernel param)
# remove this when a Kconfig knob is made available by upstream
@ -47,14 +43,13 @@ build() {
patch -Np1 -i "${srcdir}/change-default-console-loglevel.patch"
# ALARM patches
patch -Np1 -i "${srcdir}/rcn-ee.diff"
patch -Np1 -i "${srcdir}/aufs3-3.2.patch"
patch -Np1 -i "${srcdir}/musb_start_urb-oopse.patch"
git apply "${srcdir}/rcn-ee.diff"
patch -Np1 -i "${srcdir}/aufs3-3.8.patch"
cat "${srcdir}/config" > ./.config
# accept any new stuff in the kernel
yes "" | make config
#yes "" | make config
# set extraversion to pkgrel
sed -ri "s|^(EXTRAVERSION =).*|\1 -${pkgrel}|" Makefile
@ -83,10 +78,8 @@ build() {
#return 1
####################
# build!
make ${MAKEFLAGS} uImage modules
make ${MAKEFLAGS} zImage modules dtbs
}
package_linux-am33x() {
@ -97,7 +90,6 @@ package_linux-am33x() {
provides=('kernel26' 'kernel26-am33x' 'linux=${pkgver}')
conflicts=('kernel26-am33x' 'linux-tegra')
replaces=('kernel26-am33x')
backup=("etc/mkinitcpio.d/${pkgname}.preset")
install=${pkgname}.install
cd "${srcdir}/linux-${_basekernel}"
@ -107,9 +99,10 @@ package_linux-am33x() {
# get kernel version
_kernver="$(make kernelrelease)"
mkdir -p "${pkgdir}"/{lib/modules,lib/firmware,boot}
mkdir -p "${pkgdir}"/{lib/modules,lib/firmware,boot/dtbs}
make INSTALL_MOD_PATH="${pkgdir}" modules_install
cp arch/$KARCH/boot/uImage "${pkgdir}/boot/uImage"
cp arch/$KARCH/boot/zImage "${pkgdir}/boot/zImage"
cp arch/$KARCH/boot/dts/*.dtb "${pkgdir}/boot/dtbs"
# set correct depmod command for install
sed \
@ -190,13 +183,22 @@ package_linux-headers-am33x() {
cp arch/${KARCH}/kernel/asm-offsets.s "${pkgdir}/usr/src/linux-${_kernver}/arch/${KARCH}/kernel/"
# add headers for lirc package
mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/video"
cp drivers/media/video/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/video/"
for i in bt8xx cpia2 cx25840 cx88 em28xx et61x251 pwc saa7134 sn9c102; do
mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/video/${i}"
cp -a drivers/media/video/${i}/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/video/${i}"
# pci
for i in bt8xx cx88 saa7134; do
mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/pci/${i}"
cp -a drivers/media/pci/${i}/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/pci/${i}"
done
# usb
for i in cpia2 em28xx pwc sn9c102; do
mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/usb/${i}"
cp -a drivers/media/usb/${i}/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/usb/${i}"
done
# i2c
mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/i2c"
cp drivers/media/i2c/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/i2c/"
for i in cx25840; do
mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/i2c/${i}"
cp -a drivers/media/i2c/${i}/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/i2c/${i}"
done
# add docbook makefile
@ -215,6 +217,33 @@ package_linux-headers-am33x() {
mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/net/mac80211/"
cp net/mac80211/*.h "${pkgdir}/usr/src/linux-${_kernver}/net/mac80211/"
# add dvb headers for external modules
# in reference to:
# http://bugs.archlinux.org/task/9912
mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb-core"
cp drivers/media/dvb-core/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb-core/"
# and...
# http://bugs.archlinux.org/task/11194
mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/include/config/dvb/"
cp include/config/dvb/*.h "${pkgdir}/usr/src/linux-${_kernver}/include/config/dvb/"
# add dvb headers for http://mcentral.de/hg/~mrec/em28xx-new
# in reference to:
# http://bugs.archlinux.org/task/13146
mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb-frontends/"
cp drivers/media/dvb-frontends/lgdt330x.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb-frontends/"
cp drivers/media/i2c/msp3400-driver.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/i2c/"
# add dvb headers
# in reference to:
# http://bugs.archlinux.org/task/20402
mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/usb/dvb-usb"
cp drivers/media/usb/dvb-usb/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/usb/dvb-usb/"
mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb-frontends"
cp drivers/media/dvb-frontends/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb-frontends/"
mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/tuners"
cp drivers/media/tuners/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/tuners/"
# add xfs and shmem for aufs building
mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/fs/xfs"
mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/mm"
@ -242,5 +271,5 @@ package_linux-headers-am33x() {
done
# remove unneeded architectures
rm -rf "${pkgdir}"/usr/src/linux-${_kernver}/arch/{alpha,arm26,avr32,blackfin,cris,frv,h8300,ia64,m32r,m68k,m68knommu,mips,microblaze,mn10300,parisc,powerpc,ppc,s390,sh,sh64,sparc,sparc64,um,v850,x86,xtensa}
rm -rf "${pkgdir}"/usr/src/linux-${_kernver}/arch/{alpha,arm26,avr32,blackfin,c6x,cris,frv,h8300,hexagon,ia64,m32r,m68k,m68knommu,mips,microblaze,mn10300,openrisc,parisc,powerpc,ppc,s390,score,sh,sh64,sparc,sparc64,tile,unicore32,um,v850,xtensa,x86}
}

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load diff

View file

@ -2,7 +2,7 @@
# arg 2: the old package version
KERNEL_NAME=-am33x
KERNEL_VERSION=3.2.21-2-ARCH
KERNEL_VERSION=3.8.9-1-ARCH
post_install () {
# updating module dependencies
@ -11,6 +11,17 @@ post_install () {
}
post_upgrade() {
if [ "$(vercmp $2 3.8.0)" -lt 0 ]; then
echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
echo "!!! WARNING !! WARNING !! WARNING !! WARNING !! WARNING !! WARNING !!!"
echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
echo " You are running an old version of the kernel which means you are most"
echo " likely running an old U-Boot. This kernel REQUIRES a U-Boot upgrade."
echo " Please see the installation instructions on the Arch Linux ARM"
echo " website for information on where to download the new version."
echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
fi
if grep "^[^#]*[[:space:]]/boot" etc/fstab 2>&1 >/dev/null; then
if ! grep "[[:space:]]/boot" etc/mtab 2>&1 >/dev/null; then
echo "WARNING: /boot appears to be a seperate partition but is not mounted"

View file

@ -1,13 +0,0 @@
diff --git a/drivers/usb/musb/musb_host.c b/drivers/usb/musb/musb_host.c
index 4bb717d..1ae378d 100644
--- a/drivers/usb/musb/musb_host.c
+++ b/drivers/usb/musb/musb_host.c
@@ -2049,7 +2049,7 @@ static int musb_urb_enqueue(
* we only have work to do in the former case.
*/
spin_lock_irqsave(&musb->lock, flags);
- if (hep->hcpriv) {
+ if (hep->hcpriv || !next_urb(qh)) {
/* some concurrent activity submitted another urb to hep...
* odd, rare, error prone, but legal.
*/