Finally bring linux-kirkwood-dt up to date

This commit is contained in:
Joshua Coombs 2014-01-21 13:51:50 -05:00
parent 466cd74c58
commit 23df36ce7b
11 changed files with 8600 additions and 4991 deletions

View file

@ -1,81 +1,103 @@
# Maintainer: Mike Staszel <mikestaszel@plugapps.com>
# Maintainer: Kevin Mihelich <kevin@plugapps.com>
# Maintainer: Oleg Rakhmanov <orakhmanov@gmail.com>
buildarch=2
pkgbase=linux-kirkwood-dt
pkgname=('linux-kirkwood-dt' 'linux-headers-kirkwood-dt')
#pkgname=linux-test # Build kernel with a different name
_kernelname=${pkgname#linux}
_basekernel=3.9_rc2
pkgver=${_basekernel}
pkgrel=3
cryptover=1.5
_kernelname=${pkgbase#linux}
_desc="Marvell Kirkwood DT"
pkgver=3.12.8
pkgrel=1
cryptover=1.6
bfqver=v6r2
uksmver="0.1.2.2"
uksmname="v3.12"
arch=('arm')
url="http://www.kernel.org/"
license=('GPL2')
makedepends=('git' 'xmlto' 'docbook-xsl' 'uboot-mkimage' 'bc')
makedepends=('xmlto' 'docbook-xsl' 'uboot-mkimage' 'kmod' 'inetutils' 'bc' 'git')
options=('!strip')
source=('support.patch'
source=("ftp://ftp.kernel.org/pub/linux/kernel/v3.x/linux-${pkgver}.tar.xz"
'archlinuxarm.patch'
'config'
'mach-types::http://www.arm.linux.org.uk/developer/machines/download.php'
'change-default-console-loglevel.patch'
'usb-add-reset-resume-quirk-for-several-webcams.patch'
'rtl871x-arm.patch'
'mach-types::http://www.arm.linux.org.uk/developer/machines/download.php'
"git://git.code.sf.net/p/aufs/aufs3-standalone#branch=aufs${pkgver%.*}"
"http://download.gna.org/cryptodev-linux/cryptodev-linux-${cryptover}.tar.gz"
"http://algo.ing.unimo.it/people/paolo/disk_sched/patches/3.8.0-v6/0001-block-cgroups-kconfig-build-bits-for-BFQ-v6-3.8.patch"
"http://algo.ing.unimo.it/people/paolo/disk_sched/patches/3.8.0-v6/0002-block-introduce-the-BFQ-v6-I-O-sched-for-3.8.patch")
"http://kerneldedup.org/download/uksm/${uksmver}/uksm-${uksmver}-for-${uksmname}.patch"
"http://algo.ing.unimo.it/people/paolo/disk_sched/patches/${pkgver%.*}.0-${bfqver}/0001-block-cgroups-kconfig-build-bits-for-BFQ-${bfqver}-${pkgver%.*}.patch"
"http://algo.ing.unimo.it/people/paolo/disk_sched/patches/${pkgver%.*}.0-${bfqver}/0002-block-introduce-the-BFQ-${bfqver}-I-O-sched-for-${pkgver%.*}.patch"
"http://algo.ing.unimo.it/people/paolo/disk_sched/patches/${pkgver%.*}.0-${bfqver}/0003-block-bfq-add-Early-Queue-Merge-EQM-to-BFQ-${bfqver}-for-${pkgver%.*}.0.patch"
'aufs-sources-3.12.7-mmap-aufs3.patch')
md5sums=('f5d3635da03cb45904bedd69b47133de'
'22606bb1a818cfa81b635b03eda3311f'
'd00814b57448895e65fbbc800e8a58ba'
'c38fa5f5065be065282887e0a3e2dc63'
'd5c4e024aa5843d645faba0ac256f782'
'3a4b8d23c1708283e29477931d63ffb8'
'03eca1c188c076041f8d74100d55d659'
'90b11395c702610bf4b42e72913f23f8')
md5sums=('bacfc23a07a6fee0d271a4b062862445'
'1c87cbbc3355eb8741143b4595d0bb5e'
'5050ace2b2352cd39edc4e7396b8651a'
'SKIP'
'65d5a4f313310bb2a732d022d51ea7e7'
'9b5a265440abf57d2052838f31486a3a'
'SKIP'
'eade38998313c25fd7934719cdf8a2ea'
'57cbf7fa8220461f8a052ea0eb9af779'
'2d39966d14fdad1e05679232f97fdb3c'
'2965641038a5aae263722b1ba16b971b'
'9a55951ee4c3741b61e2e159631b5cf2'
'2dd9dae61c1d0eacda41a17bd13e7f7f')
__gitroot="git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git"
__gitname="linux"
__gitbranch="v3.9-rc2"
prepare() {
build() {
cd "${srcdir}"
#Remove after this fix is in the tree
msg2 "Fixing aufs3 for kernel >=3.12.7"
cd "${srcdir}/aufs3-standalone"
patch -p1 -i ../aufs-sources-3.12.7-mmap-aufs3.patch
#Evomer
msg "Connecting to GIT server..."
if [ -d $__gitname ] ; then
cd $__gitname && git pull origin
msg "The local files are updated."
else
git clone --depth 1 --branch=${__gitbranch} $__gitroot
fi
cd "${srcdir}/linux-${pkgver}"
cd "${srcdir}/${__gitname}"
msg2 "Copying aufs3 patches into the kernel source tree"
msg "GIT checkout done or server timeout"
cp -ru "${srcdir}/aufs3-standalone/Documentation" "${srcdir}/linux-${pkgver}/"
cp -ru "${srcdir}/aufs3-standalone/fs" "${srcdir}/linux-${pkgver}/"
cp -ru "${srcdir}/aufs3-standalone/include/uapi/linux/aufs_type.h" "${srcdir}/linux-${pkgver}/include/linux/"
cp -ru "${srcdir}/aufs3-standalone/include/uapi/linux/aufs_type.h" "${srcdir}/linux-${pkgver}/include/uapi/linux/"
# Add the USB_QUIRK_RESET_RESUME for several webcams
msg2 "Applying aufs3 patches"
patch -Np1 -i ../aufs3-standalone/aufs3-kbuild.patch
patch -Np1 -i ../aufs3-standalone/aufs3-base.patch
patch -Np1 -i ../aufs3-standalone/aufs3-mmap.patch
patch -Np1 -i ../aufs3-standalone/aufs3-standalone.patch
msg2 "Add the USB_QUIRK_RESET_RESUME for several webcams"
# FS#26528
patch -Np1 -i "${srcdir}/usb-add-reset-resume-quirk-for-several-webcams.patch"
# Add requested additional support
patch -Np1 -i "${srcdir}/support.patch"
# Full Mach-types table, not technically required for DT kernels...
msg2 "Add Arch Linux ARM patch for ARMv5te plug computers, mach-types"
patch -Np1 -i "${srcdir}/archlinuxarm.patch"
cp "${srcdir}/mach-types" arch/arm/tools
# Hack fix for an alignment bug in RTL8712 driver
patch -Np1 -i "${srcdir}/rtl871x-arm.patch"
msg2 "Add UKSM patch"
patch -Np1 -i "${srcdir}/uksm-${uksmver}-for-${uksmname}.patch"
msg2 "Add BFQ patches"
patch -Np1 -i "${srcdir}/0001-block-cgroups-kconfig-build-bits-for-BFQ-${bfqver}-${pkgver%.*}.patch"
patch -Np1 -i "${srcdir}/0002-block-introduce-the-BFQ-${bfqver}-I-O-sched-for-${pkgver%.*}.patch"
patch -Np1 -i "${srcdir}/0003-block-bfq-add-Early-Queue-Merge-EQM-to-BFQ-${bfqver}-for-${pkgver%.*}.0.patch"
# Add BFQ patches
patch -Np1 -i "${srcdir}/0001-block-cgroups-kconfig-build-bits-for-BFQ-v6-3.8.patch"
patch -Np1 -i "${srcdir}/0002-block-introduce-the-BFQ-v6-I-O-sched-for-3.8.patch"
cat "${srcdir}/config" > ./.config
# set extraversion to pkgrel
sed -ri "s|^(EXTRAVERSION =).*|\1 -${pkgrel}|" Makefile
# add pkgrel to extraversion
sed -ri "s|^(EXTRAVERSION =)(.*)|\1 \2-${pkgrel}|" Makefile
# don't run depmod on 'make install'. We'll do this ourselves in packaging
sed -i '2iexit 0' scripts/depmod.sh
}
build() {
cd "${srcdir}/linux-${pkgver}"
# get kernel version
make prepare
@ -83,46 +105,49 @@ build() {
# load configuration
# Configure the kernel. Replace the line below with one of your choice.
#make menuconfig # CLI menu for configuration
make nconfig # new CLI menu for configuration
#make nconfig # new CLI menu for configuration
#make xconfig # X-based configuration
#make oldconfig # using old config from previous kernel version
# ... or manually edit .config
# Copy back our configuration (use with new kernel version)
#cp ./.config ../${_basekernel}.config
#cp ./.config ../${pkgbase}.config
####################
# stop here
# this is useful to configure the kernel
msg "Stopping build"
return 1
# msg "Stopping build"
# return 1
####################
#yes "" | make config
# build!
msg "Building!"
make ${MAKEFLAGS} zImage modules
make dtbs
# build cryptodev module
msg "Building cryptodev module"
cd "${srcdir}/cryptodev-linux-${cryptover}"
make KERNEL_DIR="${srcdir}/${__gitname}"
make KERNEL_DIR="${srcdir}/linux-${pkgver}"
}
package_linux-kirkwood-dt() {
pkgdesc="The Linux Kernel and modules - Marvell Kirkwood DT"
depends=('coreutils' 'linux-firmware' 'module-init-tools>=3.16' 'mkinitcpio>=0.7' 'uboot-mkimage' 'uboot-env')
_package() {
pkgdesc="The Linux Kernel and modules - ${_desc}"
depends=('coreutils' 'linux-firmware' 'kmod' 'mkinitcpio>=0.7' 'uboot-mkimage' 'uboot-env')
optdepends=('crda: to set the correct wireless channels of your country')
provides=('kernel26' 'cryptodev_friendly' 'linux=${pkgver}')
conflicts=('linux')
provides=('kernel26' 'linux=${pkgver}' 'aufs_friendly' 'cryptodev_friendly')
conflicts=('linux-kirkwood' 'linux' 'linux-olinuxino')
install=${pkgname}.install
cd "${srcdir}/${__gitname}"
cd "${srcdir}/linux-${pkgver}"
KARCH=arm
# get kernel version
_kernver="$(make kernelrelease)"
#_basekernel=${_kernver%%-*}
#_basekernel=${_basekernel%.*}
_basekernel=${pkgver}
mkdir -p "${pkgdir}"/{lib/modules,lib/firmware,boot/dtb}
make INSTALL_MOD_PATH="${pkgdir}" modules_install
@ -155,9 +180,9 @@ package_linux-kirkwood-dt() {
# install cryptodev module
cd "${srcdir}/cryptodev-linux-${cryptover}"
make -C "${srcdir}/${__gitname}" INSTALL_MOD_PATH="${pkgdir}" SUBDIRS=`pwd` modules_install
make -C "${srcdir}/linux-${pkgver}" INSTALL_MOD_PATH="${pkgdir}" SUBDIRS=`pwd` modules_install
cd "${srcdir}/${__gitname}"
cd "${srcdir}/linux-${pkgver}"
# Now we call depmod...
depmod -b "$pkgdir" -F System.map "$_kernver"
@ -167,17 +192,18 @@ package_linux-kirkwood-dt() {
mv "$pkgdir/lib" "$pkgdir/usr"
}
package_linux-headers-kirkwood-dt() {
pkgdesc="Header files and scripts for building modules for linux kernel - Marvell Kirkwood"
provides=('kernel26-headers' 'linux-headers=${pkgver}')
conflicts=('kernel26-headers' 'linux-headers')
_package-headers() {
pkgdesc="Header files and scripts for building modules for linux kernel - ${_desc}"
provides=('linux-headers=${pkgver}')
conflicts=('linux-headers-kirkwood' 'linux-headers' 'linux-headers-olinuxino')
replaces=('linux-headers-kirkwood-dt')
install -dm755 "${pkgdir}/usr/lib/modules/${_kernver}"
cd "${pkgdir}/usr/lib/modules/${_kernver}"
ln -sf ../../../src/linux-${_kernver} build
cd "${srcdir}/${__gitname}"
cd "${srcdir}/linux-${pkgver}"
install -D -m644 Makefile \
"${pkgdir}/usr/src/linux-${_kernver}/Makefile"
install -D -m644 kernel/Makefile \
@ -186,15 +212,19 @@ package_linux-headers-kirkwood-dt() {
"${pkgdir}/usr/src/linux-${_kernver}/.config"
mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/include"
make headers_install INSTALL_HDR_PATH="${pkgdir}/usr/src/linux-${_kernver}"
for i in acpi asm-generic config crypto drm generated linux math-emu \
media net pcmcia scsi sound trace uapi video xen; do
cp -a include/${i} "${pkgdir}/usr/src/linux-${_kernver}/include/"
done
# copy arch includes for external modules
mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/arch/arm
cp -a arch/arm/include ${pkgdir}/usr/src/linux-${_kernver}/arch/arm/
mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/arch/arm/mach-kirkwood
cp -a arch/arm/mach-kirkwood/include ${pkgdir}/usr/src/linux-${_kernver}/arch/arm/mach-kirkwood/
mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/arch/arm/plat-orion
cp -a arch/arm/plat-orion/include ${pkgdir}/usr/src/linux-${_kernver}/arch/arm/plat-orion/
mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH
cp -a arch/$KARCH/include ${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH/
mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH/mach-kirkwood
cp -a arch/$KARCH/mach-kirkwood/include ${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH/mach-kirkwood/
mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH/plat-orion
cp -a arch/$KARCH/plat-orion/include ${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH/plat-orion/
# copy files necessary for later builds, like nvidia and vmware
cp Module.symvers "${pkgdir}/usr/src/linux-${_kernver}"
@ -204,16 +234,74 @@ package_linux-headers-kirkwood-dt() {
chmod og-w -R "${pkgdir}/usr/src/linux-${_kernver}/scripts"
mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/.tmp_versions"
mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/arch/arm/kernel"
mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/arch/${KARCH}/kernel"
cp arch/arm/Makefile "${pkgdir}/usr/src/linux-${_kernver}/arch/arm/"
cp arch/${KARCH}/Makefile "${pkgdir}/usr/src/linux-${_kernver}/arch/${KARCH}/"
cp arch/arm/kernel/asm-offsets.s "${pkgdir}/usr/src/linux-${_kernver}/arch/arm/kernel/"
cp arch/${KARCH}/kernel/asm-offsets.s "${pkgdir}/usr/src/linux-${_kernver}/arch/${KARCH}/kernel/"
# add headers for lirc package
# 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
install -D -m644 Documentation/DocBook/Makefile \
"${pkgdir}/usr/src/linux-${_kernver}/Documentation/DocBook/Makefile"
# add dm headers
mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/md"
cp drivers/md/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/md"
# add inotify.h
mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/include/linux"
cp include/linux/inotify.h "${pkgdir}/usr/src/linux-${_kernver}/include/linux/"
# add wireless headers
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"
@ -240,10 +328,17 @@ package_linux-headers-kirkwood-dt() {
esac
done
# Clean up unneeded files
find "${pkgdir}" -name "..install.cmd" -delete
# 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}
# install cryptodev header
cd "${srcdir}/cryptodev-linux-${cryptover}"
install -D crypto/cryptodev.h "${pkgdir}/usr/src/linux-${_kernver}/crypto/cryptodev.h"
}
pkgname=("${pkgbase}" "${pkgbase}-headers")
for _p in ${pkgname[@]}; do
eval "package_${_p}() {
_package${_p#${pkgbase}}
}"
done

View file

@ -0,0 +1,94 @@
diff -ruN a/arch/arm/plat-orion/common.c b/arch/arm/plat-orion/common.c
--- a/arch/arm/plat-orion/common.c 2013-11-03 16:41:51.000000000 -0700
+++ b/arch/arm/plat-orion/common.c 2013-11-08 01:39:48.788011812 -0700
@@ -256,7 +256,9 @@
/*****************************************************************************
* GE00
****************************************************************************/
-struct mv643xx_eth_shared_platform_data orion_ge00_shared_data;
+struct mv643xx_eth_shared_platform_data orion_ge00_shared_data = {
+ .tx_csum_limit = 1600,
+};
static struct resource orion_ge00_shared_resources[] = {
{
diff -ruN a/drivers/ata/sata_mv.c b/drivers/ata/sata_mv.c
--- a/drivers/ata/sata_mv.c 2013-11-03 16:41:51.000000000 -0700
+++ b/drivers/ata/sata_mv.c 2013-11-08 01:39:48.868014917 -0700
@@ -71,6 +71,7 @@
#include <scsi/scsi_cmnd.h>
#include <scsi/scsi_device.h>
#include <linux/libata.h>
+#include <linux/leds.h>
#define DRV_NAME "sata_mv"
#define DRV_VERSION "1.28"
@@ -1161,6 +1162,8 @@
{
int want_ncq = (protocol == ATA_PROT_NCQ);
+ ledtrig_ide_activity();
+
if (pp->pp_flags & MV_PP_FLAG_EDMA_EN) {
int using_ncq = ((pp->pp_flags & MV_PP_FLAG_NCQ_EN) != 0);
if (want_ncq != using_ncq)
diff -ruN a/drivers/leds/trigger/Kconfig b/drivers/leds/trigger/Kconfig
--- a/drivers/leds/trigger/Kconfig 2013-11-03 16:41:51.000000000 -0700
+++ b/drivers/leds/trigger/Kconfig 2013-11-08 01:39:48.958018410 -0700
@@ -35,7 +35,6 @@
config LEDS_TRIGGER_IDE_DISK
bool "LED IDE Disk Trigger"
- depends on IDE_GD_ATA
depends on LEDS_TRIGGERS
help
This allows LEDs to be controlled by IDE disk activity.
diff -ruN a/drivers/mmc/core/core.c b/drivers/mmc/core/core.c
--- a/drivers/mmc/core/core.c 2013-11-03 16:41:51.000000000 -0700
+++ b/drivers/mmc/core/core.c 2013-11-08 01:39:49.008020351 -0700
@@ -805,7 +805,7 @@
*/
limit_us = 3000000;
else
- limit_us = 100000;
+ limit_us = 200000;
/*
* SDHC cards always use these fixed values.
diff -ruN a/drivers/mmc/core/sd.c b/drivers/mmc/core/sd.c
--- a/drivers/mmc/core/sd.c 2013-11-03 16:41:51.000000000 -0700
+++ b/drivers/mmc/core/sd.c 2013-11-08 01:39:49.008020351 -0700
@@ -358,6 +358,15 @@
return -ENOMEM;
}
+ /*
+ * Some SDHC cards, notably those with a Sandisk SD controller
+ * (also found in Kingston products) need a bit of slack
+ * before successfully handling the SWITCH command. So far,
+ * cards identifying themselves as "SD04G" and "SD08G" are
+ * affected
+ */
+ udelay(100);
+
err = mmc_sd_switch(card, 1, 0, 1, status);
if (err)
goto out;
diff -ruN a/drivers/mmc/host/mvsdio.c b/drivers/mmc/host/mvsdio.c
--- a/drivers/mmc/host/mvsdio.c 2013-11-03 16:41:51.000000000 -0700
+++ b/drivers/mmc/host/mvsdio.c 2013-11-08 01:39:49.028021127 -0700
@@ -25,6 +25,7 @@
#include <linux/of_irq.h>
#include <linux/mmc/host.h>
#include <linux/mmc/slot-gpio.h>
+#include <linux/mmc/sd.h>
#include <linux/pinctrl/consumer.h>
#include <asm/sizes.h>
@@ -148,6 +149,7 @@
dev_dbg(host->dev, "cmd %d (hw state 0x%04x)\n",
cmd->opcode, mvsd_read(MVSD_HW_STATE));
+ if (cmd->opcode == SD_SWITCH) mdelay(1); /* Voodoo */
cmdreg = MVSD_CMD_INDEX(cmd->opcode);

View file

@ -0,0 +1,38 @@
aufs3-mmap.patch | 17 ++++++-----------
1 file changed, 6 insertions(+), 11 deletions(-)
diff --git a/aufs3-mmap.patch b/aufs3-mmap.patch
index acebfa8..8682a6d 100644
--- a/aufs3-mmap.patch
+++ b/aufs3-mmap.patch
@@ -215,24 +215,19 @@ index ae4846f..3f890ee 100644
if (page->mapping != inode->i_mapping) {
unlock_page(page);
diff --git a/mm/fremap.c b/mm/fremap.c
-index 5bff081..246a9c7 100644
+index bbc4d66..7deee2c 100644
--- a/mm/fremap.c
+++ b/mm/fremap.c
-@@ -207,11 +207,12 @@ get_write_lock:
- */
- if (mapping_cap_account_dirty(mapping)) {
- unsigned long addr;
-- struct file *file = get_file(vma->vm_file);
-+ struct file *file = vma->vm_file;
+@@ -211,7 +211,9 @@ get_write_lock:
+ /* mmap_region may free vma; grab the info now */
+ vm_flags = vma->vm_flags;
+ vma_get_file(vma);
- addr = mmap_region(file, start, size,
- vma->vm_flags, pgoff);
-- fput(file);
+ addr = mmap_region(file, start, size, vm_flags, pgoff);
+ vma_fput(vma);
+ fput(file);
if (IS_ERR_VALUE(addr)) {
err = addr;
- } else {
diff --git a/mm/madvise.c b/mm/madvise.c
index 539eeb9..5e700b1 100644
--- a/mm/madvise.c

View file

@ -0,0 +1,12 @@
diff -ruN a/kernel/printk.c b/kernel/printk.c
--- a/kernel/printk/printk.c 2013-05-07 21:58:03.000000000 -0600
+++ b/kernel/printk/printk.c 2013-05-08 23:24:39.000000000 -0600
@@ -61,7 +61,7 @@
/* We show everything that is MORE important than this.. */
#define MINIMUM_CONSOLE_LOGLEVEL 1 /* Minimum loglevel we let people use */
-#define DEFAULT_CONSOLE_LOGLEVEL 7 /* anything MORE serious than KERN_DEBUG */
+#define DEFAULT_CONSOLE_LOGLEVEL 4 /* anything MORE serious than KERN_DEBUG */
int console_printk[4] = {
DEFAULT_CONSOLE_LOGLEVEL, /* console_loglevel */

File diff suppressed because it is too large Load diff

View file

@ -2,7 +2,7 @@
# arg 2: the old package version
KERNEL_NAME=-kirkwood-dt
KERNEL_VERSION=3.9.0-1-ARCH+
KERNEL_VERSION=3.12.8-1-ARCH
post_install () {
# updating module dependencies
@ -42,23 +42,6 @@ post_upgrade() {
echo ">>> Updating module dependencies. Please wait ..."
depmod ${KERNEL_VERSION}
echo "**********************************************************************"
echo "WARNING! This kernel package will NOT boot without user intervention."
echo ""
echo " A Kirkwood Flattened Device Tree supporting zImage is"
echo " placed in /boot and all mainline supported .dtb and .dts"
echo " files are in /boot/dtb for you to prep as appropriate."
echo ""
echo " Depending on your particular device, you may need to upgrade"
echo " your installed U-Boot version, and/or modify your boot env."
echo " Some platforms may need to append the appropriate .dtb to the"
echo " end of the zImage and make a uImage from the resulting blob."
echo " You may need to update the .dts with your kernel boot args"
echo " and compile your own .dtb from it, /usr/local/sbin/dtc has"
echo " been included to assist in this."
echo ""
echo " If you are not familiar with the care and feeding of a DT"
echo " enabled kernel for your device, uninstall this package and"
echo " continue to use linux or linux-kirkwood for now."
echo "**********************************************************************"
echo " Remember, on most systems this new kernel will not boot without"
echo " further user action."
}

File diff suppressed because it is too large Load diff

View file

@ -1,18 +0,0 @@
diff -ruN a/drivers/staging/rtl8712/rtl871x_sta_mgt.c b/drivers/staging/rtl8712/rtl871x_sta_mgt.c
--- a/drivers/staging/rtl8712/rtl871x_sta_mgt.c 2012-11-17 16:21:23.000000000 -0500
+++ b/drivers/staging/rtl8712/rtl871x_sta_mgt.c 2012-11-18 14:58:27.000000000 -0500
@@ -52,11 +52,11 @@
s32 i;
pstapriv->pallocated_stainfo_buf = _malloc(sizeof(struct sta_info) *
- NUM_STA + 4);
+ NUM_STA + 8);
if (pstapriv->pallocated_stainfo_buf == NULL)
return _FAIL;
- pstapriv->pstainfo_buf = pstapriv->pallocated_stainfo_buf + 4 -
- ((addr_t)(pstapriv->pallocated_stainfo_buf) & 3);
+ pstapriv->pstainfo_buf = pstapriv->pallocated_stainfo_buf + 8 -
+ ((addr_t)(pstapriv->pallocated_stainfo_buf) & 7);
_init_queue(&pstapriv->free_sta_queue);
spin_lock_init(&pstapriv->sta_hash_lock);
pstapriv->asoc_sta_count = 0;

View file

@ -1,10 +0,0 @@
--- a/drivers/usb/misc/sisusbvga/sisusb.c
+++ b/drivers/usb/misc/sisusbvga/sisusb.c
@@ -3247,6 +3247,7 @@
{ USB_DEVICE(0x0711, 0x0903) },
{ USB_DEVICE(0x0711, 0x0918) },
{ USB_DEVICE(0x0711, 0x0920) },
+ { USB_DEVICE(0x0711, 0x0950) },
{ USB_DEVICE(0x182d, 0x021c) },
{ USB_DEVICE(0x182d, 0x0269) },
{ }

File diff suppressed because it is too large Load diff

View file

@ -1,39 +1,25 @@
commit 2394d67e446bf616a0885167d5f0d397bdacfdfc
Author: Oliver Neukum <oneukum@suse.de>
Date: Tue Sep 13 08:42:21 2011 +0200
USB: add RESET_RESUME for webcams shown to be quirky
The new runtime PM code has shown that many webcams suffer
from a race condition that may crash them upon resume.
Runtime PM is especially prone to show the problem because
it retains power to the cameras at all times. However
system suspension may also crash the devices and retain
power to the devices.
The only way to solve this problem without races is in
usbcore with the RESET_RESUME quirk.
Signed-off-by: Oliver Neukum <oneukum@suse.de>
Signed-off-by: stable <stable@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c
index 81ce6a8..38f0510 100644
--- a/drivers/usb/core/quirks.c
+++ b/drivers/usb/core/quirks.c
@@ -38,6 +38,24 @@ static const struct usb_device_id usb_quirk_list[] = {
/* Creative SB Audigy 2 NX */
{ USB_DEVICE(0x041e, 0x3020), .driver_info = USB_QUIRK_RESET_RESUME },
diff -ruN a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c
--- a/drivers/usb/core/quirks.c 2013-05-07 21:58:03.000000000 -0600
+++ b/drivers/usb/core/quirks.c 2013-05-08 23:15:23.000000000 -0600
@@ -64,6 +64,30 @@
/* Logitech Quickcam OEM Cisco VT Camera II */
{ USB_DEVICE(0x046d, 0x08c7), .driver_info = USB_QUIRK_RESET_RESUME },
+ /* Logitech Webcam C200 */
+ { USB_DEVICE(0x046d, 0x0802), .driver_info = USB_QUIRK_RESET_RESUME },
+
+ /* Logitech Webcam C250 */
+ { USB_DEVICE(0x046d, 0x0804), .driver_info = USB_QUIRK_RESET_RESUME },
+
+ /* Logitech Webcam C300 */
+ { USB_DEVICE(0x046d, 0x0805), .driver_info = USB_QUIRK_RESET_RESUME },
+
+ /* Logitech Webcam B/C500 */
+ { USB_DEVICE(0x046d, 0x0807), .driver_info = USB_QUIRK_RESET_RESUME },
+
+ /* Logitech Webcam C600 */
+ { USB_DEVICE(0x046d, 0x0808), .driver_info = USB_QUIRK_RESET_RESUME },
+
+ /* Logitech Webcam Pro 9000 */
+ { USB_DEVICE(0x046d, 0x0809), .driver_info = USB_QUIRK_RESET_RESUME },
+
@ -43,56 +29,16 @@ index 81ce6a8..38f0510 100644
+ /* Logitech Webcam C270 */
+ { USB_DEVICE(0x046d, 0x0825), .driver_info = USB_QUIRK_RESET_RESUME },
+
/* Logitech Harmony 700-series */
{ USB_DEVICE(0x046d, 0xc122), .driver_info = USB_QUIRK_DELAY_INIT },
@@ -69,6 +87,9 @@ static const struct usb_device_id usb_quirk_list[] = {
{ USB_DEVICE(0x06a3, 0x0006), .driver_info =
USB_QUIRK_CONFIG_INTF_STRINGS },
/* Logitech Harmony 700-series */
{ USB_DEVICE(0x046d, 0xc122), .driver_info = USB_QUIRK_DELAY_INIT },
@@ -108,6 +132,9 @@
/* Midiman M-Audio Keystation 88es */
{ USB_DEVICE(0x0763, 0x0192), .driver_info = USB_QUIRK_RESET_RESUME },
+ /* Guillemot Webcam Hercules Dualpix Exchange*/
+ { USB_DEVICE(0x06f8, 0x0804), .driver_info = USB_QUIRK_RESET_RESUME },
+
/* M-Systems Flash Disk Pioneers */
{ USB_DEVICE(0x08ec, 0x1000), .driver_info = USB_QUIRK_RESET_RESUME },
commit 5b253d88cc6c65a23cefc457a5a4ef139913c5fc
Author: Jon Levell <linuxusb@coralbark.net>
Date: Thu Sep 29 20:42:52 2011 +0100
USB: add quirk for Logitech C300 web cam
My webcam is a Logitech C300 and I get "chipmunk"ed squeaky sound.
The following trivial patch fixes it.
Signed-off-by: Jon Levell <linuxusb@coralbark.net>
Cc: stable <stable@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c
index 38f0510..d6a8d82 100644
--- a/drivers/usb/core/quirks.c
+++ b/drivers/usb/core/quirks.c
@@ -44,6 +44,9 @@ static const struct usb_device_id usb_quirk_list[] = {
/* Logitech Webcam C250 */
{ USB_DEVICE(0x046d, 0x0804), .driver_info = USB_QUIRK_RESET_RESUME },
+ /* Logitech Webcam C300 */
+ { USB_DEVICE(0x046d, 0x0805), .driver_info = USB_QUIRK_RESET_RESUME },
+
/* Logitech Webcam B/C500 */
{ USB_DEVICE(0x046d, 0x0807), .driver_info = USB_QUIRK_RESET_RESUME },
diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c
index d6a8d82..caa1991 100644
--- a/drivers/usb/core/quirks.c
+++ b/drivers/usb/core/quirks.c
@@ -50,6 +50,9 @@ static const struct usb_device_id usb_quirk_list[] = {
/* Logitech Webcam B/C500 */
{ USB_DEVICE(0x046d, 0x0807), .driver_info = USB_QUIRK_RESET_RESUME },
+ /* Logitech Webcam C600 */
+ { USB_DEVICE(0x046d, 0x0808), .driver_info = USB_QUIRK_RESET_RESUME },
+
/* Logitech Webcam Pro 9000 */
{ USB_DEVICE(0x046d, 0x0809), .driver_info = USB_QUIRK_RESET_RESUME },
/* M-Systems Flash Disk Pioneers */
{ USB_DEVICE(0x08ec, 0x1000), .driver_info = USB_QUIRK_RESET_RESUME },