samsung-chagallwifi: enable FIMC IS with downstream kernel (MR 4721)

As for several other exynos devices we need to disable the
video4linux's udev rule OR disable FIMC IS and patch kernel to fix
build error without FIMC IS.

Add dependency on postmarketos-base-downstream-disable-udev-v4l to
override the v4l rule with symlink to /dev/null.  We can then drop
FIMC IS patch and keep kernel config more similar to original one.
This commit is contained in:
Henrik Grimler 2023-11-08 21:43:39 +01:00 committed by Clayton Craft
parent 6b48aee5cd
commit 7d3a0bb977
No known key found for this signature in database
GPG key ID: 4A4CED6D7EDF950A
6 changed files with 27 additions and 75 deletions

View file

@ -3,14 +3,15 @@
# Reference: <https://postmarketos.org/devicepkg> # Reference: <https://postmarketos.org/devicepkg>
pkgname=device-samsung-chagallwifi pkgname=device-samsung-chagallwifi
pkgdesc="Samsung Galaxy Tab S 10.5" pkgdesc="Samsung Galaxy Tab S 10.5"
pkgver=1.3 pkgver=1.4
pkgrel=2 pkgrel=0
url="https://postmarketos.org" url="https://postmarketos.org"
license="MIT" license="MIT"
arch="armv7" arch="armv7"
options="!check !archcheck" options="!check !archcheck"
depends=" depends="
postmarketos-base postmarketos-base
postmarketos-base-downstream-disable-udev-v4l
postmarketos-update-kernel postmarketos-update-kernel
mkbootimg mkbootimg
" "

View file

@ -1,59 +0,0 @@
commit 611c7138d2812827c3a62940576bf62c61cd8515
Author: Henrik Grimler <henrik@grimler.se>
Date: Fri Nov 27 18:01:34 2020 +0100
Fix so that FIMC IS can be disabled
* mach-exynos: don't set EXYNOS5_{DEV,SETUP}_FIMC_IS for universal5420
* board-universal5420-media: add ifdef guard to fix compilation error
* pm_domains: always init exynos54xx_pd_isp to prevent null pointer dereference
diff --git a/arch/arm/mach-exynos/Kconfig b/arch/arm/mach-exynos/Kconfig
index 2aed1a4dfbac..9667d665363d 100644
--- a/arch/arm/mach-exynos/Kconfig
+++ b/arch/arm/mach-exynos/Kconfig
@@ -883,8 +883,6 @@ config MACH_UNIVERSAL5420
select EXYNOS5_SETUP_HSI2C4
select EXYNOS5_SETUP_HSI2C5
select EXYNOS5_SETUP_HSI2C6
- select EXYNOS5_DEV_FIMC_IS
- select EXYNOS5_SETUP_FIMC_IS
help
Machine support for Universal board based on EXYNOS5420
endif
diff --git a/arch/arm/mach-exynos/board-universal5420-media.c b/arch/arm/mach-exynos/board-universal5420-media.c
index 91677b04f9e8..4e461819fa68 100644
--- a/arch/arm/mach-exynos/board-universal5420-media.c
+++ b/arch/arm/mach-exynos/board-universal5420-media.c
@@ -1166,6 +1166,7 @@ void __init exynos5_universal5420_media_init(void)
sizeof(s5p_mipi_csis1_default_data), &s5p_device_mipi_csis1);
#endif
+#ifdef CONFIG_VISION_MODE
#ifdef CONFIG_VIDEO_EXYNOS_FIMC_LITE
#if !defined(CONFIG_V1A) && !defined(CONFIG_V2A)
s3c_i2c1_set_platdata(NULL);
@@ -1178,6 +1179,7 @@ void __init exynos5_universal5420_media_init(void)
s3c_set_platdata(&exynos_flite2_default_data,
sizeof(exynos_flite2_default_data), &exynos_device_flite2);
#endif
+#endif /* CONFIG_VISION_MODE */
/* camera */
#ifdef CONFIG_VIDEO_EXYNOS5_FIMC_IS
diff --git a/arch/arm/mach-exynos/pm_domains5.c b/arch/arm/mach-exynos/pm_domains5.c
index 3220333bed94..2599bb756958 100644
--- a/arch/arm/mach-exynos/pm_domains5.c
+++ b/arch/arm/mach-exynos/pm_domains5.c
@@ -1224,8 +1224,8 @@ static int exynos5420_pm_domain_init(void)
exynos_pm_add_clk(&exynos5420_spd_mscl1, NULL, "mscl");
exynos_pm_add_clk(&exynos5420_spd_mscl2, NULL, "mscl");
#endif
-#ifdef CONFIG_EXYNOS5_DEV_FIMC_IS
exynos_pm_powerdomain_init(&exynos54xx_pd_isp);
+#ifdef CONFIG_EXYNOS5_DEV_FIMC_IS
exynos_pm_add_platdev(&exynos54xx_pd_isp, &exynos5_device_fimc_is);
exynos_pm_add_platdev(&exynos54xx_pd_isp, &s3c64xx_device_spi3);
exynos_pm_add_clk(&exynos54xx_pd_isp, &exynos5_device_fimc_is.dev, "gscl_wrap0");

View file

@ -5,7 +5,7 @@
pkgname=linux-samsung-chagallwifi pkgname=linux-samsung-chagallwifi
pkgver=3.4.113 pkgver=3.4.113
pkgrel=4 pkgrel=5
pkgdesc="Samsung Galaxy Tab S 10.5 kernel fork" pkgdesc="Samsung Galaxy Tab S 10.5 kernel fork"
arch="armv7" arch="armv7"
_carch="arm" _carch="arm"
@ -22,9 +22,8 @@ _config="config-$_flavor.$arch"
source=" source="
$pkgname-$_commit.tar.gz::https://github.com/exynos5420/$_repository/archive/$_commit.tar.gz $pkgname-$_commit.tar.gz::https://github.com/exynos5420/$_repository/archive/$_commit.tar.gz
$_config $_config
01-fix-FIMC-IS-disabling.patch 01-netfilter-symbols.patch
02-netfilter-symbols.patch 02-usb_gadget-set-random-rndis-host-MAC-address-to-prev.patch
03-usb_gadget-set-random-rndis-host-MAC-address-to-prev.patch
gcc7-give-up-on-ilog2-const-optimizations.patch gcc7-give-up-on-ilog2-const-optimizations.patch
gcc8-fix-put-user.patch gcc8-fix-put-user.patch
" "
@ -46,10 +45,11 @@ package() {
downstreamkernel_package "$builddir" "$pkgdir" "$_carch" "$_flavor" "$_outdir" downstreamkernel_package "$builddir" "$pkgdir" "$_carch" "$_flavor" "$_outdir"
} }
sha512sums="c10c0b457a37ca89172203d83b0c5efd3b4fd4a9e4ff5b64328737275cfc4b19d4a316eab61aa5561943f29f70bb2bebac0efba54854e01553b90b8dd639d4bd linux-samsung-chagallwifi-fed1690ca92e33cc6a5febe2e45dd909b9090d37.tar.gz sha512sums="
ab5a6ff22793a548d7fe9da163c764cf7898c2a1ee6825cd436eca4f1916dd37b8029a08b3e579dfe83fc691c16d765f605ba26e5cc434c18f57d368f718efa4 config-samsung-chagallwifi.armv7 c10c0b457a37ca89172203d83b0c5efd3b4fd4a9e4ff5b64328737275cfc4b19d4a316eab61aa5561943f29f70bb2bebac0efba54854e01553b90b8dd639d4bd linux-samsung-chagallwifi-fed1690ca92e33cc6a5febe2e45dd909b9090d37.tar.gz
00c86b897193340ce4e8184e622d830d16efe9a5c10c12357e5f6ab98193a28f69c0006bdfe0d3429f1136a9820b8f8ff262d07b0314e40f4c7b664013e0b8a6 01-fix-FIMC-IS-disabling.patch 9f5a290e6675208ef616e2f0aea721dc14708e35fb12da1cb0e19dc21ccc05c53ba4698f916f8aad685931f629c2db2aae80cb31f38225984e863c26f49116dd config-samsung-chagallwifi.armv7
5214a850d496bed9e17575bd0b52e9e4415bcbd5a89863f924c5bfed848f684c0a95e8d10c9ef93c0e00149f034cf5e897d1b268be35676a600b3ee6e1917501 02-netfilter-symbols.patch 5214a850d496bed9e17575bd0b52e9e4415bcbd5a89863f924c5bfed848f684c0a95e8d10c9ef93c0e00149f034cf5e897d1b268be35676a600b3ee6e1917501 01-netfilter-symbols.patch
5fad0940e90da71277b70b6e72fbb75fcc5e12625e65f827ae896d448628b252b3312539f9c184b26ffe5ca3b343a56b388ea6addb7fe446c7d1ae2aefb4b51e 03-usb_gadget-set-random-rndis-host-MAC-address-to-prev.patch 5fad0940e90da71277b70b6e72fbb75fcc5e12625e65f827ae896d448628b252b3312539f9c184b26ffe5ca3b343a56b388ea6addb7fe446c7d1ae2aefb4b51e 02-usb_gadget-set-random-rndis-host-MAC-address-to-prev.patch
77eba606a71eafb36c32e9c5fe5e77f5e4746caac292440d9fb720763d766074a964db1c12bc76fe583c5d1a5c864219c59941f5e53adad182dbc70bf2bc14a7 gcc7-give-up-on-ilog2-const-optimizations.patch 77eba606a71eafb36c32e9c5fe5e77f5e4746caac292440d9fb720763d766074a964db1c12bc76fe583c5d1a5c864219c59941f5e53adad182dbc70bf2bc14a7 gcc7-give-up-on-ilog2-const-optimizations.patch
197d40a214ada87fcb2dfc0ae4911704b9a93354b75179cd6b4aadbb627a37ec262cf516921c84a8b1806809b70a7b440cdc8310a4a55fca5d2c0baa988e3967 gcc8-fix-put-user.patch" 197d40a214ada87fcb2dfc0ae4911704b9a93354b75179cd6b4aadbb627a37ec262cf516921c84a8b1806809b70a7b440cdc8310a4a55fca5d2c0baa988e3967 gcc8-fix-put-user.patch
"

View file

@ -361,6 +361,7 @@ CONFIG_S5P_DEV_FIMD1=y
CONFIG_S5P_DEV_MFC=y CONFIG_S5P_DEV_MFC=y
CONFIG_S5P_DEV_TV=y CONFIG_S5P_DEV_TV=y
CONFIG_S5P_DEV_USB_EHCI=y CONFIG_S5P_DEV_USB_EHCI=y
CONFIG_S5P_SETUP_MIPIPHY=y
# #
# SAMSUNG EXYNOS SoCs Support # SAMSUNG EXYNOS SoCs Support
@ -383,7 +384,8 @@ CONFIG_EXYNOS_SETUP_DP=y
CONFIG_EXYNOS_DEV_SYSMMU=y CONFIG_EXYNOS_DEV_SYSMMU=y
CONFIG_EXYNOS_DEV_DWMCI=y CONFIG_EXYNOS_DEV_DWMCI=y
CONFIG_EXYNOS4_DEV_FIMC_LITE=y CONFIG_EXYNOS4_DEV_FIMC_LITE=y
# CONFIG_CAMERA_EEPROM is not set CONFIG_CAMERA_EEPROM=y
CONFIG_EXYNOS5_DEV_FIMC_IS=y
CONFIG_EXYNOS4_DEV_USB_OHCI=y CONFIG_EXYNOS4_DEV_USB_OHCI=y
CONFIG_EXYNOS5_DEV_USB3_DRD=y CONFIG_EXYNOS5_DEV_USB3_DRD=y
CONFIG_EXYNOS_DEV_USB_SWITCH=y CONFIG_EXYNOS_DEV_USB_SWITCH=y
@ -406,6 +408,7 @@ CONFIG_EXYNOS5_SETUP_HSI2C5=y
CONFIG_EXYNOS5_SETUP_HSI2C6=y CONFIG_EXYNOS5_SETUP_HSI2C6=y
CONFIG_EXYNOS4_SETUP_MFC=y CONFIG_EXYNOS4_SETUP_MFC=y
CONFIG_EXYNOS4_SETUP_USB_PHY=y CONFIG_EXYNOS4_SETUP_USB_PHY=y
CONFIG_EXYNOS5_SETUP_FIMC_IS=y
CONFIG_EXYNOS_SETUP_SPI=y CONFIG_EXYNOS_SETUP_SPI=y
# CONFIG_EXYNOS5_CORESIGHT is not set # CONFIG_EXYNOS5_CORESIGHT is not set
CONFIG_SAMSUNG_PRODUCT_SHIP=y CONFIG_SAMSUNG_PRODUCT_SHIP=y
@ -2248,6 +2251,13 @@ CONFIG_VIDEO_IR_I2C=y
# CONFIG_VIDEO_TCM825X is not set # CONFIG_VIDEO_TCM825X is not set
# CONFIG_VIDEO_SR030PC30 is not set # CONFIG_VIDEO_SR030PC30 is not set
# CONFIG_VIDEO_NOON010PC30 is not set # CONFIG_VIDEO_NOON010PC30 is not set
CONFIG_VIDEO_S5K6B2=y
# CONFIG_S5K6B2_CSI_C is not set
CONFIG_S5K6B2_CSI_D=y
CONFIG_S5K6B2_POSITION_FRONT=y
# CONFIG_S5K6B2_POSITION_REAR is not set
CONFIG_VISION_MODE=y
# CONFIG_VIDEO_M5MOLS is not set
# CONFIG_VIDEO_S5K6AA is not set # CONFIG_VIDEO_S5K6AA is not set
# #
@ -2334,7 +2344,7 @@ CONFIG_USB_GSPCA=y
CONFIG_VIDEO_EXYNOS=y CONFIG_VIDEO_EXYNOS=y
CONFIG_EXYNOS_MEDIA_DEVICE=y CONFIG_EXYNOS_MEDIA_DEVICE=y
CONFIG_VIDEO_EXYNOS_FIMC_LITE=y CONFIG_VIDEO_EXYNOS_FIMC_LITE=y
# CONFIG_VIDEO_EXYNOS_MIPI_CSIS is not set CONFIG_VIDEO_EXYNOS_MIPI_CSIS=y
CONFIG_VIDEO_EXYNOS_GSCALER=y CONFIG_VIDEO_EXYNOS_GSCALER=y
CONFIG_VIDEO_EXYNOS_SCALER=y CONFIG_VIDEO_EXYNOS_SCALER=y
# CONFIG_SCALER_NO_SOFTRST is not set # CONFIG_SCALER_NO_SOFTRST is not set
@ -2356,8 +2366,8 @@ CONFIG_VIDEO_EXYNOS_MIXER=y
# CONFIG_VIDEO_EXYNOS_HDMI_CEC is not set # CONFIG_VIDEO_EXYNOS_HDMI_CEC is not set
# CONFIG_VIDEO_EXYNOS_MIXER_DEBUG is not set # CONFIG_VIDEO_EXYNOS_MIXER_DEBUG is not set
# CONFIG_VIDEO_EXYNOS_ROTATOR is not set # CONFIG_VIDEO_EXYNOS_ROTATOR is not set
# CONFIG_VIDEO_EXYNOS5_FIMC_IS is not set CONFIG_VIDEO_EXYNOS5_FIMC_IS=y
# CONFIG_VIDEO_EXYNOS5_FIMC_IS_SENSOR is not set CONFIG_VIDEO_EXYNOS5_FIMC_IS_SENSOR=y
CONFIG_MEDIA_EXYNOS=y CONFIG_MEDIA_EXYNOS=y
# #