Merge pull request #117 from PabloCastellano/device-motorola-titan

Moto G 2014 (titan)
This commit is contained in:
Oliver Smith 2017-06-28 22:06:11 +00:00 committed by GitHub
commit 49dfc5a7c7
11 changed files with 4255 additions and 0 deletions

View File

@ -0,0 +1,8 @@
# udev rules file
# All device names can be read from weston's logfile (/tmp/weston.log in postmarketOS)
# Touchscreen (use 'weston-calibrator' to calibrate)
SUBSYSTEM=="input", ATTRS{name}=="synaptics_dsx_i2c", \
ENV{ID_INPUT}="1", ENV{ID_INPUT_TOUCHSCREEN}="1" \
ENV{WL_CALIBRATION}="1.058484 -0.016513 -7.906464 0.020550 0.998119 -34.100464"

View File

@ -0,0 +1,33 @@
pkgname=device-motorola-titan
pkgver=1
pkgrel=4
pkgdesc="Motorola Moto G 2014"
url="https://github.com/postmarketOS"
arch="noarch"
license="MIT"
depends="linux-motorola-titan mkbootimg"
makedepends=""
install=""
subpackages=""
source="deviceinfo 90-android-touch-dev.rules initfs-hook.sh profile.sh"
options="!check"
build() {
return 0
}
package() {
install -D -m644 "$srcdir/deviceinfo" \
"$pkgdir/etc/deviceinfo"
install -D -m644 "$srcdir"/90-android-touch-dev.rules \
"$pkgdir"/etc/udev/rules.d/90-android-touch-dev.rules
install -D -m644 "$srcdir"/initfs-hook.sh \
"$pkgdir"/etc/postmarketos-mkinitfs/hooks/00-${pkgname}.sh
install -D -m644 "$srcdir"/profile.sh \
"$pkgdir"/etc/profile.d/00-$pkgname.sh
}
sha512sums="43973f535bc40d50ab6897129d711713a0fc0e56972addc33874c9db33269ae9e868a963b56669e7533cb7a9224fc86a6388338142a419dd852e2f74088db5c9 deviceinfo
f37e6324abf0b0fc8a3d360d6d11bb0648090a438a55ca7f04a9d494719e687ce445ae107ace642edf293afb6ca82615bcb5d0ddb6c46c1a7f8ee3c213b7c5c4 90-android-touch-dev.rules
8590967fa10388a890fdfafdb1070b9ab22dc89e06a3a8834806c772191e3b67de7b914b0d68e5ddf581cee715cb90f3f24abcb8762c415ff328c6da23e55d52 initfs-hook.sh
4fd7fceda05b9a7e5a7d32f737126c335de883d9caed799345c1016164e04d05819436a0dfd9e624499bbc1a9d0d56ba6e738f4458bc92ef1fe135845ae1aa85 profile.sh"

View File

@ -0,0 +1,30 @@
# This document format is a draft.
# You can source it in shell scripts.
# Use only double quotes.
deviceinfo_format_version="0"
deviceinfo_name="Moto G 2014"
deviceinfo_manufacturer="Motorola"
deviceinfo_date=""
deviceinfo_keyboard="false"
deviceinfo_nonfree="????"
deviceinfo_dtb=""
deviceinfo_modules=""
deviceinfo_modules_initfs=""
deviceinfo_external_disk="false"
deviceinfo_external_disk_install="false"
deviceinfo_flash_methods="fastboot"
deviceinfo_arch="armhf"
# You can for example extract these from an existing boot.img
deviceinfo_flash_offset_base="0"
deviceinfo_flash_offset_kernel="0x00008000"
deviceinfo_flash_offset_ramdisk="0x01000000"
deviceinfo_flash_offset_second="0x00f00000"
deviceinfo_flash_offset_tags="0x00000100"
deviceinfo_flash_pagesize="2048"
deviceinfo_kernel_cmdline="androidboot.bootdevice=msm_sdcc.1 androidboot.hardware=qcom vmalloc=400M utags.blkdev=/dev/block/platform/msm_sdcc.1/by-name/utags buildvariant=userdebug"
deviceinfo_generate_bootimg="true"
deviceinfo_weston_pixman_type="2"

View File

@ -0,0 +1,4 @@
#!/bin/sh
# set framebuffer resolution
cat /sys/class/graphics/fb0/modes > /sys/class/graphics/fb0/mode

View File

@ -0,0 +1,30 @@
#!/bin/sh
# Dirty hacks, necessary to get a working demo...
if [ -e /etc/xdg/weston/weston.ini ]; then
rm /etc/xdg/weston/weston.ini
echo "WARNING: xwayland does not work yet on motorola-titan (probably)"
echo "because of bad framebuffer drivers)"
echo "=> Deleted /etc/xdg/weston/weston.ini as workaround"
fi
if [ -e /lib/udev/v4l_id ]; then
mv /lib/udev/v4l_id /lib/udev/v4l_id_
echo "WARNING: v4l_id hangs with the current kernel."
echo "=> Moved it from /lib/udev/v4l_id to /lib/udev/v4l_id_"
fi
# Run a few weston demos, because the postmarketos-demos program depends
# on xwayland for now (Alpine's GTK3 isn't configured for Wayland
# support yet.)
if [ $(tty) = "/dev/tty1" ]; then
(
sleep 3;
export XDG_RUNTIME_DIR=/tmp/0-runtime-dir
weston-smoke &
weston-simple-damage &
weston-editor &
weston-terminal --shell=/usr/bin/htop &
) > /dev/null &
fi

View File

@ -0,0 +1,115 @@
# APKBUILD based on linux-vanilla aport. Changes:
# - disabled module installation
# - added !check !tracedeps
# - package: just install zImage-dtb and kernel.release
# - do not create -dev subpackage (makes no sense without module support)
#
# Kernel config changes, based on: arch/arm/configs/titan_defconfig
# Changes:
# - apply patches to compile with gcc6
# - disable -Werror-implicit-function-declaration and -Wno-error,
# otherwise the kernel would not compile
# - enable devtmpfs (needed for udev -> touch support in weston)
# - disable xz compression
_vendor=motorola
_flavor=motorola-titan
_hash="09cff47d6b79b73ecc3461e227abf09faaa9e754"
_config="config-${_flavor}.armhf"
pkgname=linux-${_flavor}
pkgver=3.4.113
case $pkgver in
*.*.*) _kernver=${pkgver%.*};;
*.*) _kernver=$pkgver;;
esac
pkgrel=1
arch="armhf"
pkgdesc="Motorola Moto G 2014 kernel from LineageOS"
url="https://github.com/LineageOS/android_kernel_motorola_msm8226"
depends="postmarketos-mkinitfs"
makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev xz"
options="!strip !check !tracedeps"
install=
source="
$pkgname-$_hash.zip::https://github.com/LineageOS/android_kernel_motorola_msm8226/archive/${_hash}.zip
$_config
compiler-gcc6.h
changes1.patch
gcc5-compile.patch
Wno-error.patch
"
subpackages=""
license="GPL2"
_abi_release=${pkgver}
_carch="arm"
HOSTCC="${CC:-gcc}"
HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
ksrcdir="$srcdir/android_kernel_motorola_msm8226-${_hash}"
prepare() {
local _patch_failed=
cd "$ksrcdir"
# first apply patches in specified order
for i in $source; do
case $i in
*.patch)
msg "Applying $i..."
if ! patch -s -p1 -N -i "$srcdir"/$i; then
echo $i >>failed
_patch_failed=1
fi
;;
esac
done
if ! [ -z "$_patch_failed" ]; then
error "The following patches failed:"
cat failed
return 1
fi
# gcc6 support
cp -v "$srcdir/compiler-gcc6.h" "$ksrcdir/include/linux/" || return 1
mkdir -p "$srcdir"/build
cp "$srcdir"/$_config "$srcdir"/build/.config || return 1
make -C "$ksrcdir" O="$srcdir"/build ARCH="$_carch" HOSTCC="$HOSTCC" \
silentoldconfig
}
# this is so we can do: 'abuild menuconfig' to reconfigure kernel
menuconfig() {
cd "$srcdir"/build || return 1
make ARCH="$_carch" menuconfig
cp .config "$startdir"/$_config
}
build() {
cd "$srcdir"/build
unset LDFLAGS
make ARCH="$_carch" CC="${CC:-gcc}" \
KBUILD_BUILD_VERSION="$((pkgrel + 1 ))-Alpine" \
|| return 1
}
package() {
install -Dm644 "$srcdir/build/arch/arm/boot/zImage-dtb" \
"$pkgdir/boot/vmlinuz-$_flavor"
install -D "$srcdir/build/include/config/kernel.release" \
"$pkgdir/usr/share/kernel/$_flavor/kernel.release"
}
sha512sums="1a5599b1fe0d36a9804b2379cfc69f07ebd6f2fa472c7a7e4ae070131728c46db5f2b9766af282fd64ea075772f700c3b816ca7b7c90d24e21e9da289317ca37 linux-motorola-titan-09cff47d6b79b73ecc3461e227abf09faaa9e754.zip
9975a82511dc20ef0c771a84e1021e9358575a3c50847750567d03d3bccef088b099bcfa7145d5358f6c49c22dbbf401f49da3e60f87dc6486a1394119e77f3a config-motorola-titan.armhf
d80980e9474c82ba0ef1a6903b434d8bd1b092c40367ba543e72d2c119301c8b2d05265740e4104ca1ac5d15f6c4aa49e8776cb44264a9a28dc551e0d1850dcc compiler-gcc6.h
00bd2504cb922204c3b6a9ce243918f44d12f08e12f64535b9ec9f91d827160c4d5da85c3b84788a5f92d9eca63552265a203916505918367e2d397edbe148a8 changes1.patch
4c13711fdcdce3ac0c4d30b79da7a331a9f32d46ad0b9572419b82d58db6eed76f728a340848d66a6378702749c56247439abb26fc1df0d3f5cfd1ef5b53acf9 gcc5-compile.patch
d77966385f1aeb17fad6c3989766e874fea9d5818433d0c92c106dfd9aa3065102f018afb38678b0d741192d9efa4ede0ac4278802bf0878e3dec62dec64f50c Wno-error.patch"

View File

@ -0,0 +1,13 @@
--- a/Makefile
+++ b/Makefile
@@ -371,9 +371,8 @@
KBUILD_CFLAGS := -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs \
-fno-strict-aliasing -fno-common \
- -Werror-implicit-function-declaration \
-Wno-format-security -Wno-sizeof-pointer-memaccess \
- -fno-delete-null-pointer-checks -Werror
+ -fno-delete-null-pointer-checks
KBUILD_AFLAGS_KERNEL :=
KBUILD_CFLAGS_KERNEL :=
KBUILD_AFLAGS := -D__ASSEMBLY__

View File

@ -0,0 +1,25 @@
--- a/arch/arm/include/asm/ftrace.h
+++ b/arch/arm/include/asm/ftrace.h
@@ -45,7 +45,7 @@
#else
-extern inline void *return_address(unsigned int level)
+static inline void *return_address(unsigned int level)
{
return NULL;
}
--- a/arch/arm/kernel/return_address.c
+++ b/arch/arm/kernel/return_address.c
@@ -58,11 +58,6 @@
#else /* if defined(CONFIG_FRAME_POINTER) && !defined(CONFIG_ARM_UNWIND) */
-void *return_address(unsigned int level)
-{
- return NULL;
-}
-
#endif /* if defined(CONFIG_FRAME_POINTER) && !defined(CONFIG_ARM_UNWIND) / else */
EXPORT_SYMBOL_GPL(return_address);

View File

@ -0,0 +1,69 @@
// SOURCE:
// https://github.com/NextThingCo/CHIP-u-boot/issues/10#issuecomment-287515505
#ifndef __LINUX_COMPILER_H
#error "Please don't include <linux/compiler-gcc6.h> directly, include <linux/compiler.h> instead."
#endif
#define __used __attribute__((__used__))
#define __must_check __attribute__((warn_unused_result))
#define __compiler_offsetof(a, b) __builtin_offsetof(a, b)
/* Mark functions as cold. gcc will assume any path leading to a call
to them will be unlikely. This means a lot of manual unlikely()s
are unnecessary now for any paths leading to the usual suspects
like BUG(), printk(), panic() etc. [but let's keep them for now for
older compilers]
Early snapshots of gcc 4.3 don't support this and we can't detect this
in the preprocessor, but we can live with this because they're unreleased.
Maketime probing would be overkill here.
gcc also has a __attribute__((__hot__)) to move hot functions into
a special section, but I don't see any sense in this right now in
the kernel context */
#define __cold __attribute__((__cold__))
#define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__)
#ifndef __CHECKER__
# define __compiletime_warning(message) __attribute__((warning(message)))
# define __compiletime_error(message) __attribute__((error(message)))
#endif /* __CHECKER__ */
/*
* Mark a position in code as unreachable. This can be used to
* suppress control flow warnings after asm blocks that transfer
* control elsewhere.
*
* Early snapshots of gcc 4.5 don't support this and we can't detect
* this in the preprocessor, but we can live with this because they're
* unreleased. Really, we need to have autoconf for the kernel.
*/
#define unreachable() __builtin_unreachable()
/* Mark a function definition as prohibited from being cloned. */
#define __noclone __attribute__((__noclone__))
/*
* Tell the optimizer that something else uses this function or variable.
*/
#define __visible __attribute__((externally_visible))
/*
* GCC 'asm goto' miscompiles certain code sequences:
*
* http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58670
*
* Work it around via a compiler barrier quirk suggested by Jakub Jelinek.
*
* (asm goto is automatically volatile - the naming reflects this.)
*/
#define asm_volatile_goto(x...) do { asm goto(x); asm (""); } while (0)
#ifdef CONFIG_ARCH_USE_BUILTIN_BSWAP
#define __HAVE_BUILTIN_BSWAP32__
#define __HAVE_BUILTIN_BSWAP64__
#define __HAVE_BUILTIN_BSWAP16__
#endif /* CONFIG_ARCH_USE_BUILTIN_BSWAP */

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,217 @@
From 5236526cf8f1586c2afe29d827568e6afa2a0042 Mon Sep 17 00:00:00 2001
From: ZaneZam <cyxman@yahoo.com>
Date: Thu, 26 Mar 2015 14:56:22 +0100
Subject: [PATCH] toolchain: multiple fixes and changes for gcc 5.0.0
---
arch/arm/mach-msm/include/mach/qdsp6v2/apr.h | 2 +-
drivers/gpu/msm/Makefile | 3 +++
drivers/gpu/msm/adreno_ringbuffer.c | 4 ++--
drivers/gpu/msm/kgsl_iommu.c | 4 ++--
.../platform/msm/camera_oppo_v2/jpeg_10/msm_jpeg_sync.c | 14 +++++++-------
drivers/media/video/Makefile | 2 ++
drivers/mmc/host/Makefile | 2 ++
drivers/staging/prima/CORE/HDD/src/wlan_hdd_wmm.c | 2 +-
drivers/video/msm/mdss/Makefile | 3 +++
drivers/video/msm/mdss/mdss_mdp_pp.c | 2 +-
fs/fat/Makefile | 2 ++
mm/Makefile | 2 ++
mm/rmap.c | 2 +-
sound/soc/codecs/Makefile | 3 +++
sound/usb/Makefile | 2 ++
19 files changed, 45 insertions(+), 15 deletions(-)
diff --git a/arch/arm/mach-msm/include/mach/qdsp6v2/apr.h b/arch/arm/mach-msm/include/mach/qdsp6v2/apr.h
index 9f4acca58d0..63dc87b172e 100644
--- a/arch/arm/mach-msm/include/mach/qdsp6v2/apr.h
+++ b/arch/arm/mach-msm/include/mach/qdsp6v2/apr.h
@@ -153,7 +153,7 @@ int apr_get_svc(const char *svc_name, int dest_id, int *client_id,
void apr_cb_func(void *buf, int len, void *priv);
struct apr_svc *apr_register(char *dest, char *svc_name, apr_fn svc_fn,
uint32_t src_port, void *priv);
-inline int apr_fill_hdr(void *handle, uint32_t *buf, uint16_t src_port,
+int apr_fill_hdr(void *handle, uint32_t *buf, uint16_t src_port,
uint16_t msg_type, uint16_t dest_port,
uint32_t token, uint32_t opcode, uint16_t len);
diff --git a/drivers/gpu/msm/Makefile b/drivers/gpu/msm/Makefile
index 8a3993525aa..4bf7b30d4e1 100644
--- a/drivers/gpu/msm/Makefile
+++ b/drivers/gpu/msm/Makefile
@@ -1,3 +1,6 @@
+
+EXTRA_CFLAGS += -Wno-array-bounds
+
ccflags-y := -Iinclude/uapi/drm -Iinclude/drm -Idrivers/gpu/msm
msm_kgsl_core-y = \
diff --git a/drivers/gpu/msm/adreno_ringbuffer.c b/drivers/gpu/msm/adreno_ringbuffer.c
index 1b367c6a3bb..f006e4a02f3 100644
--- a/drivers/gpu/msm/adreno_ringbuffer.c
+++ b/drivers/gpu/msm/adreno_ringbuffer.c
@@ -213,7 +213,7 @@ int adreno_ringbuffer_read_pm4_ucode(struct kgsl_device *device)
*
* Load the pm4 ucode from @start at @addr.
*/
-inline int adreno_ringbuffer_load_pm4_ucode(struct kgsl_device *device,
+static inline int adreno_ringbuffer_load_pm4_ucode(struct kgsl_device *device,
unsigned int start, unsigned int end, unsigned int addr)
{
struct adreno_device *adreno_dev = ADRENO_DEVICE(device);
@@ -267,7 +267,7 @@ int adreno_ringbuffer_read_pfp_ucode(struct kgsl_device *device)
*
* Load the pfp ucode from @start at @addr.
*/
-inline int adreno_ringbuffer_load_pfp_ucode(struct kgsl_device *device,
+static inline int adreno_ringbuffer_load_pfp_ucode(struct kgsl_device *device,
unsigned int start, unsigned int end, unsigned int addr)
{
struct adreno_device *adreno_dev = ADRENO_DEVICE(device);
diff --git a/drivers/gpu/msm/kgsl_iommu.c b/drivers/gpu/msm/kgsl_iommu.c
index 1680a679fb0..6a1f62a8a94 100644
--- a/drivers/gpu/msm/kgsl_iommu.c
+++ b/drivers/gpu/msm/kgsl_iommu.c
@@ -993,7 +993,7 @@ static int kgsl_iommu_init_sync_lock(struct kgsl_mmu *mmu)
*
* Return - int - number of commands.
*/
-inline unsigned int kgsl_iommu_sync_lock(struct kgsl_mmu *mmu,
+static inline unsigned int kgsl_iommu_sync_lock(struct kgsl_mmu *mmu,
unsigned int *cmds)
{
struct kgsl_device *device = mmu->device;
@@ -1063,7 +1063,7 @@ inline unsigned int kgsl_iommu_sync_lock(struct kgsl_mmu *mmu,
*
* Return - int - number of commands.
*/
-inline unsigned int kgsl_iommu_sync_unlock(struct kgsl_mmu *mmu,
+static inline unsigned int kgsl_iommu_sync_unlock(struct kgsl_mmu *mmu,
unsigned int *cmds)
{
struct kgsl_device *device = mmu->device;
diff --git a/drivers/media/video/Makefile b/drivers/media/video/Makefile
index 26f96cad452..750a92dc22d 100644
--- a/drivers/media/video/Makefile
+++ b/drivers/media/video/Makefile
@@ -2,6 +2,8 @@
# Makefile for the video capture/playback device drivers.
#
+EXTRA_CFLAGS += -Wno-array-bounds
+
tuner-objs := tuner-core.o
msp3400-objs := msp3400-driver.o msp3400-kthreads.o
diff --git a/drivers/mmc/host/Makefile b/drivers/mmc/host/Makefile
index c0232fa4453..41fe89b9459 100644
--- a/drivers/mmc/host/Makefile
+++ b/drivers/mmc/host/Makefile
@@ -2,6 +2,8 @@
# Makefile for MMC/SD host controller drivers
#
+EXTRA_CFLAGS += -Wno-array-bounds
+
obj-$(CONFIG_MMC_ARMMMCI) += mmci.o
obj-$(CONFIG_MMC_PXA) += pxamci.o
obj-$(CONFIG_MMC_IMX) += imxmmc.o
diff --git a/drivers/staging/prima/CORE/HDD/src/wlan_hdd_wmm.c b/drivers/staging/prima/CORE/HDD/src/wlan_hdd_wmm.c
index 077e8cb2648..c7a661b4c62 100644
--- a/drivers/staging/prima/CORE/HDD/src/wlan_hdd_wmm.c
+++ b/drivers/staging/prima/CORE/HDD/src/wlan_hdd_wmm.c
@@ -876,7 +876,7 @@ static eHalStatus hdd_wmm_sme_callback (tHalHandle hHal,
VOS_TRACE( VOS_MODULE_ID_HDD, WMM_TRACE_LEVEL_ERROR,
"%s: Setup failed, not a QoS AP",
__func__);
- if (!HDD_WMM_HANDLE_IMPLICIT == pQosContext->handle)
+ if (HDD_WMM_HANDLE_IMPLICIT != pQosContext->handle)
{
VOS_TRACE(VOS_MODULE_ID_HDD, WMM_TRACE_LEVEL_INFO,
"%s: Explicit Qos, notifying userspace",
diff --git a/drivers/video/msm/mdss/Makefile b/drivers/video/msm/mdss/Makefile
index 568c020a7c4..00bef01e598 100644
--- a/drivers/video/msm/mdss/Makefile
+++ b/drivers/video/msm/mdss/Makefile
@@ -1,3 +1,6 @@
+
+EXTRA_CFLAGS += -Wno-array-bounds
+
mdss-mdp3-objs = mdp3.o mdp3_dma.o mdp3_ctrl.o
mdss-mdp3-objs += mdp3_ppp.o mdp3_ppp_hwio.o mdp3_ppp_data.o
obj-$(CONFIG_FB_MSM_MDSS_MDP3) += mdss-mdp3.o
diff --git a/drivers/video/msm/mdss/mdss_mdp_pp.c b/drivers/video/msm/mdss/mdss_mdp_pp.c
index 91549419456..65733b8ee99 100644
--- a/drivers/video/msm/mdss/mdss_mdp_pp.c
+++ b/drivers/video/msm/mdss/mdss_mdp_pp.c
@@ -4429,7 +4429,7 @@ int mdss_mdp_ad_input(struct msm_fb_data_type *mfd,
mutex_lock(&ad->lock);
if ((!PP_AD_STATE_IS_INITCFG(ad->state) &&
!PP_AD_STS_IS_DIRTY(ad->sts)) &&
- !input->mode == MDSS_AD_MODE_CALIB) {
+ input->mode != MDSS_AD_MODE_CALIB) {
pr_warn("AD not initialized or configured.");
ret = -EPERM;
goto error;
diff --git a/fs/fat/Makefile b/fs/fat/Makefile
index e06190322c1..a4f39fae7ec 100644
--- a/fs/fat/Makefile
+++ b/fs/fat/Makefile
@@ -2,6 +2,8 @@
# Makefile for the Linux fat filesystem support.
#
+EXTRA_CFLAGS += -Wno-array-bounds
+
obj-$(CONFIG_FAT_FS) += fat.o
obj-$(CONFIG_VFAT_FS) += vfat.o
obj-$(CONFIG_MSDOS_FS) += msdos.o
diff --git a/mm/Makefile b/mm/Makefile
index 7dab505a3d3..6dca64e2d07 100644
--- a/mm/Makefile
+++ b/mm/Makefile
@@ -2,6 +2,8 @@
# Makefile for the linux memory manager.
#
+EXTRA_CFLAGS += -Wno-array-bounds
+
mmu-y := nommu.o
mmu-$(CONFIG_MMU) := fremap.o highmem.o madvise.o memory.o mincore.o \
mlock.o mmap.o mprotect.o mremap.o msync.o rmap.o \
diff --git a/mm/rmap.c b/mm/rmap.c
index ecce3eca0b7..95caf999479 100644
--- a/mm/rmap.c
+++ b/mm/rmap.c
@@ -566,7 +566,7 @@ void page_unlock_anon_vma(struct anon_vma *anon_vma)
* Returns virtual address or -EFAULT if page's index/offset is not
* within the range mapped the @vma.
*/
-inline unsigned long
+static inline unsigned long
vma_address(struct page *page, struct vm_area_struct *vma)
{
pgoff_t pgoff = page->index << (PAGE_CACHE_SHIFT - PAGE_SHIFT);
diff --git a/sound/soc/codecs/Makefile b/sound/soc/codecs/Makefile
index 915b57e9118..aa41a457e0a 100644
--- a/sound/soc/codecs/Makefile
+++ b/sound/soc/codecs/Makefile
@@ -1,3 +1,6 @@
+
+EXTRA_CFLAGS += -Wno-discarded-array-qualifiers
+
snd-soc-88pm860x-objs := 88pm860x-codec.o
snd-soc-ac97-objs := ac97.o
snd-soc-ad1836-objs := ad1836.o
diff --git a/sound/usb/Makefile b/sound/usb/Makefile
index ac256dc4c6b..b744c5aa8bf 100644
--- a/sound/usb/Makefile
+++ b/sound/usb/Makefile
@@ -2,6 +2,8 @@
# Makefile for ALSA
#
+EXTRA_CFLAGS += -Wno-array-bounds
+
snd-usb-audio-objs := card.o \
clock.o \
endpoint.o \