diff --git a/device/device-samsung-royss/APKBUILD b/device/device-samsung-royss/APKBUILD index 466ca75dc..45361ccd8 100644 --- a/device/device-samsung-royss/APKBUILD +++ b/device/device-samsung-royss/APKBUILD @@ -2,12 +2,12 @@ pkgname="device-samsung-royss" pkgdesc="Samsung Galaxy Young" pkgver=0.1 -pkgrel=0 +pkgrel=1 url="https://postmarketos.org" license="MIT" arch="armv7" options="!check !archcheck" -depends="postmarketos-base linux-samsung-royss mkbootimg mesa-dri-swrast" +depends="postmarketos-base linux-samsung-royss mkbootimg mesa-dri-swrast msm-fb-refresher" makedepends="devicepkg-dev" source=" deviceinfo @@ -17,6 +17,8 @@ source=" build() { devicepkg_build $startdir $pkgname + + install -Dm644 "$srcdir"/fb.modes "$pkgdir"/etc/fb.modes } package() { diff --git a/device/linux-samsung-royss/00_return_address.patch b/device/linux-samsung-royss/00_return_address.patch new file mode 100644 index 000000000..f58d8d1cb --- /dev/null +++ b/device/linux-samsung-royss/00_return_address.patch @@ -0,0 +1,29 @@ +diff --git a/arch/arm/include/asm/ftrace.h b/arch/arm/include/asm/ftrace.h +index f89515a..2bb8cac 100644 +--- a/arch/arm/include/asm/ftrace.h ++++ b/arch/arm/include/asm/ftrace.h +@@ -45,7 +45,7 @@ void *return_address(unsigned int); + + #else + +-extern inline void *return_address(unsigned int level) ++static inline void *return_address(unsigned int level) + { + return NULL; + } +diff --git a/arch/arm/kernel/return_address.c b/arch/arm/kernel/return_address.c +index 0b13a72..8bf0a5a 100644 +--- a/arch/arm/kernel/return_address.c ++++ b/arch/arm/kernel/return_address.c +@@ -62,11 +62,6 @@ void *return_address(unsigned int level) + #warning "TODO: return_address should use unwind tables" + #endif + +-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/device/linux-samsung-royss/02_gpu-msm-fix-gcc5-compile.patch b/device/linux-samsung-royss/02_gpu-msm-fix-gcc5-compile.patch new file mode 100644 index 000000000..91b17cd76 --- /dev/null +++ b/device/linux-samsung-royss/02_gpu-msm-fix-gcc5-compile.patch @@ -0,0 +1,33 @@ +source: +https://github.com/ShinySide/HispAsian_Lollipop_G6/commit/b7756b6fc4bb728722b14d2dfdbaf1dc843812e9 + +* These need to be static to avoid these errors: + +drivers/built-in.o: In function `.LANCHOR1': +msm_iommu_sec.c:(.data+0x9298): undefined reference to `kgsl_iommu_sync_lock' +msm_iommu_sec.c:(.data+0x929c): undefined reference to `kgsl_iommu_sync_unlock' +Makefile:877: recipe for target '.tmp_vmlinux1' failed +make: *** [.tmp_vmlinux1] Error 1 + +Signed-off-by: Chet Kener + +--- a/drivers/gpu/msm/kgsl_iommu.c ++++ b/drivers/gpu/msm/kgsl_iommu.c +@@ -1010,7 +1010,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; +@@ -1080,7 +1080,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/device/linux-samsung-royss/APKBUILD b/device/linux-samsung-royss/APKBUILD index 9ddc80023..31bffeb16 100644 --- a/device/linux-samsung-royss/APKBUILD +++ b/device/linux-samsung-royss/APKBUILD @@ -2,8 +2,8 @@ # Kernel config based on: arch/arm/configs/cyanogenmod_royss_defconfig pkgname="linux-samsung-royss" -pkgver=3.4.0 -pkgrel=1 +pkgver=3.4.105 +pkgrel=0 pkgdesc="Samsung Galaxy Young kernel fork" arch="armv7" _carch="arm" @@ -11,14 +11,11 @@ _flavor="samsung-royss" url="https://github.com/Nothing-Dev/android_kernel_samsung_royss" license="GPL-2.0-only" options="!strip !check !tracedeps" -makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev devicepkg-dev gcc4 xz" +makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev devicepkg-dev xz" -## Compiler: GCC 4 (doesn't boot when compiled with newer versions) -if [ "${CC:0:5}" != "gcc4-" ]; then - CC="gcc4-$CC" - HOSTCC="gcc4-gcc" - CROSS_COMPILE="gcc4-$CROSS_COMPILE" -fi +# Compiler: latest GCC from Alpine +HOSTCC="${CC:-gcc}" +HOSTCC="${HOSTCC#${CROSS_COMPILE}}" # Source _repository="android_kernel_samsung_royss" @@ -27,7 +24,12 @@ _config="config-${_flavor}.${arch}" source=" $pkgname-$_commit.tar.gz::https://github.com/Nothing-Dev/${_repository}/archive/${_commit}.tar.gz $_config + 00_return_address.patch + 02_gpu-msm-fix-gcc5-compile.patch + gcc7-give-up-on-ilog2-const-optimizations.patch + gcc8-fix-put-user.patch " + builddir="$srcdir/${_repository}-${_commit}" prepare() { @@ -45,6 +47,12 @@ package() { # kernel.release install -D "$builddir/include/config/kernel.release" \ "$pkgdir/usr/share/kernel/$_flavor/kernel.release" + + # Install kernel modules + echo "--[ Installing modules ]--" + make ARCH="$_carch" CC="${CC:-gcc}" \ + KBUILD_BUILD_VERSION="$((pkgrel + 1))-postmarketOS" \ + INSTALL_MOD_PATH="$pkgdir" INSTALL_MOD_STRIP=1 modules_install # zImage (find the right one) cd "$builddir/arch/$_carch/boot" @@ -62,4 +70,8 @@ package() { } sha512sums="5dd49d41297247788d5b33815ec74f02ecc2566a9045102df63579dbc360f7c4c08fc4a28251efa02959137e7ed0f92a91b694145d40ee52bb0bf99557a7320a linux-samsung-royss-3169160cd6b23e0325fb5117cc347fc6acb2bc48.tar.gz -a3567091c53630c4f4ce6e59f7f9c79dc34744ceb95a6541eea09421194740330cfce788c43ff82bc09303b9045d1902ec10beec3d1beeee2e5fb6f3d3c95039 config-samsung-royss.armv7" +a3567091c53630c4f4ce6e59f7f9c79dc34744ceb95a6541eea09421194740330cfce788c43ff82bc09303b9045d1902ec10beec3d1beeee2e5fb6f3d3c95039 config-samsung-royss.armv7 +c40eaa11547f5bc2b1ff965506bdfe3015ff16e4b5ad9ccb3b8134ceafd1d32407c4ef2b213e02e036ce1e9bdcbfe768dff7d4b054bec77705a176c1f783b6f5 00_return_address.patch +7be03a9e78b7ac330a54b1f00509caa0621a95c0c55901878ad757f9dd69cc05ba2c8b5ea987063ae1224f92c4d090d515fa5d369e7755181a4871b0d0f82881 02_gpu-msm-fix-gcc5-compile.patch +77eba606a71eafb36c32e9c5fe5e77f5e4746caac292440d9fb720763d766074a964db1c12bc76fe583c5d1a5c864219c59941f5e53adad182dbc70bf2bc14a7 gcc7-give-up-on-ilog2-const-optimizations.patch +197d40a214ada87fcb2dfc0ae4911704b9a93354b75179cd6b4aadbb627a37ec262cf516921c84a8b1806809b70a7b440cdc8310a4a55fca5d2c0baa988e3967 gcc8-fix-put-user.patch" diff --git a/device/linux-samsung-royss/gcc7-give-up-on-ilog2-const-optimizations.patch b/device/linux-samsung-royss/gcc7-give-up-on-ilog2-const-optimizations.patch new file mode 120000 index 000000000..da3d1ed41 --- /dev/null +++ b/device/linux-samsung-royss/gcc7-give-up-on-ilog2-const-optimizations.patch @@ -0,0 +1 @@ +../../.shared-patches/linux/gcc7-give-up-on-ilog2-const-optimizations.patch \ No newline at end of file diff --git a/device/linux-samsung-royss/gcc8-fix-put-user.patch b/device/linux-samsung-royss/gcc8-fix-put-user.patch new file mode 120000 index 000000000..1d40b2674 --- /dev/null +++ b/device/linux-samsung-royss/gcc8-fix-put-user.patch @@ -0,0 +1 @@ +../../.shared-patches/linux/gcc8-fix-put-user.patch \ No newline at end of file