main/linux-postmarketos-stericsson: upgrade to 5.14-rc1 (MR 2340)
And also add a patch to fix firmware loading.
This commit is contained in:
parent
4f16edac7a
commit
1211c627df
3 changed files with 172 additions and 13 deletions
|
@ -4,9 +4,9 @@
|
|||
_flavor="postmarketos-stericsson"
|
||||
_config="config-$_flavor.armv7"
|
||||
pkgname=linux-$_flavor
|
||||
pkgver=5.13
|
||||
pkgver=5.14_rc1
|
||||
pkgrel=0
|
||||
_tag="5.13"
|
||||
_tag="5.14-rc1"
|
||||
pkgdesc="Mainline kernel fork for ST-Ericsson NovaThor devices"
|
||||
arch="armv7"
|
||||
_carch="arm"
|
||||
|
@ -20,6 +20,7 @@ source="
|
|||
config-$_flavor.armv7
|
||||
bl.patch
|
||||
emmc.patch
|
||||
firmware.patch
|
||||
panel.patch
|
||||
regulators.patch
|
||||
"
|
||||
|
@ -50,10 +51,11 @@ package() {
|
|||
}
|
||||
|
||||
sha512sums="
|
||||
6d70f9e4599abde63a5052541e2bd1c483e41be6504f859c26ad398501d82f036191954c1eb06b43b80d3409aeb1bba172d6728901bc72413fe75ea971a541d1 linux-postmarketos-stericsson-5.13.tar.gz
|
||||
00c384b6c4cc2f7dd586b2c9463e898bf0634510fcc025a7efa3dfd189f75af92b690b022fced5ac40d1dc0e6f083fe037caa5dc5e82476d4e7db9b574818450 config-postmarketos-stericsson.armv7
|
||||
5effe0dfa535cd19e5e2519f192801ecc8523c828d8d10035880fd01129fb8dd6354b4a5c4a59aa1cec3333c3717d7492d3b7881c55c8bb6e1f51e9f313c7e58 linux-postmarketos-stericsson-5.14-rc1.tar.gz
|
||||
8642ccb45d3a76e85873440db3938040ad387dec2ab9e72a28989f4955a2795e5ff42564ffe774fba3a292301f75a0a63cc766ee86ef0f53c4db2850de84d3f3 config-postmarketos-stericsson.armv7
|
||||
66ec2d3105540e991bccc8cfb0e4212cb40a31a5a35e8cdc084b8bd7ffa016a86b3b340fd57b077b3c95b5bcb1e80cadaa11e71cd1a54a3e0e595024f3f27346 bl.patch
|
||||
760afb46cf56a97b9a9a61fabd5c686c7b98bd64864774516099ad57a7c34d146a16d7ce4687b6071c3fd2df307e7f184428924569e0e767f3c80b780720d85b emmc.patch
|
||||
8c12e75094fde3fe50318cc478afdb2ed304ad682172e30b64ac27d536d8ccba2b6a364e62b4028e9c9ea7863e43f36dc6e3d466b29199d260d86a5995d224a1 firmware.patch
|
||||
1d4d549c5a8c8bda8eec814cd8632626f16d273d775f082028d15db7a330e0c01b2999668b0963eaeb06410de0c14d1d4c3344ac92a228da9392dba33562dcac panel.patch
|
||||
8206d74c52328827502a32644f70fd149a72a78aaf936cd44f474b9153e8caccf73206df76e24004329edebab90e1a4a0e965630f4817aa5dd642d9ee2729295 regulators.patch
|
||||
"
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# Linux/arm 5.13.0 Kernel Configuration
|
||||
# Linux/arm 5.14.0-rc1 Kernel Configuration
|
||||
#
|
||||
CONFIG_CC_VERSION_TEXT="armv7-alpine-linux-musleabihf-gcc (Alpine 10.3.1_git20210625) 10.3.1 20210625"
|
||||
CONFIG_CC_IS_GCC=y
|
||||
|
@ -13,6 +13,7 @@ CONFIG_LD_VERSION=23502
|
|||
CONFIG_LLD_VERSION=0
|
||||
CONFIG_CC_HAS_ASM_GOTO=y
|
||||
CONFIG_CC_HAS_ASM_INLINE=y
|
||||
CONFIG_CC_HAS_NO_PROFILE_FN_ATTR=y
|
||||
CONFIG_IRQ_WORK=y
|
||||
CONFIG_BUILDTIME_TABLE_SORT=y
|
||||
|
||||
|
@ -722,7 +723,6 @@ CONFIG_SELECT_MEMORY_MODEL=y
|
|||
CONFIG_FLATMEM_MANUAL=y
|
||||
# CONFIG_SPARSEMEM_MANUAL is not set
|
||||
CONFIG_FLATMEM=y
|
||||
CONFIG_FLAT_NODE_MEM_MAP=y
|
||||
CONFIG_ARCH_KEEP_MEMBLOCK=y
|
||||
CONFIG_MEMORY_ISOLATION=y
|
||||
CONFIG_SPLIT_PTLOCK_CPUS=4
|
||||
|
@ -740,7 +740,6 @@ CONFIG_CMA=y
|
|||
# CONFIG_CMA_SYSFS is not set
|
||||
CONFIG_CMA_AREAS=7
|
||||
# CONFIG_ZPOOL is not set
|
||||
# CONFIG_ZBUD is not set
|
||||
# CONFIG_ZSMALLOC is not set
|
||||
CONFIG_GENERIC_EARLY_IOREMAP=y
|
||||
# CONFIG_IDLE_PAGE_TRACKING is not set
|
||||
|
@ -1295,10 +1294,12 @@ CONFIG_FIXED_PHY=y
|
|||
# CONFIG_MARVELL_PHY is not set
|
||||
# CONFIG_MARVELL_10G_PHY is not set
|
||||
# CONFIG_MARVELL_88X2222_PHY is not set
|
||||
# CONFIG_MEDIATEK_GE_PHY is not set
|
||||
# CONFIG_MICREL_PHY is not set
|
||||
# CONFIG_MICROCHIP_PHY is not set
|
||||
# CONFIG_MICROCHIP_T1_PHY is not set
|
||||
# CONFIG_MICROSEMI_PHY is not set
|
||||
# CONFIG_MOTORCOMM_PHY is not set
|
||||
# CONFIG_NATIONAL_PHY is not set
|
||||
# CONFIG_NXP_C45_TJA11XX_PHY is not set
|
||||
# CONFIG_NXP_TJA11XX_PHY is not set
|
||||
|
@ -1320,6 +1321,7 @@ CONFIG_SMSC_PHY=y
|
|||
# CONFIG_MICREL_KS8995MA is not set
|
||||
CONFIG_MDIO_DEVICE=y
|
||||
CONFIG_MDIO_BUS=y
|
||||
CONFIG_FWNODE_MDIO=y
|
||||
CONFIG_OF_MDIO=y
|
||||
CONFIG_MDIO_DEVRES=y
|
||||
# CONFIG_MDIO_BITBANG is not set
|
||||
|
@ -1401,7 +1403,13 @@ CONFIG_WLAN_VENDOR_QUANTENNA=y
|
|||
# CONFIG_MAC80211_HWSIM is not set
|
||||
# CONFIG_VIRT_WIFI is not set
|
||||
# CONFIG_WAN is not set
|
||||
|
||||
#
|
||||
# Wireless WAN
|
||||
#
|
||||
# CONFIG_WWAN is not set
|
||||
# end of Wireless WAN
|
||||
|
||||
# CONFIG_NETDEVSIM is not set
|
||||
# CONFIG_NET_FAILOVER is not set
|
||||
# CONFIG_ISDN is not set
|
||||
|
@ -1644,7 +1652,6 @@ CONFIG_HW_RANDOM=y
|
|||
# CONFIG_HW_RANDOM_CCTRNG is not set
|
||||
# CONFIG_HW_RANDOM_XIPHERA is not set
|
||||
CONFIG_DEVMEM=y
|
||||
# CONFIG_RAW_DRIVER is not set
|
||||
# CONFIG_TCG_TPM is not set
|
||||
# CONFIG_XILLYBUS is not set
|
||||
# end of Character devices
|
||||
|
@ -1902,6 +1909,7 @@ CONFIG_POWER_SUPPLY_HWMON=y
|
|||
# CONFIG_BATTERY_GAUGE_LTC2941 is not set
|
||||
# CONFIG_AB8500_BM is not set
|
||||
# CONFIG_BATTERY_GOLDFISH is not set
|
||||
# CONFIG_BATTERY_RT5033 is not set
|
||||
# CONFIG_CHARGER_RT9455 is not set
|
||||
# CONFIG_CHARGER_UCS1002 is not set
|
||||
# CONFIG_CHARGER_BD99954 is not set
|
||||
|
@ -2013,6 +2021,7 @@ CONFIG_SENSORS_NTC_THERMISTOR=y
|
|||
# CONFIG_SENSORS_SHT15 is not set
|
||||
# CONFIG_SENSORS_SHT21 is not set
|
||||
# CONFIG_SENSORS_SHT3x is not set
|
||||
# CONFIG_SENSORS_SHT4x is not set
|
||||
# CONFIG_SENSORS_SHTC1 is not set
|
||||
# CONFIG_SENSORS_DME1737 is not set
|
||||
# CONFIG_SENSORS_EMC1403 is not set
|
||||
|
@ -2077,6 +2086,7 @@ CONFIG_WATCHDOG_CORE=y
|
|||
CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED=y
|
||||
CONFIG_WATCHDOG_OPEN_TIMEOUT=0
|
||||
# CONFIG_WATCHDOG_SYSFS is not set
|
||||
# CONFIG_WATCHDOG_HRTIMER_PRETIMEOUT is not set
|
||||
|
||||
#
|
||||
# Watchdog Pretimeout Governors
|
||||
|
@ -2157,6 +2167,7 @@ CONFIG_MFD_CORE=y
|
|||
# CONFIG_MFD_RETU is not set
|
||||
# CONFIG_MFD_PCF50633 is not set
|
||||
# CONFIG_MFD_PM8XXX is not set
|
||||
# CONFIG_MFD_RT4831 is not set
|
||||
# CONFIG_MFD_RT5033 is not set
|
||||
# CONFIG_MFD_RC5T583 is not set
|
||||
# CONFIG_MFD_RK808 is not set
|
||||
|
@ -2222,6 +2233,7 @@ CONFIG_MFD_TC3589X=y
|
|||
# CONFIG_MFD_STPMIC1 is not set
|
||||
# CONFIG_MFD_STMFX is not set
|
||||
# CONFIG_MFD_ATC260X_I2C is not set
|
||||
# CONFIG_MFD_QCOM_PM8008 is not set
|
||||
# CONFIG_RAVE_SP_CORE is not set
|
||||
# CONFIG_MFD_INTEL_M10_BMC is not set
|
||||
# end of Multifunction device drivers
|
||||
|
@ -2254,6 +2266,7 @@ CONFIG_REGULATOR_GPIO=y
|
|||
# CONFIG_REGULATOR_MAX1586 is not set
|
||||
# CONFIG_REGULATOR_MAX8649 is not set
|
||||
# CONFIG_REGULATOR_MAX8660 is not set
|
||||
# CONFIG_REGULATOR_MAX8893 is not set
|
||||
# CONFIG_REGULATOR_MAX8952 is not set
|
||||
# CONFIG_REGULATOR_MAX8973 is not set
|
||||
# CONFIG_REGULATOR_MAX77826 is not set
|
||||
|
@ -2271,6 +2284,8 @@ CONFIG_REGULATOR_GPIO=y
|
|||
# CONFIG_REGULATOR_PV88090 is not set
|
||||
# CONFIG_REGULATOR_RASPBERRYPI_TOUCHSCREEN_ATTINY is not set
|
||||
# CONFIG_REGULATOR_RT4801 is not set
|
||||
# CONFIG_REGULATOR_RT6160 is not set
|
||||
# CONFIG_REGULATOR_RT6245 is not set
|
||||
# CONFIG_REGULATOR_RTMV20 is not set
|
||||
# CONFIG_REGULATOR_SLG51000 is not set
|
||||
# CONFIG_REGULATOR_SY8106A is not set
|
||||
|
@ -2313,6 +2328,7 @@ CONFIG_VIDEO_V4L2_SUBDEV_API=y
|
|||
# CONFIG_VIDEO_ADV_DEBUG is not set
|
||||
# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
|
||||
CONFIG_V4L2_FLASH_LED_CLASS=y
|
||||
CONFIG_V4L2_ASYNC=y
|
||||
# end of Video4Linux options
|
||||
|
||||
#
|
||||
|
@ -2347,6 +2363,7 @@ CONFIG_MEDIA_HIDE_ANCILLARY_SUBDRV=y
|
|||
# Camera sensor devices
|
||||
#
|
||||
# CONFIG_VIDEO_HI556 is not set
|
||||
# CONFIG_VIDEO_IMX208 is not set
|
||||
# CONFIG_VIDEO_IMX214 is not set
|
||||
# CONFIG_VIDEO_IMX219 is not set
|
||||
# CONFIG_VIDEO_IMX258 is not set
|
||||
|
@ -2441,7 +2458,6 @@ CONFIG_DRM_MIPI_DSI=y
|
|||
# CONFIG_DRM_DEBUG_MM is not set
|
||||
# CONFIG_DRM_DEBUG_SELFTEST is not set
|
||||
CONFIG_DRM_KMS_HELPER=y
|
||||
CONFIG_DRM_KMS_FB_HELPER=y
|
||||
CONFIG_DRM_FBDEV_EMULATION=y
|
||||
CONFIG_DRM_FBDEV_OVERALLOC=100
|
||||
# CONFIG_DRM_LOAD_EDID_FIRMWARE is not set
|
||||
|
@ -2559,6 +2575,7 @@ CONFIG_DRM_PANEL_BRIDGE=y
|
|||
# CONFIG_DRM_LONTIUM_LT8912B is not set
|
||||
# CONFIG_DRM_LONTIUM_LT9611 is not set
|
||||
# CONFIG_DRM_LONTIUM_LT9611UXC is not set
|
||||
# CONFIG_DRM_ITE_IT66121 is not set
|
||||
# CONFIG_DRM_LVDS_CODEC is not set
|
||||
# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set
|
||||
# CONFIG_DRM_NWL_MIPI_DSI is not set
|
||||
|
@ -2576,6 +2593,7 @@ CONFIG_DRM_PANEL_BRIDGE=y
|
|||
# CONFIG_DRM_TOSHIBA_TC358768 is not set
|
||||
# CONFIG_DRM_TOSHIBA_TC358775 is not set
|
||||
# CONFIG_DRM_TI_TFP410 is not set
|
||||
# CONFIG_DRM_TI_SN65DSI83 is not set
|
||||
# CONFIG_DRM_TI_SN65DSI86 is not set
|
||||
# CONFIG_DRM_TI_TPD12S015 is not set
|
||||
# CONFIG_DRM_ANALOGIX_ANX6345 is not set
|
||||
|
@ -2589,6 +2607,7 @@ CONFIG_DRM_PANEL_BRIDGE=y
|
|||
# CONFIG_DRM_ETNAVIV is not set
|
||||
# CONFIG_DRM_MXSFB is not set
|
||||
# CONFIG_DRM_ARCPGU is not set
|
||||
# CONFIG_DRM_SIMPLEDRM is not set
|
||||
# CONFIG_TINYDRM_HX8357D is not set
|
||||
# CONFIG_TINYDRM_ILI9225 is not set
|
||||
# CONFIG_TINYDRM_ILI9341 is not set
|
||||
|
@ -2832,6 +2851,7 @@ CONFIG_SND_SOC_AB8500_CODEC=y
|
|||
# CONFIG_SND_SOC_RK3328 is not set
|
||||
# CONFIG_SND_SOC_RT5616 is not set
|
||||
# CONFIG_SND_SOC_RT5631 is not set
|
||||
# CONFIG_SND_SOC_RT5640 is not set
|
||||
# CONFIG_SND_SOC_RT5659 is not set
|
||||
# CONFIG_SND_SOC_SGTL5000 is not set
|
||||
# CONFIG_SND_SOC_SIMPLE_AMPLIFIER is not set
|
||||
|
@ -2854,6 +2874,7 @@ CONFIG_SND_SOC_AB8500_CODEC=y
|
|||
# CONFIG_SND_SOC_TAS6424 is not set
|
||||
# CONFIG_SND_SOC_TDA7419 is not set
|
||||
# CONFIG_SND_SOC_TFA9879 is not set
|
||||
# CONFIG_SND_SOC_TFA989X is not set
|
||||
# CONFIG_SND_SOC_TLV320AIC23_I2C is not set
|
||||
# CONFIG_SND_SOC_TLV320AIC23_SPI is not set
|
||||
# CONFIG_SND_SOC_TLV320AIC31XX is not set
|
||||
|
@ -3414,9 +3435,17 @@ CONFIG_VHOST_MENU=y
|
|||
# CONFIG_CHROME_PLATFORMS is not set
|
||||
# CONFIG_MELLANOX_PLATFORM is not set
|
||||
CONFIG_HAVE_CLK=y
|
||||
CONFIG_CLKDEV_LOOKUP=y
|
||||
CONFIG_HAVE_CLK_PREPARE=y
|
||||
CONFIG_COMMON_CLK=y
|
||||
|
||||
#
|
||||
# Clock driver for ARM Reference designs
|
||||
#
|
||||
# CONFIG_ICST is not set
|
||||
# CONFIG_CLK_SP810 is not set
|
||||
# end of Clock driver for ARM Reference designs
|
||||
|
||||
# CONFIG_LMK04832 is not set
|
||||
# CONFIG_COMMON_CLK_MAX9485 is not set
|
||||
# CONFIG_COMMON_CLK_SI5341 is not set
|
||||
# CONFIG_COMMON_CLK_SI5351 is not set
|
||||
|
@ -3584,6 +3613,8 @@ CONFIG_BMC150_ACCEL_SPI=y
|
|||
# CONFIG_DMARD06 is not set
|
||||
# CONFIG_DMARD09 is not set
|
||||
# CONFIG_DMARD10 is not set
|
||||
# CONFIG_FXLS8962AF_I2C is not set
|
||||
# CONFIG_FXLS8962AF_SPI is not set
|
||||
CONFIG_IIO_ST_ACCEL_3AXIS=y
|
||||
CONFIG_IIO_ST_ACCEL_I2C_3AXIS=y
|
||||
CONFIG_IIO_ST_ACCEL_SPI_3AXIS=y
|
||||
|
@ -3599,6 +3630,7 @@ CONFIG_IIO_ST_ACCEL_SPI_3AXIS=y
|
|||
# CONFIG_MXC4005 is not set
|
||||
# CONFIG_MXC6255 is not set
|
||||
# CONFIG_SCA3000 is not set
|
||||
# CONFIG_SCA3300 is not set
|
||||
# CONFIG_STK8312 is not set
|
||||
# CONFIG_STK8BA50 is not set
|
||||
# end of Accelerometers
|
||||
|
@ -3662,6 +3694,7 @@ CONFIG_AB8500_GPADC=y
|
|||
# CONFIG_TI_ADS124S08 is not set
|
||||
# CONFIG_TI_ADS131E08 is not set
|
||||
# CONFIG_TI_TLC4541 is not set
|
||||
# CONFIG_TI_TSC2046 is not set
|
||||
# CONFIG_VF610_ADC is not set
|
||||
# CONFIG_XILINX_XADC is not set
|
||||
# end of Analog to digital converters
|
||||
|
@ -3696,7 +3729,8 @@ CONFIG_IIO_RESCALE=y
|
|||
# CONFIG_PMS7003 is not set
|
||||
# CONFIG_SCD30_CORE is not set
|
||||
# CONFIG_SENSIRION_SGP30 is not set
|
||||
# CONFIG_SPS30 is not set
|
||||
# CONFIG_SPS30_I2C is not set
|
||||
# CONFIG_SPS30_SERIAL is not set
|
||||
# CONFIG_VZ89X is not set
|
||||
# end of Chemical Sensors
|
||||
|
||||
|
@ -3847,6 +3881,7 @@ CONFIG_INV_MPU6050_IIO=y
|
|||
CONFIG_INV_MPU6050_I2C=y
|
||||
# CONFIG_INV_MPU6050_SPI is not set
|
||||
# CONFIG_IIO_ST_LSM6DSX is not set
|
||||
# CONFIG_IIO_ST_LSM9DS0 is not set
|
||||
# end of Inertial measurement units
|
||||
|
||||
#
|
||||
|
@ -3888,6 +3923,7 @@ CONFIG_GP2AP002=y
|
|||
# CONFIG_TCS3472 is not set
|
||||
# CONFIG_SENSORS_TSL2563 is not set
|
||||
# CONFIG_TSL2583 is not set
|
||||
# CONFIG_TSL2591 is not set
|
||||
# CONFIG_TSL2772 is not set
|
||||
# CONFIG_TSL4531 is not set
|
||||
# CONFIG_US5182D is not set
|
||||
|
@ -4025,6 +4061,7 @@ CONFIG_IIO_ST_PRESS_SPI=y
|
|||
# CONFIG_MLX90632 is not set
|
||||
# CONFIG_TMP006 is not set
|
||||
# CONFIG_TMP007 is not set
|
||||
# CONFIG_TMP117 is not set
|
||||
# CONFIG_TSYS01 is not set
|
||||
# CONFIG_TSYS02D is not set
|
||||
# CONFIG_MAX31856 is not set
|
||||
|
@ -4048,6 +4085,7 @@ CONFIG_ARM_GIC_MAX_NR=1
|
|||
# PHY Subsystem
|
||||
#
|
||||
# CONFIG_GENERIC_PHY is not set
|
||||
# CONFIG_PHY_CAN_TRANSCEIVER is not set
|
||||
# CONFIG_BCM_KONA_USB2_PHY is not set
|
||||
# CONFIG_PHY_CADENCE_TORRENT is not set
|
||||
# CONFIG_PHY_CADENCE_DPHY is not set
|
||||
|
@ -4568,6 +4606,8 @@ CONFIG_FONT_SUPPORT=y
|
|||
# CONFIG_FONTS is not set
|
||||
CONFIG_FONT_8x8=y
|
||||
CONFIG_FONT_8x16=y
|
||||
CONFIG_STACKDEPOT=y
|
||||
CONFIG_STACK_HASH_ORDER=20
|
||||
CONFIG_SBITMAP=y
|
||||
# CONFIG_STRING_SELFTEST is not set
|
||||
# end of Library routines
|
||||
|
@ -4583,6 +4623,7 @@ CONFIG_GENERIC_LIB_DEVMEM_IS_ALLOWED=y
|
|||
#
|
||||
CONFIG_PRINTK_TIME=y
|
||||
# CONFIG_PRINTK_CALLER is not set
|
||||
# CONFIG_STACKTRACE_BUILD_ID is not set
|
||||
CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7
|
||||
CONFIG_CONSOLE_LOGLEVEL_QUIET=4
|
||||
CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
|
||||
|
@ -4705,7 +4746,7 @@ CONFIG_LOCK_DEBUGGING_SUPPORT=y
|
|||
# end of Lock Debugging (spinlocks, mutexes, etc...)
|
||||
|
||||
# CONFIG_DEBUG_IRQFLAGS is not set
|
||||
# CONFIG_STACKTRACE is not set
|
||||
CONFIG_STACKTRACE=y
|
||||
# CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set
|
||||
# CONFIG_DEBUG_KOBJECT is not set
|
||||
|
||||
|
@ -4783,7 +4824,6 @@ CONFIG_CC_HAS_SANCOV_TRACE_PC=y
|
|||
# CONFIG_KCOV is not set
|
||||
CONFIG_RUNTIME_TESTING_MENU=y
|
||||
# CONFIG_LKDTM is not set
|
||||
# CONFIG_TEST_LIST_SORT is not set
|
||||
# CONFIG_TEST_MIN_HEAP is not set
|
||||
# CONFIG_TEST_SORT is not set
|
||||
# CONFIG_TEST_DIV64 is not set
|
||||
|
@ -4798,6 +4838,7 @@ CONFIG_RUNTIME_TESTING_MENU=y
|
|||
# CONFIG_TEST_STRSCPY is not set
|
||||
# CONFIG_TEST_KSTRTOX is not set
|
||||
# CONFIG_TEST_PRINTF is not set
|
||||
# CONFIG_TEST_SCANF is not set
|
||||
# CONFIG_TEST_BITMAP is not set
|
||||
# CONFIG_TEST_UUID is not set
|
||||
# CONFIG_TEST_XARRAY is not set
|
||||
|
|
116
main/linux-postmarketos-stericsson/firmware.patch
Normal file
116
main/linux-postmarketos-stericsson/firmware.patch
Normal file
|
@ -0,0 +1,116 @@
|
|||
After some crashes in the 3D engine (!) on the Samsung GT-I8530
|
||||
it turns out that the main firmware file can be device dependent,
|
||||
something that was previously only handled for the NVRAM
|
||||
parameter file.
|
||||
|
||||
Rewrite the code a bit so we can a per-board suffixed firmware
|
||||
binary as well, if this does not exist we fall back to the
|
||||
canonical firmware name.
|
||||
|
||||
Example: a 4330 device with the OF board compatible is
|
||||
"samsung,gavini". We will first try
|
||||
"brcmfmac4330-sdio.samsung,gavini.bin" then "brcmfmac4330-sdio.bin"
|
||||
if that does not work.
|
||||
|
||||
Cc: phone-devel@vger.kernel.org
|
||||
Cc: newbyte@disroot.org
|
||||
Cc: Stephan Gerhold <stephan@gerhold.net>
|
||||
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
|
||||
---
|
||||
.../broadcom/brcm80211/brcmfmac/firmware.c | 53 +++++++++++++++----
|
||||
1 file changed, 42 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c
|
||||
index d40104b8df55..adfdfc654b10 100644
|
||||
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c
|
||||
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c
|
||||
@@ -594,28 +594,47 @@ static int brcmf_fw_complete_request(const struct firmware *fw,
|
||||
return (cur->flags & BRCMF_FW_REQF_OPTIONAL) ? 0 : ret;
|
||||
}
|
||||
|
||||
+static char *brcm_alt_fw_path(const char *path, const char *board_type)
|
||||
+{
|
||||
+ char alt_path[BRCMF_FW_NAME_LEN];
|
||||
+ char suffix[5];
|
||||
+
|
||||
+ strscpy(alt_path, path, BRCMF_FW_NAME_LEN);
|
||||
+ /* At least one character + suffix */
|
||||
+ if (strlen(alt_path) < 5)
|
||||
+ return NULL;
|
||||
+
|
||||
+ /* strip .txt or .bin at the end */
|
||||
+ strscpy(suffix, alt_path + strlen(alt_path) - 4, 5);
|
||||
+ alt_path[strlen(alt_path) - 4] = 0;
|
||||
+ strlcat(alt_path, ".", BRCMF_FW_NAME_LEN);
|
||||
+ strlcat(alt_path, board_type, BRCMF_FW_NAME_LEN);
|
||||
+ strlcat(alt_path, suffix, BRCMF_FW_NAME_LEN);
|
||||
+
|
||||
+ return kstrdup(alt_path, GFP_KERNEL);
|
||||
+}
|
||||
+
|
||||
static int brcmf_fw_request_firmware(const struct firmware **fw,
|
||||
struct brcmf_fw *fwctx)
|
||||
{
|
||||
struct brcmf_fw_item *cur = &fwctx->req->items[fwctx->curpos];
|
||||
int ret;
|
||||
|
||||
- /* nvram files are board-specific, first try a board-specific path */
|
||||
+ /* Files can be board-specific, first try a board-specific path */
|
||||
if (cur->type == BRCMF_FW_TYPE_NVRAM && fwctx->req->board_type) {
|
||||
- char alt_path[BRCMF_FW_NAME_LEN];
|
||||
+ char *alt_path;
|
||||
|
||||
- strlcpy(alt_path, cur->path, BRCMF_FW_NAME_LEN);
|
||||
- /* strip .txt at the end */
|
||||
- alt_path[strlen(alt_path) - 4] = 0;
|
||||
- strlcat(alt_path, ".", BRCMF_FW_NAME_LEN);
|
||||
- strlcat(alt_path, fwctx->req->board_type, BRCMF_FW_NAME_LEN);
|
||||
- strlcat(alt_path, ".txt", BRCMF_FW_NAME_LEN);
|
||||
+ alt_path = brcm_alt_fw_path(cur->path, fwctx->req->board_type);
|
||||
+ if (!alt_path)
|
||||
+ goto fallback;
|
||||
|
||||
ret = request_firmware(fw, alt_path, fwctx->dev);
|
||||
+ kfree(alt_path);
|
||||
if (ret == 0)
|
||||
return ret;
|
||||
}
|
||||
|
||||
+fallback:
|
||||
return request_firmware(fw, cur->path, fwctx->dev);
|
||||
}
|
||||
|
||||
@@ -660,6 +679,7 @@ int brcmf_fw_get_firmwares(struct device *dev, struct brcmf_fw_request *req,
|
||||
{
|
||||
struct brcmf_fw_item *first = &req->items[0];
|
||||
struct brcmf_fw *fwctx;
|
||||
+ char *alt_path;
|
||||
int ret;
|
||||
|
||||
brcmf_dbg(TRACE, "enter: dev=%s\n", dev_name(dev));
|
||||
@@ -677,9 +697,20 @@ int brcmf_fw_get_firmwares(struct device *dev, struct brcmf_fw_request *req,
|
||||
fwctx->req = req;
|
||||
fwctx->done = fw_cb;
|
||||
|
||||
- ret = request_firmware_nowait(THIS_MODULE, true, first->path,
|
||||
- fwctx->dev, GFP_KERNEL, fwctx,
|
||||
- brcmf_fw_request_done);
|
||||
+ /* First try alternative board-specific path if any */
|
||||
+ alt_path = brcm_alt_fw_path(first->path, fwctx->req->board_type);
|
||||
+ if (alt_path) {
|
||||
+ ret = request_firmware_nowait(THIS_MODULE, true, alt_path,
|
||||
+ fwctx->dev, GFP_KERNEL, fwctx,
|
||||
+ brcmf_fw_request_done);
|
||||
+ kfree(alt_path);
|
||||
+ }
|
||||
+ /* Else try canonical path */
|
||||
+ if (ret) {
|
||||
+ ret = request_firmware_nowait(THIS_MODULE, true, first->path,
|
||||
+ fwctx->dev, GFP_KERNEL, fwctx,
|
||||
+ brcmf_fw_request_done);
|
||||
+ }
|
||||
if (ret < 0)
|
||||
brcmf_fw_request_done(NULL, fwctx);
|
||||
|
||||
--
|
||||
2.31.1
|
Loading…
Reference in a new issue