From 54948b6bf6b4c50a007ca814d61f5f9e1434e074 Mon Sep 17 00:00:00 2001 From: Pablo Castellano Date: Mon, 5 Jun 2017 00:18:48 +0200 Subject: [PATCH] Kernel compiles! - Removed -Werror - Use linux-lg-mako as base - Split big .diff in .patch files so that they are automatically applied - Applied patches to kernel Previously it was stuck showing this error: https://pastebin.com/L7Q01Q7s See: https://forum.armbian.com/index.php?/topic/545-building-kernel-with-gcc5/ https://github.com/xapp-le/owl/issues/4 Other interesting changes to merge: https://github.com/zanezam/boeffla-kernel-cm-bacon/commit/5236526cf8f1586c2afe29d827568e6afa2a0042 --- linux-motorola-titan/APKBUILD | 58 ++-- linux-motorola-titan/Wno-error.patch | 13 + linux-motorola-titan/changes1.patch | 25 ++ linux-motorola-titan/gcc5-compile.patch | 336 ++++++++++++++++++++++++ linux-motorola-titan/init | 29 -- 5 files changed, 393 insertions(+), 68 deletions(-) create mode 100644 linux-motorola-titan/Wno-error.patch create mode 100644 linux-motorola-titan/changes1.patch create mode 100644 linux-motorola-titan/gcc5-compile.patch delete mode 100644 linux-motorola-titan/init diff --git a/linux-motorola-titan/APKBUILD b/linux-motorola-titan/APKBUILD index cdbff9782..9a70b4ef2 100644 --- a/linux-motorola-titan/APKBUILD +++ b/linux-motorola-titan/APKBUILD @@ -1,21 +1,13 @@ -# Based on linux-lg-mako. Changes: -# - add findutils makedepend (necessary for the initramfs) -# - it builds an initramfs - do not use ramdisk.cpio and -# ramdisk-recovery-device.cpio, in there, always use the -# initramfs from the recovery partition ("isorec") -# - directly boot to that initramfs, not only when the recovery -# key combination was pressed. -# - use Alpine's busybox-static instead of the pre-compiled -# binary, that comes with the source +# APKBUILD based on linux-vanilla aport. Changes: +# - disabled module installation +# - add !check !tracedeps +# - package: just install zimage and kernel.release, because the kernel config +# does not generate modules or dtb files +# - do not create -dev subpackage (makes no sense without module support) # -# Kernel config changes, based on: arch/arm/configs/i9100_defconfig +# Kernel config changes, based on: arch/arm/configs/titan_defconfig +# Changes: # - enable devtmpfs (needed for udev -> touch support in weston) -# - change compression from CONFIG_KERNEL_LZMA=y to -# CONFIG_KERNEL_GZIP=y (so it works with busybox) - -# This must be built in the target chroot, so busybox.static can -# be used. -_pmb_build_in_native_chroot="false" _vendor=motorola _flavor=motorola-titan @@ -23,25 +15,26 @@ _hash="09cff47d6b79b73ecc3461e227abf09faaa9e754" _config="config-${_flavor}.armhf" pkgname=linux-${_flavor} -pkgver=3.0.101 +pkgver=3.4.113 case $pkgver in *.*.*) _kernver=${pkgver%.*};; *.*) _kernver=$pkgver;; esac -pkgrel=5 +pkgrel=0 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 -findutils busybox-static" +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 - init + $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" @@ -76,20 +69,6 @@ prepare() { return 1 fi - # Use Alpine's busybox.static instead of the pre-compiled busybox shipped - # with the source - cp -v /bin/busybox.static "$ksrcdir"/usr/galaxys2_initramfs_files/busybox - - # do not use ramdisk.cpio and ramdisk-recovery-device.cpio, always use - # the initramfs from the recovery partition ("isorec"), so we can build - # it later and independently from the kernel. also directly boot that - # partition, not only when the recovery key combination was used. - cd "$ksrcdir"/usr/ - mv galaxys2_initramfs.list galaxys2_initramfs.list_old - grep -v "../../ramdisk" galaxys2_initramfs.list_old > galaxys2_initramfs.list \ - || return 1 - cp -v "$srcdir"/init "$ksrcdir"/usr/galaxys2_initramfs_files/init || return 1 - # gcc6 support cp -v "$srcdir/compiler-gcc6.h" "$ksrcdir/include/linux/" || return 1 @@ -126,6 +105,7 @@ package() { } sha512sums="1a5599b1fe0d36a9804b2379cfc69f07ebd6f2fa472c7a7e4ae070131728c46db5f2b9766af282fd64ea075772f700c3b816ca7b7c90d24e21e9da289317ca37 linux-motorola-titan-09cff47d6b79b73ecc3461e227abf09faaa9e754.zip -19128ea4d34631eb019de39a3721f5a2fdcbc54a27a8ba7d34468c39066cd35ded8134e64d5f7e1724eaec42a252afbf403bdc82120b19cb2d3a5dc6492e0839 config-motorola-titan.armhf +80857bddbd9fcb93cec4e178c2fd377d39b1bd85454330c02866628942be826f2c1f77e0df3b77f41e893d3d04ee6e18b27fcfc6cda637fafc733916f2f5340d config-motorola-titan.armhf d80980e9474c82ba0ef1a6903b434d8bd1b092c40367ba543e72d2c119301c8b2d05265740e4104ca1ac5d15f6c4aa49e8776cb44264a9a28dc551e0d1850dcc compiler-gcc6.h +f949e35a9a57cd23c4bfd6c9fed06db30e7af30be4a0931ab3f00e371d75b07623ea7fdbff11d6011271c19a839470c9acba5521f45dc664a925ba42688ed861 changes1.diff dd4094d5f4ec281d32f12af88cb22a782e497c8e52f69cf60b73ac7d6171fc95f1f8040b3d0ad2ff3f016d22ac1d91c5b522e5d03203534a76742bc55a082af5 init" diff --git a/linux-motorola-titan/Wno-error.patch b/linux-motorola-titan/Wno-error.patch new file mode 100644 index 000000000..6d99a78ce --- /dev/null +++ b/linux-motorola-titan/Wno-error.patch @@ -0,0 +1,13 @@ +--- Makefile ++++ Makefile_noerror +@@ -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__ diff --git a/linux-motorola-titan/changes1.patch b/linux-motorola-titan/changes1.patch new file mode 100644 index 000000000..870bce30e --- /dev/null +++ b/linux-motorola-titan/changes1.patch @@ -0,0 +1,25 @@ +--- arch/arm/include/asm/ftrace.h ++++ ftrace2.h +@@ -45,7 +45,7 @@ + + #else + +-extern inline void *return_address(unsigned int level) ++static inline void *return_address(unsigned int level) + { + return NULL; + } +--- arch/arm/kernel/return_address.c ++++ ret_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); diff --git a/linux-motorola-titan/gcc5-compile.patch b/linux-motorola-titan/gcc5-compile.patch new file mode 100644 index 000000000..88f7113fb --- /dev/null +++ b/linux-motorola-titan/gcc5-compile.patch @@ -0,0 +1,336 @@ +From 5236526cf8f1586c2afe29d827568e6afa2a0042 Mon Sep 17 00:00:00 2001 +From: ZaneZam +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 ++-- + drivers/media/platform/msm/camera_oppo_v2/isp/Makefile | 3 +++ + drivers/media/platform/msm/camera_oppo_v2/ispif/Makefile | 3 +++ + .../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/staging/prima/Kbuild | 3 +++ + drivers/video/msm/mdss/Makefile | 3 +++ + drivers/video/msm/mdss/mdss_mdp_pp.c | 2 +- + fs/fat/Makefile | 2 ++ + kernel/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/platform/msm/camera_oppo_v2/isp/Makefile b/drivers/media/platform/msm/camera_oppo_v2/isp/Makefile +index 819f9defbff..17c2d2e99dd 100644 +--- a/drivers/media/platform/msm/camera_oppo_v2/isp/Makefile ++++ b/drivers/media/platform/msm/camera_oppo_v2/isp/Makefile +@@ -1,3 +1,6 @@ ++ ++EXTRA_CFLAGS += -Wno-array-bounds ++ + ccflags-y += -Idrivers/media/platform/msm/camera_oppo_v2 + ccflags-y += -Idrivers/media/platform/msm/camera_oppo_v2/sensor/io + obj-$(CONFIG_MSMB_CAMERA) += msm_isp.o msm_buf_mgr.o msm_isp_util.o msm_isp_axi_util.o msm_isp_stats_util.o +diff --git a/drivers/media/platform/msm/camera_oppo_v2/ispif/Makefile b/drivers/media/platform/msm/camera_oppo_v2/ispif/Makefile +index ebb884dab8a..9e0440da8aa 100644 +--- a/drivers/media/platform/msm/camera_oppo_v2/ispif/Makefile ++++ b/drivers/media/platform/msm/camera_oppo_v2/ispif/Makefile +@@ -1,3 +1,6 @@ ++ ++EXTRA_CFLAGS += -Wno-array-bounds ++ + ccflags-y += -Idrivers/media/platform/msm/camera_oppo_v2 + ccflags-y += -Idrivers/media/platform/msm/camera_oppo_v2/sensor/io + obj-$(CONFIG_MSM_CSID) += msm_ispif.o +diff --git a/drivers/media/platform/msm/camera_oppo_v2/jpeg_10/msm_jpeg_sync.c b/drivers/media/platform/msm/camera_oppo_v2/jpeg_10/msm_jpeg_sync.c +index 5cc51ffa573..c456cc6557c 100644 +--- a/drivers/media/platform/msm/camera_oppo_v2/jpeg_10/msm_jpeg_sync.c ++++ b/drivers/media/platform/msm/camera_oppo_v2/jpeg_10/msm_jpeg_sync.c +@@ -27,7 +27,7 @@ + #define JPEG_DEC_ID 2 + #define UINT32_MAX (0xFFFFFFFFU) + +-inline void msm_jpeg_q_init(char const *name, struct msm_jpeg_q *q_p) ++static inline void msm_jpeg_q_init(char const *name, struct msm_jpeg_q *q_p) + { + JPEG_DBG("%s:%d] %s\n", __func__, __LINE__, name); + q_p->name = name; +@@ -37,7 +37,7 @@ inline void msm_jpeg_q_init(char const *name, struct msm_jpeg_q *q_p) + q_p->unblck = 0; + } + +-inline void *msm_jpeg_q_out(struct msm_jpeg_q *q_p) ++static inline void *msm_jpeg_q_out(struct msm_jpeg_q *q_p) + { + unsigned long flags; + struct msm_jpeg_q_entry *q_entry_p = NULL; +@@ -63,7 +63,7 @@ inline void *msm_jpeg_q_out(struct msm_jpeg_q *q_p) + return data; + } + +-inline int msm_jpeg_q_in(struct msm_jpeg_q *q_p, void *data) ++static inline int msm_jpeg_q_in(struct msm_jpeg_q *q_p, void *data) + { + unsigned long flags; + +@@ -85,7 +85,7 @@ inline int msm_jpeg_q_in(struct msm_jpeg_q *q_p, void *data) + return 0; + } + +-inline int msm_jpeg_q_in_buf(struct msm_jpeg_q *q_p, ++static inline int msm_jpeg_q_in_buf(struct msm_jpeg_q *q_p, + struct msm_jpeg_core_buf *buf) + { + struct msm_jpeg_core_buf *buf_p; +@@ -103,7 +103,7 @@ inline int msm_jpeg_q_in_buf(struct msm_jpeg_q *q_p, + return 0; + } + +-inline int msm_jpeg_q_wait(struct msm_jpeg_q *q_p) ++static inline int msm_jpeg_q_wait(struct msm_jpeg_q *q_p) + { + int tm = MAX_SCHEDULE_TIMEOUT; /* 500ms */ + int rc; +@@ -146,7 +146,7 @@ inline int msm_jpeg_q_unblock(struct msm_jpeg_q *q_p) + return 0; + } + +-inline void msm_jpeg_outbuf_q_cleanup(struct msm_jpeg_device *pgmn_dev, ++static inline void msm_jpeg_outbuf_q_cleanup(struct msm_jpeg_device *pgmn_dev, + struct msm_jpeg_q *q_p, int domain_num) + { + struct msm_jpeg_core_buf *buf_p; +@@ -163,7 +163,7 @@ inline void msm_jpeg_outbuf_q_cleanup(struct msm_jpeg_device *pgmn_dev, + q_p->unblck = 0; + } + +-inline void msm_jpeg_q_cleanup(struct msm_jpeg_q *q_p) ++static inline void msm_jpeg_q_cleanup(struct msm_jpeg_q *q_p) + { + void *data; + JPEG_DBG("%s:%d] %s\n", __func__, __LINE__, q_p->name); +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/staging/prima/Kbuild b/drivers/staging/prima/Kbuild +index 78ca4ad657a..dee3a6cc679 100644 +--- a/drivers/staging/prima/Kbuild ++++ b/drivers/staging/prima/Kbuild +@@ -1,5 +1,8 @@ + # We can build either as part of a standalone Kernel build or part + # of an Android build. Determine which mechanism is being used ++ ++EXTRA_CFLAGS += -Wno-discarded-array-qualifiers ++ + ifeq ($(MODNAME),) + KERNEL_BUILD := 1 + else +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 dsi_status_v2.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/kernel/Makefile b/kernel/Makefile +index 4c8635ffeda..0e0ee9696bf 100644 +--- a/kernel/Makefile ++++ b/kernel/Makefile +@@ -2,6 +2,8 @@ + # Makefile for the linux kernel. + # + ++EXTRA_CFLAGS += -Wno-array-bounds ++ + obj-y = fork.o exec_domain.o panic.o printk.o printk_interface.o \ + cpu.o exit.o itimer.o time.o softirq.o resource.o \ + sysctl.o sysctl_binary.o capability.o ptrace.o timer.o user.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 \ diff --git a/linux-motorola-titan/init b/linux-motorola-titan/init deleted file mode 100644 index 1011f2314..000000000 --- a/linux-motorola-titan/init +++ /dev/null @@ -1,29 +0,0 @@ -#!/stage1/busybox sh - -# Samsung kernels come with their own initramfs, which extract and load another -# initramfs. Usually that depends on the recovery key combination being pressed -# or not. For simplicity, we always boot the recovery image (from the recovery -# partition) here. - -_PATH="$PATH" -export PATH=/stage1 - -busybox cd / -busybox date >>boot.txt -exec >>boot.txt 2>&1 -busybox rm init -busybox mount -t proc proc /proc -busybox mount -t sysfs sysfs /sys - -# always use the "isorec"-style lzop compressed initramfs -# from the recovery partition -load_image=/stage1/isorec.cpio -busybox lzop -dc /dev/block/mmcblk0p6 > ${load_image} -busybox cpio -i < ${load_image} - -busybox umount /sys -busybox umount /proc -busybox date >>boot.txt -busybox rm -fr /stage1 /dev/* -export PATH="${_PATH}" -exec /init