xiaomi-olive: new device (MR 4313)
[ci:skip-build]: Already built successfully in CI
This commit is contained in:
parent
9ea3a58735
commit
36bdf43fe6
8 changed files with 5465 additions and 0 deletions
54
device/testing/device-xiaomi-olive/APKBUILD
Normal file
54
device/testing/device-xiaomi-olive/APKBUILD
Normal file
|
@ -0,0 +1,54 @@
|
|||
# Reference: <https://postmarketos.org/devicepkg>
|
||||
pkgname=device-xiaomi-olive
|
||||
pkgdesc="Xiaomi Redmi 8"
|
||||
pkgver=0.1
|
||||
pkgrel=0
|
||||
url="https://postmarketos.org"
|
||||
license="MIT"
|
||||
arch="aarch64"
|
||||
options="!check !archcheck"
|
||||
depends="
|
||||
linux-xiaomi-olive
|
||||
mkbootimg
|
||||
postmarketos-base
|
||||
"
|
||||
makedepends="devicepkg-dev"
|
||||
source="
|
||||
deviceinfo
|
||||
etc-lightdm-lightdm.conf
|
||||
"
|
||||
|
||||
subpackages="
|
||||
$pkgname-nonfree-firmware:nonfree_firmware
|
||||
$pkgname-fix-lightdm:fix_lightdm
|
||||
"
|
||||
|
||||
build() {
|
||||
devicepkg_build $startdir $pkgname
|
||||
}
|
||||
|
||||
package() {
|
||||
devicepkg_package $startdir $pkgname
|
||||
}
|
||||
|
||||
nonfree_firmware() {
|
||||
pkgdesc="Proprietary firmware"
|
||||
depends="firmware-xiaomi-pine"
|
||||
mkdir "$subpkgdir"
|
||||
}
|
||||
|
||||
# copied from device-samsung-goyawifi
|
||||
fix_lightdm() {
|
||||
install_if="$pkgname=$pkgver-r$pkgrel lightdm"
|
||||
pkgdesc="Fix the problem for CanGraphical=no in LightDM according to Display Manager in PMOS Wiki"
|
||||
depends="lightdm"
|
||||
replaces="lightdm"
|
||||
|
||||
# Install lightdm configuration with logind-check-graphical=false
|
||||
install -D -m644 "$srcdir"/etc-lightdm-lightdm.conf \
|
||||
"$subpkgdir"/etc/lightdm/lightdm.conf
|
||||
}
|
||||
sha512sums="
|
||||
9eb972182d4cdc5af52250dc89b96a3a3611c8cf3de5ca9979647ac282f3f55b8663b2270badccb164ed2b941f747b8221730d9882ec2991fb8196bae3e32b61 deviceinfo
|
||||
861270c6bc0b2a3e6cd389c21c8c895e62de8cf8bec6fcf23c178f8cbaae855d62b0ee98692671ab4f518d84cb43dd0b2fe46f5a609f65af6a6c06e0fdbb6d0c etc-lightdm-lightdm.conf
|
||||
"
|
32
device/testing/device-xiaomi-olive/deviceinfo
Normal file
32
device/testing/device-xiaomi-olive/deviceinfo
Normal file
|
@ -0,0 +1,32 @@
|
|||
# Reference: <https://postmarketos.org/deviceinfo>
|
||||
# Please use double quotes only. You can source this file in shell
|
||||
# scripts.
|
||||
|
||||
deviceinfo_format_version="0"
|
||||
deviceinfo_name="Xiaomi Redmi 8"
|
||||
deviceinfo_manufacturer="Xiaomi"
|
||||
deviceinfo_codename="xiaomi-olive"
|
||||
deviceinfo_year="2019"
|
||||
deviceinfo_arch="aarch64"
|
||||
|
||||
# Device related
|
||||
deviceinfo_chassis="handset"
|
||||
deviceinfo_keyboard="false"
|
||||
deviceinfo_external_storage="true"
|
||||
deviceinfo_screen_width="720"
|
||||
deviceinfo_screen_height="1520"
|
||||
|
||||
# Bootloader related
|
||||
deviceinfo_flash_method="fastboot"
|
||||
deviceinfo_kernel_cmdline="androidboot.hardware=qcom msm_rtb.filter=0x237 ehci-hcd.park=3 lpm_levels.sleep_disabled=1 androidboot.bootdevice=7824900.sdhci loop.max_part=7 androidboot.usbconfigfs=true androidboot.init_fatal_reboot_target=recovery printk.devkmsg=on androidboot.android_dt_dir=/non-existent androidboot.boot_devices=soc/7824900.sdhci androidboot.super_partition=system buildvariant=userdebug"
|
||||
deviceinfo_generate_bootimg="true"
|
||||
deviceinfo_bootimg_qcdt="false"
|
||||
deviceinfo_bootimg_mtk_mkimage="false"
|
||||
deviceinfo_bootimg_dtb_second="false"
|
||||
deviceinfo_flash_pagesize="2048"
|
||||
deviceinfo_header_version="1"
|
||||
deviceinfo_flash_offset_base="0x80000000"
|
||||
deviceinfo_flash_offset_kernel="0x00008000"
|
||||
deviceinfo_flash_offset_ramdisk="0x01000000"
|
||||
deviceinfo_flash_offset_second="0x80000000"
|
||||
deviceinfo_flash_offset_tags="0x00000100"
|
164
device/testing/device-xiaomi-olive/etc-lightdm-lightdm.conf
Normal file
164
device/testing/device-xiaomi-olive/etc-lightdm-lightdm.conf
Normal file
|
@ -0,0 +1,164 @@
|
|||
#
|
||||
# General configuration
|
||||
#
|
||||
# start-default-seat = True to always start one seat if none are defined in the configuration
|
||||
# greeter-user = User to run greeter as
|
||||
# minimum-display-number = Minimum display number to use for X servers
|
||||
# minimum-vt = First VT to run displays on
|
||||
# lock-memory = True to prevent memory from being paged to disk
|
||||
# user-authority-in-system-dir = True if session authority should be in the system location
|
||||
# guest-account-script = Script to be run to setup guest account
|
||||
# logind-check-graphical = True to on start seats that are marked as graphical by logind
|
||||
# log-directory = Directory to log information to
|
||||
# run-directory = Directory to put running state in
|
||||
# cache-directory = Directory to cache to
|
||||
# sessions-directory = Directory to find sessions
|
||||
# remote-sessions-directory = Directory to find remote sessions
|
||||
# greeters-directory = Directory to find greeters
|
||||
# backup-logs = True to move add a .old suffix to old log files when opening new ones
|
||||
# dbus-service = True if LightDM provides a D-Bus service to control it
|
||||
#
|
||||
[LightDM]
|
||||
#start-default-seat=true
|
||||
#greeter-user=lightdm
|
||||
#minimum-display-number=0
|
||||
#minimum-vt=7
|
||||
#lock-memory=true
|
||||
#user-authority-in-system-dir=false
|
||||
#guest-account-script=guest-account
|
||||
# Next line: elogind reports that the session CanGraphical=no. Let lightdm ignore that bogus status.
|
||||
logind-check-graphical=false
|
||||
#log-directory=/var/log/lightdm
|
||||
#run-directory=/var/run/lightdm
|
||||
#cache-directory=/var/cache/lightdm
|
||||
#sessions-directory=/usr/share/lightdm/sessions:/usr/share/xsessions:/usr/share/wayland-sessions
|
||||
#remote-sessions-directory=/usr/share/lightdm/remote-sessions
|
||||
#greeters-directory=$XDG_DATA_DIRS/lightdm/greeters:$XDG_DATA_DIRS/xgreeters
|
||||
#backup-logs=true
|
||||
#dbus-service=true
|
||||
|
||||
#
|
||||
# Seat configuration
|
||||
#
|
||||
# Seat configuration is matched against the seat name glob in the section, for example:
|
||||
# [Seat:*] matches all seats and is applied first.
|
||||
# [Seat:seat0] matches the seat named "seat0".
|
||||
# [Seat:seat-thin-client*] matches all seats that have names that start with "seat-thin-client".
|
||||
#
|
||||
# type = Seat type (local, xremote)
|
||||
# pam-service = PAM service to use for login
|
||||
# pam-autologin-service = PAM service to use for autologin
|
||||
# pam-greeter-service = PAM service to use for greeters
|
||||
# xserver-command = X server command to run (can also contain arguments e.g. X -special-option)
|
||||
# xmir-command = Xmir server command to run (can also contain arguments e.g. Xmir -special-option)
|
||||
# xserver-config = Config file to pass to X server
|
||||
# xserver-layout = Layout to pass to X server
|
||||
# xserver-allow-tcp = True if TCP/IP connections are allowed to this X server
|
||||
# xserver-share = True if the X server is shared for both greeter and session
|
||||
# xserver-hostname = Hostname of X server (only for type=xremote)
|
||||
# xserver-display-number = Display number of X server (only for type=xremote)
|
||||
# xdmcp-manager = XDMCP manager to connect to (implies xserver-allow-tcp=true)
|
||||
# xdmcp-port = XDMCP UDP/IP port to communicate on
|
||||
# xdmcp-key = Authentication key to use for XDM-AUTHENTICATION-1 (stored in keys.conf)
|
||||
# greeter-session = Session to load for greeter
|
||||
# greeter-hide-users = True to hide the user list
|
||||
# greeter-allow-guest = True if the greeter should show a guest login option
|
||||
# greeter-show-manual-login = True if the greeter should offer a manual login option
|
||||
# greeter-show-remote-login = True if the greeter should offer a remote login option
|
||||
# user-session = Session to load for users
|
||||
# allow-user-switching = True if allowed to switch users
|
||||
# allow-guest = True if guest login is allowed
|
||||
# guest-session = Session to load for guests (overrides user-session)
|
||||
# session-wrapper = Wrapper script to run session with
|
||||
# greeter-wrapper = Wrapper script to run greeter with
|
||||
# guest-wrapper = Wrapper script to run guest sessions with
|
||||
# display-setup-script = Script to run when starting a greeter session (runs as root)
|
||||
# display-stopped-script = Script to run after stopping the display server (runs as root)
|
||||
# greeter-setup-script = Script to run when starting a greeter (runs as root)
|
||||
# session-setup-script = Script to run when starting a user session (runs as root)
|
||||
# session-cleanup-script = Script to run when quitting a user session (runs as root)
|
||||
# autologin-guest = True to log in as guest by default
|
||||
# autologin-user = User to log in with by default (overrides autologin-guest)
|
||||
# autologin-user-timeout = Number of seconds to wait before loading default user
|
||||
# autologin-session = Session to load for automatic login (overrides user-session)
|
||||
# autologin-in-background = True if autologin session should not be immediately activated
|
||||
# exit-on-failure = True if the daemon should exit if this seat fails
|
||||
#
|
||||
[Seat:*]
|
||||
#type=local
|
||||
#pam-service=lightdm
|
||||
#pam-autologin-service=lightdm-autologin
|
||||
#pam-greeter-service=lightdm-greeter
|
||||
#xserver-command=X
|
||||
#xmir-command=Xmir
|
||||
#xserver-config=
|
||||
#xserver-layout=
|
||||
#xserver-allow-tcp=false
|
||||
#xserver-share=true
|
||||
#xserver-hostname=
|
||||
#xserver-display-number=
|
||||
#xdmcp-manager=
|
||||
#xdmcp-port=177
|
||||
#xdmcp-key=
|
||||
#greeter-session=example-gtk-gnome
|
||||
#greeter-hide-users=false
|
||||
#greeter-allow-guest=true
|
||||
#greeter-show-manual-login=false
|
||||
#greeter-show-remote-login=true
|
||||
#user-session=default
|
||||
#allow-user-switching=true
|
||||
#allow-guest=false
|
||||
#guest-session=
|
||||
#session-wrapper=lightdm-session
|
||||
#greeter-wrapper=
|
||||
#guest-wrapper=
|
||||
#display-setup-script=
|
||||
#display-stopped-script=
|
||||
#greeter-setup-script=
|
||||
#session-setup-script=
|
||||
#session-cleanup-script=
|
||||
#autologin-guest=false
|
||||
#autologin-user=
|
||||
#autologin-user-timeout=0
|
||||
#autologin-in-background=false
|
||||
#autologin-session=
|
||||
#exit-on-failure=false
|
||||
|
||||
#
|
||||
# XDMCP Server configuration
|
||||
#
|
||||
# enabled = True if XDMCP connections should be allowed
|
||||
# port = UDP/IP port to listen for connections on
|
||||
# listen-address = Host/address to listen for XDMCP connections (use all addresses if not present)
|
||||
# key = Authentication key to use for XDM-AUTHENTICATION-1 or blank to not use authentication (stored in keys.conf)
|
||||
# hostname = Hostname to report to XDMCP clients (defaults to system hostname if unset)
|
||||
#
|
||||
# The authentication key is a 56 bit DES key specified in hex as 0xnnnnnnnnnnnnnn. Alternatively
|
||||
# it can be a word and the first 7 characters are used as the key.
|
||||
#
|
||||
[XDMCPServer]
|
||||
#enabled=false
|
||||
#port=177
|
||||
#listen-address=
|
||||
#key=
|
||||
#hostname=
|
||||
|
||||
#
|
||||
# VNC Server configuration
|
||||
#
|
||||
# enabled = True if VNC connections should be allowed
|
||||
# command = Command to run Xvnc server with
|
||||
# port = TCP/IP port to listen for connections on
|
||||
# listen-address = Host/address to listen for VNC connections (use all addresses if not present)
|
||||
# width = Width of display to use
|
||||
# height = Height of display to use
|
||||
# depth = Color depth of display to use
|
||||
#
|
||||
[VNCServer]
|
||||
#enabled=false
|
||||
#command=Xvnc
|
||||
#port=5900
|
||||
#listen-address=
|
||||
#width=1024
|
||||
#height=768
|
||||
#depth=8
|
13
device/testing/linux-xiaomi-olive/00_fix_mdp3_ctrl_off.patch
Normal file
13
device/testing/linux-xiaomi-olive/00_fix_mdp3_ctrl_off.patch
Normal file
|
@ -0,0 +1,13 @@
|
|||
diff --git a/drivers/video/fbdev/msm/mdp3_ctrl.c b/drivers/video/fbdev/msm/mdp3_ctrl.c
|
||||
index 0a2cc489d72e..55da18f8b6b0 100644
|
||||
--- a/drivers/video/fbdev/msm/mdp3_ctrl.c
|
||||
+++ b/drivers/video/fbdev/msm/mdp3_ctrl.c
|
||||
@@ -3088,7 +3088,7 @@ int mdp3_ctrl_init(struct msm_fb_data_type *mfd)
|
||||
frame_rate = mdss_panel_get_framerate(mfd->panel_info,
|
||||
FPS_RESOLUTION_HZ);
|
||||
mdp3_interface->on_fnc = mdp3_ctrl_on;
|
||||
+ mdp3_interface->off_fnc = NULL;
|
||||
- mdp3_interface->off_fnc = mdp3_ctrl_off;
|
||||
mdp3_interface->do_histogram = NULL;
|
||||
mdp3_interface->cursor_update = NULL;
|
||||
mdp3_interface->dma_fnc = mdp3_ctrl_pan_display;
|
29
device/testing/linux-xiaomi-olive/01_fix_fbioput.patch
Normal file
29
device/testing/linux-xiaomi-olive/01_fix_fbioput.patch
Normal file
|
@ -0,0 +1,29 @@
|
|||
diff --git a/drivers/video/fbdev/msm/mdss_fb.c b/drivers/video/fbdev/msm/mdss_fb.c
|
||||
index 67f600aa77fa..c1e3c316e3ad 100644
|
||||
--- a/drivers/video/fbdev/msm/mdss_fb.c
|
||||
+++ b/drivers/video/fbdev/msm/mdss_fb.c
|
||||
@@ -4232,13 +4232,13 @@ static int mdss_fb_check_var(struct fb_var_screeninfo *var,
|
||||
if (var->yoffset > (var->yres_virtual - var->yres))
|
||||
return -EINVAL;
|
||||
|
||||
- if (info->mode) {
|
||||
+ /*if (info->mode) {
|
||||
const struct fb_videomode *mode;
|
||||
|
||||
mode = fb_match_mode(var, &info->modelist);
|
||||
if (mode == NULL)
|
||||
return -EINVAL;
|
||||
- } else if (mfd->panel_info && !(var->activate & FB_ACTIVATE_TEST)) {
|
||||
+ } else */ if (mfd->panel_info && !(var->activate & FB_ACTIVATE_TEST)) {
|
||||
struct mdss_panel_info *panel_info;
|
||||
int rc;
|
||||
|
||||
@@ -4386,7 +4386,7 @@ static int mdss_fb_set_par(struct fb_info *info)
|
||||
|
||||
mode = fb_match_mode(var, &info->modelist);
|
||||
if (!mode)
|
||||
- return -EINVAL;
|
||||
+ mode = info->mode;
|
||||
|
||||
pr_debug("found mode: %s\n", mode->name);
|
||||
|
|
@ -0,0 +1,97 @@
|
|||
diff --git a/drivers/video/fbdev/msm/mdss_fb.c b/drivers/video/fbdev/msm/mdss_fb.c
|
||||
index c1e3c316e..1e3aa5bcc 100644
|
||||
--- a/drivers/video/fbdev/msm/mdss_fb.c
|
||||
+++ b/drivers/video/fbdev/msm/mdss_fb.c
|
||||
@@ -2128,7 +2129,7 @@ static void mdss_panel_validate_debugfs_info(struct msm_fb_data_type *mfd)
|
||||
if (is_panel_split(mfd) && pdata->next)
|
||||
mdss_fb_validate_split(pdata->panel_info.xres,
|
||||
pdata->next->panel_info.xres, mfd);
|
||||
- mdss_panelinfo_to_fb_var(panel_info, var);
|
||||
+ mdss_panelinfo_to_fb_var(mfd);
|
||||
if (mdss_fb_send_panel_event(mfd, MDSS_EVENT_CHECK_PARAMS,
|
||||
panel_info))
|
||||
pr_err("Failed to send panel event CHECK_PARAMS\n");
|
||||
@@ -2264,7 +2265,7 @@ static int mdss_fb_blank_unblank(struct msm_fb_data_type *mfd)
|
||||
* programmed in the controller.
|
||||
* Update this info in the upstream structs.
|
||||
*/
|
||||
- mdss_panelinfo_to_fb_var(panel_info, var);
|
||||
+ mdss_panelinfo_to_fb_var(mfd);
|
||||
|
||||
/* Start the work thread to signal idle time */
|
||||
if (mfd->idle_time)
|
||||
@@ -3019,7 +3020,7 @@ static int mdss_fb_register(struct msm_fb_data_type *mfd)
|
||||
return ret;
|
||||
}
|
||||
|
||||
- mdss_panelinfo_to_fb_var(panel_info, var);
|
||||
+ mdss_panelinfo_to_fb_var(mfd);
|
||||
|
||||
fix->type = panel_info->is_3d_panel;
|
||||
if (mfd->mdp.fb_stride)
|
||||
@@ -3723,7 +3724,7 @@ static void mdss_fb_update_resolution(struct msm_fb_data_type *mfd,
|
||||
}
|
||||
var->xres_virtual = var->xres;
|
||||
var->yres_virtual = pinfo->yres * mfd->fb_page;
|
||||
- mdss_panelinfo_to_fb_var(pinfo, var);
|
||||
+ mdss_panelinfo_to_fb_var(mfd);
|
||||
}
|
||||
|
||||
int mdss_fb_atomic_commit(struct fb_info *info,
|
||||
@@ -3957,9 +3958,14 @@ static void mdss_fb_var_to_panelinfo(struct fb_var_screeninfo *var,
|
||||
pinfo->mipi.dsi_pclk_rate = pinfo->clk_rate;
|
||||
}
|
||||
|
||||
-void mdss_panelinfo_to_fb_var(struct mdss_panel_info *pinfo,
|
||||
- struct fb_var_screeninfo *var)
|
||||
+void mdss_panelinfo_to_fb_var(struct msm_fb_data_type *mfd)
|
||||
{
|
||||
+ if(!mfd)
|
||||
+ return -EINVAL;
|
||||
+
|
||||
+ struct mdss_panel_info *pinfo = mfd->panel_info;
|
||||
+ struct fb_info *fbi = mfd->fbi;
|
||||
+ struct fb_var_screeninfo *var = &fbi->var;
|
||||
u32 frame_rate;
|
||||
|
||||
var->xres = mdss_fb_get_panel_xres(pinfo);
|
||||
@@ -3994,6 +4000,12 @@ void mdss_panelinfo_to_fb_var(struct mdss_panel_info *pinfo,
|
||||
if (pinfo->physical_height)
|
||||
var->height = pinfo->physical_height;
|
||||
|
||||
+ //Hack to update current fbi->mode according to fbi->var when var is updated from panel info
|
||||
+ if (fbi->mode) {
|
||||
+ printk("updating mdss fb mode from fb var\n");
|
||||
+ fb_var_to_videomode(fbi->mode, var);
|
||||
+ }
|
||||
+
|
||||
pr_debug("ScreenInfo: res=%dx%d [%d, %d] [%d, %d]\n",
|
||||
var->xres, var->yres, var->left_margin,
|
||||
var->right_margin, var->upper_margin,
|
||||
diff --git a/drivers/video/fbdev/msm/mdss_fb.h b/drivers/video/fbdev/msm/mdss_fb.h
|
||||
index 748134f5d..01393df70 100644
|
||||
--- a/drivers/video/fbdev/msm/mdss_fb.h
|
||||
+++ b/drivers/video/fbdev/msm/mdss_fb.h
|
||||
@@ -481,8 +481,7 @@ int mdss_fb_async_position_update(struct fb_info *info,
|
||||
|
||||
u32 mdss_fb_get_mode_switch(struct msm_fb_data_type *mfd);
|
||||
void mdss_fb_report_panel_dead(struct msm_fb_data_type *mfd);
|
||||
-void mdss_panelinfo_to_fb_var(struct mdss_panel_info *pinfo,
|
||||
- struct fb_var_screeninfo *var);
|
||||
+void mdss_panelinfo_to_fb_var(struct msm_fb_data_type *mfd);
|
||||
void mdss_fb_calc_fps(struct msm_fb_data_type *mfd);
|
||||
void mdss_fb_idle_pc(struct msm_fb_data_type *mfd);
|
||||
#endif /* MDSS_FB_H */
|
||||
diff --git a/drivers/video/fbdev/msm/mdss_mdp_overlay.c b/drivers/video/fbdev/msm/mdss_mdp_overlay.c
|
||||
index b70db4faa..951c7c749 100644
|
||||
--- a/drivers/video/fbdev/msm/mdss_mdp_overlay.c
|
||||
+++ b/drivers/video/fbdev/msm/mdss_mdp_overlay.c
|
||||
@@ -3846,7 +3846,7 @@ int mdss_mdp_dfps_update_params(struct msm_fb_data_type *mfd,
|
||||
* data, so any further call to get the screen
|
||||
* info has the updated timings.
|
||||
*/
|
||||
- mdss_panelinfo_to_fb_var(&pdata->panel_info, var);
|
||||
+ mdss_panelinfo_to_fb_var(mfd);
|
||||
|
||||
MDSS_XLOG(dfps);
|
||||
mutex_unlock(&mdp5_data->dfps_lock);
|
65
device/testing/linux-xiaomi-olive/APKBUILD
Normal file
65
device/testing/linux-xiaomi-olive/APKBUILD
Normal file
|
@ -0,0 +1,65 @@
|
|||
# Reference: https://github.com/LineageOS/android_kernel_xiaomi_sdm439/tree/lineage-20
|
||||
# Kernel config based on: arch/arm64/configs/lineageos_mi439_defconfig
|
||||
|
||||
pkgname=linux-xiaomi-olive
|
||||
pkgver=4.9.337
|
||||
pkgrel=0
|
||||
pkgdesc="Xiaomi Redmi 8 kernel"
|
||||
arch="aarch64"
|
||||
_carch="arm64"
|
||||
_flavor="xiaomi-olive"
|
||||
url="https://kernel.org"
|
||||
license="GPL-2.0-only"
|
||||
options="!strip !check !tracedeps pmb:cross-native"
|
||||
makedepends="
|
||||
bash
|
||||
bc
|
||||
bison
|
||||
devicepkg-dev
|
||||
findutils
|
||||
flex
|
||||
openssl-dev
|
||||
perl
|
||||
"
|
||||
|
||||
# Source
|
||||
_repository="android_kernel_xiaomi_sdm439"
|
||||
_commit="2bcfae17be1b3e70d41ee89f6fed7825627d952b"
|
||||
_config="config-$_flavor.$arch"
|
||||
source="
|
||||
$pkgname-$_commit.tar.gz::https://github.com/LineageOS/$_repository/archive/$_commit.tar.gz
|
||||
$_config
|
||||
00_fix_mdp3_ctrl_off.patch
|
||||
01_fix_fbioput.patch
|
||||
02-fix-xorg-mdss-update-fb-info.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"
|
||||
unset LDFLAGS
|
||||
make O="$_outdir" ARCH="$_carch" CC="${CC:-gcc}" \
|
||||
KBUILD_BUILD_VERSION="$((pkgrel + 1 ))-postmarketOS" \
|
||||
INSTALL_MOD_PATH="$pkgdir" modules_install
|
||||
}
|
||||
|
||||
sha512sums="
|
||||
491349581f0e0ffcbf59c20367f6d2e1a4f82d909b17398bc80db2711f543f845ddad4b8f0d0ae31f5a876e2ce1873315935700c1a42cd1f9abff1aa0d4253ae linux-xiaomi-olive-2bcfae17be1b3e70d41ee89f6fed7825627d952b.tar.gz
|
||||
fb1c6eea21b075eaa20b95c63b18988315686b42e455c396c16ab782f6fc4edf80def5256a087b753d1f28af3e583e8ee5817acb32f4108e202dca425494998a config-xiaomi-olive.aarch64
|
||||
e0eb25aec61dd342c0ccdc0d5afc3626416089ffbe797b57d134dd62036cc6285dda24e16e6b82f1c8dedce8bd5fd034e38f67b811362c67f13290114f58de18 00_fix_mdp3_ctrl_off.patch
|
||||
62c49b71f7570e23ac7cbf9be25dcddeb7957484b342e9010b8e7a0ae1a785c7db1803ca87970f7fcdd62c6eb3a0117a7ebc6bb773a793973a9218dcc389cd8b 01_fix_fbioput.patch
|
||||
be8852fe5ae159ed6e22845d3c4d7b9b4fb2a27dd0a60cecf9daa615ac461af8975186f4445842a3cff888011d91d8b913b3c8f922e36fbec50ec3dfeb95eda7 02-fix-xorg-mdss-update-fb-info.patch
|
||||
"
|
5011
device/testing/linux-xiaomi-olive/config-xiaomi-olive.aarch64
Normal file
5011
device/testing/linux-xiaomi-olive/config-xiaomi-olive.aarch64
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue