lg-vee3e: new device (MR 1977)

[ci:skip-build]: already built successfully in CI
This commit is contained in:
Duje Mihanovic 2021-02-25 00:45:35 -08:00 committed by Oliver Smith
parent fcc2ef8f86
commit 2978b95c1f
No known key found for this signature in database
GPG key ID: 5AE7F5513E0885CB
12 changed files with 3677 additions and 0 deletions

View file

@ -0,0 +1,22 @@
# Reference: <https://postmarketos.org/devicepkg>
pkgname=device-lg-vee3e
pkgdesc="LG Optimus L3 II"
pkgver=0.1
pkgrel=0
url="https://postmarketos.org"
license="MIT"
arch="armv7"
options="!check !archcheck"
depends="postmarketos-base linux-lg-vee3e mkbootimg mesa-dri-gallium mdss-fb-init-hack"
makedepends="devicepkg-dev"
source="deviceinfo"
build() {
devicepkg_build $startdir $pkgname
}
package() {
devicepkg_package $startdir $pkgname
}
sha512sums="a530628db623e2f0d8428379c0e340d03ba78bd38e760a4df01e6f4623245ce2ea7c0daf92db5203ac46e08799ea8a96aa793b0355514e30691517f83ec017a6 deviceinfo"

View file

@ -0,0 +1,31 @@
# Reference: <https://postmarketos.org/deviceinfo>
# Please use double quotes only. You can source this file in shell
# scripts.
deviceinfo_format_version="0"
deviceinfo_name="LG Optimus L3 II"
deviceinfo_manufacturer="LG"
deviceinfo_codename="lg-vee3e"
deviceinfo_year="2013"
deviceinfo_arch="armv7"
# Device related
deviceinfo_chassis="handset"
deviceinfo_keyboard="false"
deviceinfo_external_storage="true"
deviceinfo_screen_width="240"
deviceinfo_screen_height="320"
# Bootloader related
deviceinfo_flash_method="fastboot"
deviceinfo_kernel_cmdline="androidboot.hardware=vee3 androidboot.selinux=permissive"
deviceinfo_generate_bootimg="true"
deviceinfo_bootimg_qcdt="false"
deviceinfo_bootimg_mtk_mkimage="false"
deviceinfo_bootimg_dtb_second="false"
deviceinfo_flash_offset_base="0x00200000"
deviceinfo_flash_offset_kernel="0x00008000"
deviceinfo_flash_offset_ramdisk="0x01200000"
deviceinfo_flash_offset_second="0x00f00000"
deviceinfo_flash_offset_tags="0x00000100"
deviceinfo_flash_pagesize="4096"

View file

@ -0,0 +1,39 @@
diff --git a/drivers/video/fbcmap.c b/drivers/video/fbcmap.c
index 5c3960da755..4505286236c 100644
--- a/drivers/video/fbcmap.c
+++ b/drivers/video/fbcmap.c
@@ -267,10 +267,12 @@ int fb_set_user_cmap(struct fb_cmap_user *cmap, struct fb_info *info)
if (size < 0 || size < cmap->len)
return -E2BIG;
-
+ printk(KERN_INFO "PMOS DEBUG: Calling memset\n");
memset(&umap, 0, sizeof(struct fb_cmap));
+ printk(KERN_INFO "PMOS DEBUG: Calling fb_alloc_cmap_gfp\n");
rc = fb_alloc_cmap_gfp(&umap, cmap->len, cmap->transp != NULL,
GFP_KERNEL);
+ printk(KERN_INFO "PMOS DEBUG: fb_alloc_cmap_gfp returned %d\n", rc);
if (rc)
return rc;
if (copy_from_user(umap.red, cmap->red, size) ||
diff --git a/drivers/video/fbmem.c b/drivers/video/fbmem.c
index f45a51f05b2..5e28d48875d 100644
--- a/drivers/video/fbmem.c
+++ b/drivers/video/fbmem.c
@@ -1117,9 +1117,15 @@ static long do_fb_ioctl(struct fb_info *info, unsigned int cmd,
ret = copy_to_user(argp, &fix, sizeof(fix)) ? -EFAULT : 0;
break;
case FBIOPUTCMAP:
- if (copy_from_user(&cmap, argp, sizeof(cmap)))
+ printk(KERN_INFO "PMOS DEBUG: calling copy_from_user\n");
+ if (copy_from_user(&cmap, argp, sizeof(cmap))) {
+ printk(KERN_ERR "PMOS DEBUG: copy_from_user failed!\n");
return -EFAULT;
+ }
+ printk(KERN_INFO "PMOS DEBUG: copy_from_user ok\n");
+ printk(KERN_INFO "PMOS DEBUG: calling fb_set_user_cmap\n");
ret = fb_set_user_cmap(&cmap, info);
+ printk(KERN_INFO "PMOS DEBUG: fb_set_user_cmap returned %d\n", ret);
break;
case FBIOGETCMAP:
if (copy_from_user(&cmap, argp, sizeof(cmap)))

View file

@ -0,0 +1,13 @@
diff --git a/drivers/video/msm/mdss/mdss_fb.c b/drivers/video/msm/mdss/mdss_fb.c
index fda70941c6c..b676a0fd831 100644
--- a/drivers/video/msm/mdss/mdss_fb.c
+++ b/drivers/video/msm/mdss/mdss_fb.c
@@ -202,7 +202,7 @@ static int mdss_fb_probe(struct platform_device *pdev)
mfd->mdp_fb_page_protection = MDP_FB_PAGE_PROTECTION_WRITECOMBINE;
mfd->panel_info.frame_count = 0;
mfd->bl_level = 0;
- mfd->fb_imgType = MDP_RGBA_8888;
+ mfd->fb_imgType = MDP_RGB_8888;
mfd->iclient = msm_ion_client_create(-1, pdev->name);
if (IS_ERR(mfd->iclient))
mfd->iclient = NULL;

View file

@ -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 <Cl3Kener@gmail.com>
--- 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;

View file

@ -0,0 +1,59 @@
# Reference: <https://postmarketos.org/vendorkernel>
# Kernel config based on: arch/arm/configs/cyanogenmod_vee3_defconfig
pkgname=linux-lg-vee3e
pkgver=3.4.0
pkgrel=0
pkgdesc="LG Optimus L3 II kernel fork"
arch="armv7"
_carch="arm"
_flavor="lg-vee3e"
url="https://kernel.org"
license="GPL-2.0-only"
options="!strip !check !tracedeps pmb:cross-native"
makedepends="bash bc bison devicepkg-dev flex openssl-dev perl"
# Source
_repository="lge-kernel-lproj"
_commit="45d6b0c683f3e0178e91c081133c6ebbea1d30fd"
_config="config-$_flavor.$arch"
source="
$pkgname-$_commit.tar.gz::https://github.com/TeamHackLG/$_repository/archive/$_commit.tar.gz
$_config
gcc7-give-up-on-ilog2-const-optimizations.patch
gcc8-fix-put-user.patch
gcc10-extern_YYLOC_global_declaration.patch
static-inline-in-ftrace.h.patch
02_gpu-msm-fix-gcc5-compile.patch
0001-gpu-msm-debug-messages.patch
0002-msm-fb-rgb-mode.patch
linux3.4-vfs-Fix-proc-tid-fdinfo-fd-file-handling.patch
"
builddir="$srcdir/$_repository-$_commit"
_outdir="out"
prepare() {
default_prepare
. downstreamkernel_prepare
}
build() {
unset LDFLAGS
make O="$_outdir" ARCH="$_carch" CC="${CC:-gcc}" \
KBUILD_BUILD_VERSION="$((pkgrel + 1 ))-postmarketOS"
}
package() {
downstreamkernel_package "$builddir" "$pkgdir" "$_carch" "$_flavor" "$_outdir"
}
sha512sums="b73f5d8a87eaea99489b3ed090ef5219438779a9ba8de4716be9d6a0b8f8e88e56ae493cc9b9efdd1736bc061f174a61576f0b99a9f75e8c613fc09bd01a7d86 linux-lg-vee3e-45d6b0c683f3e0178e91c081133c6ebbea1d30fd.tar.gz
0398fc08acb2ad83f1edaed2f10f2a25a0d7da6ccf8a3c280e230e674575b3d08e34dd6087fc07ac6f57556390d4188a6fb1bf5e7db48d380539171dec62191e config-lg-vee3e.armv7
77eba606a71eafb36c32e9c5fe5e77f5e4746caac292440d9fb720763d766074a964db1c12bc76fe583c5d1a5c864219c59941f5e53adad182dbc70bf2bc14a7 gcc7-give-up-on-ilog2-const-optimizations.patch
197d40a214ada87fcb2dfc0ae4911704b9a93354b75179cd6b4aadbb627a37ec262cf516921c84a8b1806809b70a7b440cdc8310a4a55fca5d2c0baa988e3967 gcc8-fix-put-user.patch
2b48f1bf0e3f70703d2cdafc47d5e615cc7c56c70bec56b2e3297d3fa4a7a1321d649a8679614553dde8fe52ff1051dae38d5990e3744c9ca986d92187dcdbeb gcc10-extern_YYLOC_global_declaration.patch
ea1d3b5a234fa565e3c1a792de48f4fc4e6023d281d303c8e319c7ef28edc5739ab0e4dea0139a41f0a5c7d03e27921ccaa214fd0ac5c72245a094ce60128864 static-inline-in-ftrace.h.patch
7be03a9e78b7ac330a54b1f00509caa0621a95c0c55901878ad757f9dd69cc05ba2c8b5ea987063ae1224f92c4d090d515fa5d369e7755181a4871b0d0f82881 02_gpu-msm-fix-gcc5-compile.patch
1b9064350cd2bc51e87bdf3f3d9e9b0b52b12f483fcec09b492fd2d7e60574525c0c33e90e554ed706599869d0d4b0380171481c759f178e3efedbc0b8c25e8c 0001-gpu-msm-debug-messages.patch
98e4052566dd3063813ebded9e5142f72716fdd97d5fa0fdeef196e116869b08047d1907c95b2295513181450261cf0cdc8b01c3c702a09c85c3e27dbd282d32 0002-msm-fb-rgb-mode.patch
5e81c20b0b30c1ab09bd59f1e1b77fcce945a27de8144c68617ddc5e8f10e1f6fa8b1e4cd5d63e43511d61dace46fb26b14a6227a667b9718d44c8b81dbe6100 linux3.4-vfs-Fix-proc-tid-fdinfo-fd-file-handling.patch"

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1 @@
../../.shared-patches/linux/gcc10-extern_YYLOC_global_declaration.patch

View file

@ -0,0 +1 @@
../../.shared-patches/linux/gcc7-give-up-on-ilog2-const-optimizations.patch

View file

@ -0,0 +1 @@
../../.shared-patches/linux/gcc8-fix-put-user.patch

View file

@ -0,0 +1 @@
../../.shared-patches/linux/linux3.4-vfs-Fix-proc-tid-fdinfo-fd-file-handling.patch

View file

@ -0,0 +1,49 @@
From aeea3592a13bf12861943e44fc48f1f270941f8d Mon Sep 17 00:00:00 2001
From: Behan Webster <behanw@converseincode.com>
Date: Wed, 24 Sep 2014 01:06:46 +0100
Subject: [PATCH] ARM: 8158/1: LLVMLinux: use static inline in ARM ftrace.h
With compilers which follow the C99 standard (like modern versions of gcc and
clang), "extern inline" does the wrong thing (emits code for an externally
linkable version of the inline function). In this case using static inline
and removing the NULL version of return_address in return_address.c does
the right thing.
Signed-off-by: Behan Webster <behanw@converseincode.com>
Reviewed-by: Mark Charlebois <charlebm@gmail.com>
Acked-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
---
arch/arm/include/asm/ftrace.h | 2 +-
arch/arm/kernel/return_address.c | 5 -----
2 files changed, 1 insertion(+), 6 deletions(-)
diff --git a/arch/arm/include/asm/ftrace.h b/arch/arm/include/asm/ftrace.h
index 39eb16b0066f2..bfe2a2f5a644e 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 fafedd86885dd..f6aa84d5b93c9 100644
--- a/arch/arm/kernel/return_address.c
+++ b/arch/arm/kernel/return_address.c
@@ -63,11 +63,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);