mirror of
https://github.com/Fishwaldo/build.git
synced 2025-07-09 06:28:28 +00:00
Merge branch 'master' into desktop
This commit is contained in:
commit
c79d7710fb
78 changed files with 30006 additions and 19110 deletions
|
@ -37,7 +37,7 @@ build tools</h3>
|
||||||
## What do you need to get started?
|
## What do you need to get started?
|
||||||
|
|
||||||
- x64 machine with at least 2GB of memory and ~35GB of disk space for the VM, container or native OS,
|
- x64 machine with at least 2GB of memory and ~35GB of disk space for the VM, container or native OS,
|
||||||
- Ubuntu Bionic 18.04 / Focal 20.04 x64 for native building or any [Docker](https://docs.armbian.com/Developer-Guide_Building-with-Docker/) capable x64 Linux for containerised,
|
- Ubuntu Focal 20.04 x64 for native building or any [Docker](https://docs.armbian.com/Developer-Guide_Building-with-Docker/) capable x64 Linux for containerised,
|
||||||
- superuser rights (configured sudo or root access).
|
- superuser rights (configured sudo or root access).
|
||||||
|
|
||||||
<p align=right><a href=#table-of-contents>⇧</a></p>
|
<p align=right><a href=#table-of-contents>⇧</a></p>
|
||||||
|
|
|
@ -2858,14 +2858,8 @@ CONFIG_DM_SWITCH=m
|
||||||
CONFIG_DM_LOG_WRITES=m
|
CONFIG_DM_LOG_WRITES=m
|
||||||
CONFIG_DM_INTEGRITY=m
|
CONFIG_DM_INTEGRITY=m
|
||||||
CONFIG_DM_ZONED=m
|
CONFIG_DM_ZONED=m
|
||||||
CONFIG_TARGET_CORE=m
|
|
||||||
CONFIG_TCM_IBLOCK=m
|
|
||||||
CONFIG_TCM_FILEIO=m
|
|
||||||
CONFIG_TCM_PSCSI=m
|
|
||||||
CONFIG_TCM_USER2=m
|
|
||||||
CONFIG_LOOPBACK_TARGET=m
|
CONFIG_LOOPBACK_TARGET=m
|
||||||
CONFIG_TCM_FC=m
|
CONFIG_TCM_FC=m
|
||||||
CONFIG_ISCSI_TARGET=m
|
|
||||||
CONFIG_ISCSI_TARGET_CXGB4=m
|
CONFIG_ISCSI_TARGET_CXGB4=m
|
||||||
# CONFIG_FUSION is not set
|
# CONFIG_FUSION is not set
|
||||||
|
|
||||||
|
@ -10615,3 +10609,12 @@ CONFIG_TEST_FREE_PAGES=m
|
||||||
# CONFIG_MEMTEST is not set
|
# CONFIG_MEMTEST is not set
|
||||||
# end of Kernel Testing and Coverage
|
# end of Kernel Testing and Coverage
|
||||||
# end of Kernel hacking
|
# end of Kernel hacking
|
||||||
|
|
||||||
|
## LinuxIO - iSCSI Target modules
|
||||||
|
CONFIG_TARGET_CORE=m
|
||||||
|
CONFIG_ISCSI_TARGET=m
|
||||||
|
CONFIG_TCM_IBLOCK=m
|
||||||
|
CONFIG_TCM_FILEIO=m
|
||||||
|
CONFIG_TCM_PSCSI=m
|
||||||
|
CONFIG_TCM_USER2=m
|
||||||
|
|
||||||
|
|
|
@ -1641,7 +1641,6 @@ CONFIG_PATA_IMX=y
|
||||||
# Generic fallback / legacy drivers
|
# Generic fallback / legacy drivers
|
||||||
#
|
#
|
||||||
# CONFIG_MD is not set
|
# CONFIG_MD is not set
|
||||||
# CONFIG_TARGET_CORE is not set
|
|
||||||
CONFIG_NETDEVICES=y
|
CONFIG_NETDEVICES=y
|
||||||
CONFIG_MII=y
|
CONFIG_MII=y
|
||||||
CONFIG_NET_CORE=y
|
CONFIG_NET_CORE=y
|
||||||
|
@ -5475,3 +5474,12 @@ CONFIG_ARCH_HAS_SG_CHAIN=y
|
||||||
CONFIG_SBITMAP=y
|
CONFIG_SBITMAP=y
|
||||||
# CONFIG_STRING_SELFTEST is not set
|
# CONFIG_STRING_SELFTEST is not set
|
||||||
# CONFIG_VIRTUALIZATION is not set
|
# CONFIG_VIRTUALIZATION is not set
|
||||||
|
|
||||||
|
## LinuxIO - iSCSI Target modules
|
||||||
|
CONFIG_TARGET_CORE=m
|
||||||
|
CONFIG_ISCSI_TARGET=m
|
||||||
|
CONFIG_TCM_IBLOCK=m
|
||||||
|
CONFIG_TCM_FILEIO=m
|
||||||
|
CONFIG_TCM_PSCSI=m
|
||||||
|
CONFIG_TCM_USER2=m
|
||||||
|
|
||||||
|
|
|
@ -2556,7 +2556,6 @@ CONFIG_DM_VERITY=m
|
||||||
CONFIG_DM_SWITCH=m
|
CONFIG_DM_SWITCH=m
|
||||||
CONFIG_DM_LOG_WRITES=m
|
CONFIG_DM_LOG_WRITES=m
|
||||||
CONFIG_DM_INTEGRITY=m
|
CONFIG_DM_INTEGRITY=m
|
||||||
# CONFIG_TARGET_CORE is not set
|
|
||||||
# CONFIG_FUSION is not set
|
# CONFIG_FUSION is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -9018,3 +9017,12 @@ CONFIG_TEST_FREE_PAGES=m
|
||||||
# CONFIG_MEMTEST is not set
|
# CONFIG_MEMTEST is not set
|
||||||
# end of Kernel Testing and Coverage
|
# end of Kernel Testing and Coverage
|
||||||
# end of Kernel hacking
|
# end of Kernel hacking
|
||||||
|
|
||||||
|
## LinuxIO - iSCSI Target modules
|
||||||
|
CONFIG_TARGET_CORE=m
|
||||||
|
CONFIG_ISCSI_TARGET=m
|
||||||
|
CONFIG_TCM_IBLOCK=m
|
||||||
|
CONFIG_TCM_FILEIO=m
|
||||||
|
CONFIG_TCM_PSCSI=m
|
||||||
|
CONFIG_TCM_USER2=m
|
||||||
|
|
||||||
|
|
|
@ -2519,7 +2519,6 @@ CONFIG_DM_VERITY=m
|
||||||
CONFIG_DM_SWITCH=m
|
CONFIG_DM_SWITCH=m
|
||||||
CONFIG_DM_LOG_WRITES=m
|
CONFIG_DM_LOG_WRITES=m
|
||||||
CONFIG_DM_INTEGRITY=m
|
CONFIG_DM_INTEGRITY=m
|
||||||
# CONFIG_TARGET_CORE is not set
|
|
||||||
# CONFIG_FUSION is not set
|
# CONFIG_FUSION is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -8874,3 +8873,12 @@ CONFIG_TEST_MEMCAT_P=m
|
||||||
# CONFIG_MEMTEST is not set
|
# CONFIG_MEMTEST is not set
|
||||||
# end of Kernel Testing and Coverage
|
# end of Kernel Testing and Coverage
|
||||||
# end of Kernel hacking
|
# end of Kernel hacking
|
||||||
|
|
||||||
|
## LinuxIO - iSCSI Target modules
|
||||||
|
CONFIG_TARGET_CORE=m
|
||||||
|
CONFIG_ISCSI_TARGET=m
|
||||||
|
CONFIG_TCM_IBLOCK=m
|
||||||
|
CONFIG_TCM_FILEIO=m
|
||||||
|
CONFIG_TCM_PSCSI=m
|
||||||
|
CONFIG_TCM_USER2=m
|
||||||
|
|
||||||
|
|
|
@ -2533,7 +2533,6 @@ CONFIG_DM_VERITY=m
|
||||||
CONFIG_DM_SWITCH=m
|
CONFIG_DM_SWITCH=m
|
||||||
CONFIG_DM_LOG_WRITES=m
|
CONFIG_DM_LOG_WRITES=m
|
||||||
CONFIG_DM_INTEGRITY=m
|
CONFIG_DM_INTEGRITY=m
|
||||||
# CONFIG_TARGET_CORE is not set
|
|
||||||
# CONFIG_FUSION is not set
|
# CONFIG_FUSION is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -8584,3 +8583,12 @@ CONFIG_UNCOMPRESS_INCLUDE="debug/uncompress.h"
|
||||||
# CONFIG_PID_IN_CONTEXTIDR is not set
|
# CONFIG_PID_IN_CONTEXTIDR is not set
|
||||||
# CONFIG_CORESIGHT is not set
|
# CONFIG_CORESIGHT is not set
|
||||||
# end of Kernel hacking
|
# end of Kernel hacking
|
||||||
|
|
||||||
|
## LinuxIO - iSCSI Target modules
|
||||||
|
CONFIG_TARGET_CORE=m
|
||||||
|
CONFIG_ISCSI_TARGET=m
|
||||||
|
CONFIG_TCM_IBLOCK=m
|
||||||
|
CONFIG_TCM_FILEIO=m
|
||||||
|
CONFIG_TCM_PSCSI=m
|
||||||
|
CONFIG_TCM_USER2=m
|
||||||
|
|
||||||
|
|
|
@ -2508,7 +2508,6 @@ CONFIG_DM_SWITCH=m
|
||||||
CONFIG_DM_LOG_WRITES=m
|
CONFIG_DM_LOG_WRITES=m
|
||||||
CONFIG_DM_INTEGRITY=m
|
CONFIG_DM_INTEGRITY=m
|
||||||
CONFIG_DM_ZONED=m
|
CONFIG_DM_ZONED=m
|
||||||
# CONFIG_TARGET_CORE is not set
|
|
||||||
# CONFIG_FUSION is not set
|
# CONFIG_FUSION is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -9385,3 +9384,12 @@ CONFIG_TEST_FREE_PAGES=m
|
||||||
CONFIG_MEMTEST=y
|
CONFIG_MEMTEST=y
|
||||||
# end of Kernel Testing and Coverage
|
# end of Kernel Testing and Coverage
|
||||||
# end of Kernel hacking
|
# end of Kernel hacking
|
||||||
|
|
||||||
|
## LinuxIO - iSCSI Target modules
|
||||||
|
CONFIG_TARGET_CORE=m
|
||||||
|
CONFIG_ISCSI_TARGET=m
|
||||||
|
CONFIG_TCM_IBLOCK=m
|
||||||
|
CONFIG_TCM_FILEIO=m
|
||||||
|
CONFIG_TCM_PSCSI=m
|
||||||
|
CONFIG_TCM_USER2=m
|
||||||
|
|
||||||
|
|
|
@ -2508,7 +2508,6 @@ CONFIG_DM_SWITCH=m
|
||||||
CONFIG_DM_LOG_WRITES=m
|
CONFIG_DM_LOG_WRITES=m
|
||||||
CONFIG_DM_INTEGRITY=m
|
CONFIG_DM_INTEGRITY=m
|
||||||
CONFIG_DM_ZONED=m
|
CONFIG_DM_ZONED=m
|
||||||
# CONFIG_TARGET_CORE is not set
|
|
||||||
# CONFIG_FUSION is not set
|
# CONFIG_FUSION is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -9383,3 +9382,12 @@ CONFIG_TEST_FREE_PAGES=m
|
||||||
CONFIG_MEMTEST=y
|
CONFIG_MEMTEST=y
|
||||||
# end of Kernel Testing and Coverage
|
# end of Kernel Testing and Coverage
|
||||||
# end of Kernel hacking
|
# end of Kernel hacking
|
||||||
|
|
||||||
|
## LinuxIO - iSCSI Target modules
|
||||||
|
CONFIG_TARGET_CORE=m
|
||||||
|
CONFIG_ISCSI_TARGET=m
|
||||||
|
CONFIG_TCM_IBLOCK=m
|
||||||
|
CONFIG_TCM_FILEIO=m
|
||||||
|
CONFIG_TCM_PSCSI=m
|
||||||
|
CONFIG_TCM_USER2=m
|
||||||
|
|
||||||
|
|
|
@ -1380,7 +1380,7 @@ CONFIG_MAC80211_STA_HASH_MAX_SIZE=0
|
||||||
CONFIG_RFKILL=y
|
CONFIG_RFKILL=y
|
||||||
CONFIG_RFKILL_PM=y
|
CONFIG_RFKILL_PM=y
|
||||||
CONFIG_RFKILL_LEDS=y
|
CONFIG_RFKILL_LEDS=y
|
||||||
# CONFIG_RFKILL_INPUT is not set
|
CONFIG_RFKILL_INPUT=y
|
||||||
# CONFIG_RFKILL_REGULATOR is not set
|
# CONFIG_RFKILL_REGULATOR is not set
|
||||||
# CONFIG_RFKILL_GPIO is not set
|
# CONFIG_RFKILL_GPIO is not set
|
||||||
# CONFIG_NET_9P is not set
|
# CONFIG_NET_9P is not set
|
||||||
|
@ -2325,7 +2325,6 @@ CONFIG_DM_VERITY_FEC=y
|
||||||
CONFIG_DM_LOG_WRITES=m
|
CONFIG_DM_LOG_WRITES=m
|
||||||
CONFIG_DM_VERITY_AVB=m
|
CONFIG_DM_VERITY_AVB=m
|
||||||
# CONFIG_DM_ANDROID_VERITY_AT_MOST_ONCE_DEFAULT_ENABLED is not set
|
# CONFIG_DM_ANDROID_VERITY_AT_MOST_ONCE_DEFAULT_ENABLED is not set
|
||||||
# CONFIG_TARGET_CORE is not set
|
|
||||||
# CONFIG_FUSION is not set
|
# CONFIG_FUSION is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -6756,3 +6755,12 @@ CONFIG_FONT_10x18=y
|
||||||
CONFIG_SG_POOL=y
|
CONFIG_SG_POOL=y
|
||||||
CONFIG_ARCH_HAS_SG_CHAIN=y
|
CONFIG_ARCH_HAS_SG_CHAIN=y
|
||||||
CONFIG_SBITMAP=y
|
CONFIG_SBITMAP=y
|
||||||
|
|
||||||
|
## LinuxIO - iSCSI Target modules
|
||||||
|
CONFIG_TARGET_CORE=m
|
||||||
|
CONFIG_ISCSI_TARGET=m
|
||||||
|
CONFIG_TCM_IBLOCK=m
|
||||||
|
CONFIG_TCM_FILEIO=m
|
||||||
|
CONFIG_TCM_PSCSI=m
|
||||||
|
CONFIG_TCM_USER2=m
|
||||||
|
|
||||||
|
|
|
@ -2522,7 +2522,6 @@ CONFIG_DM_DUST=m
|
||||||
# CONFIG_DM_SWITCH is not set
|
# CONFIG_DM_SWITCH is not set
|
||||||
# CONFIG_DM_LOG_WRITES is not set
|
# CONFIG_DM_LOG_WRITES is not set
|
||||||
# CONFIG_DM_INTEGRITY is not set
|
# CONFIG_DM_INTEGRITY is not set
|
||||||
# CONFIG_TARGET_CORE is not set
|
|
||||||
# CONFIG_FUSION is not set
|
# CONFIG_FUSION is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -7630,3 +7629,12 @@ CONFIG_TEST_MEMINIT=m
|
||||||
# CONFIG_MEMTEST is not set
|
# CONFIG_MEMTEST is not set
|
||||||
# end of Kernel Testing and Coverage
|
# end of Kernel Testing and Coverage
|
||||||
# end of Kernel hacking
|
# end of Kernel hacking
|
||||||
|
|
||||||
|
## LinuxIO - iSCSI Target modules
|
||||||
|
CONFIG_TARGET_CORE=m
|
||||||
|
CONFIG_ISCSI_TARGET=m
|
||||||
|
CONFIG_TCM_IBLOCK=m
|
||||||
|
CONFIG_TCM_FILEIO=m
|
||||||
|
CONFIG_TCM_PSCSI=m
|
||||||
|
CONFIG_TCM_USER2=m
|
||||||
|
|
||||||
|
|
|
@ -2359,7 +2359,6 @@ CONFIG_DM_VERITY=m
|
||||||
# CONFIG_DM_SWITCH is not set
|
# CONFIG_DM_SWITCH is not set
|
||||||
CONFIG_DM_LOG_WRITES=m
|
CONFIG_DM_LOG_WRITES=m
|
||||||
CONFIG_DM_INTEGRITY=m
|
CONFIG_DM_INTEGRITY=m
|
||||||
# CONFIG_TARGET_CORE is not set
|
|
||||||
# CONFIG_FUSION is not set
|
# CONFIG_FUSION is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -6787,3 +6786,12 @@ CONFIG_UNCOMPRESS_INCLUDE="debug/uncompress.h"
|
||||||
CONFIG_EARLY_PRINTK=y
|
CONFIG_EARLY_PRINTK=y
|
||||||
# CONFIG_PID_IN_CONTEXTIDR is not set
|
# CONFIG_PID_IN_CONTEXTIDR is not set
|
||||||
# CONFIG_CORESIGHT is not set
|
# CONFIG_CORESIGHT is not set
|
||||||
|
|
||||||
|
## LinuxIO - iSCSI Target modules
|
||||||
|
CONFIG_TARGET_CORE=m
|
||||||
|
CONFIG_ISCSI_TARGET=m
|
||||||
|
CONFIG_TCM_IBLOCK=m
|
||||||
|
CONFIG_TCM_FILEIO=m
|
||||||
|
CONFIG_TCM_PSCSI=m
|
||||||
|
CONFIG_TCM_USER2=m
|
||||||
|
|
||||||
|
|
|
@ -2437,12 +2437,10 @@ CONFIG_DM_VERITY=m
|
||||||
CONFIG_DM_LOG_WRITES=m
|
CONFIG_DM_LOG_WRITES=m
|
||||||
CONFIG_DM_INTEGRITY=m
|
CONFIG_DM_INTEGRITY=m
|
||||||
CONFIG_DM_ZONED=m
|
CONFIG_DM_ZONED=m
|
||||||
CONFIG_TARGET_CORE=m
|
|
||||||
# CONFIG_TCM_IBLOCK is not set
|
# CONFIG_TCM_IBLOCK is not set
|
||||||
# CONFIG_TCM_FILEIO is not set
|
# CONFIG_TCM_FILEIO is not set
|
||||||
# CONFIG_TCM_PSCSI is not set
|
# CONFIG_TCM_PSCSI is not set
|
||||||
# CONFIG_LOOPBACK_TARGET is not set
|
# CONFIG_LOOPBACK_TARGET is not set
|
||||||
CONFIG_ISCSI_TARGET=m
|
|
||||||
# CONFIG_FUSION is not set
|
# CONFIG_FUSION is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -7093,3 +7091,12 @@ CONFIG_TEST_STACKINIT=m
|
||||||
# CONFIG_MEMTEST is not set
|
# CONFIG_MEMTEST is not set
|
||||||
# end of Kernel Testing and Coverage
|
# end of Kernel Testing and Coverage
|
||||||
# end of Kernel hacking
|
# end of Kernel hacking
|
||||||
|
|
||||||
|
## LinuxIO - iSCSI Target modules
|
||||||
|
CONFIG_TARGET_CORE=m
|
||||||
|
CONFIG_ISCSI_TARGET=m
|
||||||
|
CONFIG_TCM_IBLOCK=m
|
||||||
|
CONFIG_TCM_FILEIO=m
|
||||||
|
CONFIG_TCM_PSCSI=m
|
||||||
|
CONFIG_TCM_USER2=m
|
||||||
|
|
||||||
|
|
|
@ -2251,12 +2251,10 @@ CONFIG_DM_VERITY=m
|
||||||
CONFIG_DM_LOG_WRITES=m
|
CONFIG_DM_LOG_WRITES=m
|
||||||
CONFIG_DM_INTEGRITY=m
|
CONFIG_DM_INTEGRITY=m
|
||||||
CONFIG_DM_ZONED=m
|
CONFIG_DM_ZONED=m
|
||||||
CONFIG_TARGET_CORE=m
|
|
||||||
# CONFIG_TCM_IBLOCK is not set
|
# CONFIG_TCM_IBLOCK is not set
|
||||||
# CONFIG_TCM_FILEIO is not set
|
# CONFIG_TCM_FILEIO is not set
|
||||||
# CONFIG_TCM_PSCSI is not set
|
# CONFIG_TCM_PSCSI is not set
|
||||||
# CONFIG_LOOPBACK_TARGET is not set
|
# CONFIG_LOOPBACK_TARGET is not set
|
||||||
CONFIG_ISCSI_TARGET=m
|
|
||||||
# CONFIG_FUSION is not set
|
# CONFIG_FUSION is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -6235,3 +6233,12 @@ CONFIG_EARLY_PRINTK=y
|
||||||
# CONFIG_PID_IN_CONTEXTIDR is not set
|
# CONFIG_PID_IN_CONTEXTIDR is not set
|
||||||
# CONFIG_CORESIGHT is not set
|
# CONFIG_CORESIGHT is not set
|
||||||
# end of Kernel hacking
|
# end of Kernel hacking
|
||||||
|
|
||||||
|
## LinuxIO - iSCSI Target modules
|
||||||
|
CONFIG_TARGET_CORE=m
|
||||||
|
CONFIG_ISCSI_TARGET=m
|
||||||
|
CONFIG_TCM_IBLOCK=m
|
||||||
|
CONFIG_TCM_FILEIO=m
|
||||||
|
CONFIG_TCM_PSCSI=m
|
||||||
|
CONFIG_TCM_USER2=m
|
||||||
|
|
||||||
|
|
|
@ -2107,12 +2107,7 @@ CONFIG_DM_SWITCH=m
|
||||||
CONFIG_DM_LOG_WRITES=m
|
CONFIG_DM_LOG_WRITES=m
|
||||||
CONFIG_DM_INTEGRITY=m
|
CONFIG_DM_INTEGRITY=m
|
||||||
CONFIG_DM_ZONED=m
|
CONFIG_DM_ZONED=m
|
||||||
CONFIG_TARGET_CORE=m
|
|
||||||
CONFIG_TCM_IBLOCK=m
|
|
||||||
CONFIG_TCM_FILEIO=m
|
|
||||||
CONFIG_TCM_PSCSI=m
|
|
||||||
CONFIG_LOOPBACK_TARGET=m
|
CONFIG_LOOPBACK_TARGET=m
|
||||||
CONFIG_ISCSI_TARGET=m
|
|
||||||
# CONFIG_FUSION is not set
|
# CONFIG_FUSION is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -5728,3 +5723,12 @@ CONFIG_UNCOMPRESS_INCLUDE="debug/uncompress.h"
|
||||||
CONFIG_EARLY_PRINTK=y
|
CONFIG_EARLY_PRINTK=y
|
||||||
# CONFIG_PID_IN_CONTEXTIDR is not set
|
# CONFIG_PID_IN_CONTEXTIDR is not set
|
||||||
# CONFIG_CORESIGHT is not set
|
# CONFIG_CORESIGHT is not set
|
||||||
|
|
||||||
|
## LinuxIO - iSCSI Target modules
|
||||||
|
CONFIG_TARGET_CORE=m
|
||||||
|
CONFIG_ISCSI_TARGET=m
|
||||||
|
CONFIG_TCM_IBLOCK=m
|
||||||
|
CONFIG_TCM_FILEIO=m
|
||||||
|
CONFIG_TCM_PSCSI=m
|
||||||
|
CONFIG_TCM_USER2=m
|
||||||
|
|
||||||
|
|
|
@ -2471,7 +2471,6 @@ CONFIG_DM_VERITY_FEC=y
|
||||||
CONFIG_DM_SWITCH=m
|
CONFIG_DM_SWITCH=m
|
||||||
CONFIG_DM_LOG_WRITES=m
|
CONFIG_DM_LOG_WRITES=m
|
||||||
CONFIG_DM_INTEGRITY=m
|
CONFIG_DM_INTEGRITY=m
|
||||||
# CONFIG_TARGET_CORE is not set
|
|
||||||
# CONFIG_FUSION is not set
|
# CONFIG_FUSION is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -7516,3 +7515,12 @@ CONFIG_TEST_BITOPS=m
|
||||||
CONFIG_MEMTEST=y
|
CONFIG_MEMTEST=y
|
||||||
# end of Kernel Testing and Coverage
|
# end of Kernel Testing and Coverage
|
||||||
# end of Kernel hacking
|
# end of Kernel hacking
|
||||||
|
|
||||||
|
## LinuxIO - iSCSI Target modules
|
||||||
|
CONFIG_TARGET_CORE=m
|
||||||
|
CONFIG_ISCSI_TARGET=m
|
||||||
|
CONFIG_TCM_IBLOCK=m
|
||||||
|
CONFIG_TCM_FILEIO=m
|
||||||
|
CONFIG_TCM_PSCSI=m
|
||||||
|
CONFIG_TCM_USER2=m
|
||||||
|
|
||||||
|
|
|
@ -2455,7 +2455,6 @@ CONFIG_DM_VERITY=m
|
||||||
CONFIG_DM_SWITCH=m
|
CONFIG_DM_SWITCH=m
|
||||||
CONFIG_DM_LOG_WRITES=m
|
CONFIG_DM_LOG_WRITES=m
|
||||||
CONFIG_DM_INTEGRITY=m
|
CONFIG_DM_INTEGRITY=m
|
||||||
# CONFIG_TARGET_CORE is not set
|
|
||||||
# CONFIG_FUSION is not set
|
# CONFIG_FUSION is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -6580,3 +6579,12 @@ CONFIG_LIST_KUNIT_TEST=m
|
||||||
CONFIG_MEMTEST=y
|
CONFIG_MEMTEST=y
|
||||||
# end of Kernel Testing and Coverage
|
# end of Kernel Testing and Coverage
|
||||||
# end of Kernel hacking
|
# end of Kernel hacking
|
||||||
|
|
||||||
|
## LinuxIO - iSCSI Target modules
|
||||||
|
CONFIG_TARGET_CORE=m
|
||||||
|
CONFIG_ISCSI_TARGET=m
|
||||||
|
CONFIG_TCM_IBLOCK=m
|
||||||
|
CONFIG_TCM_FILEIO=m
|
||||||
|
CONFIG_TCM_PSCSI=m
|
||||||
|
CONFIG_TCM_USER2=m
|
||||||
|
|
||||||
|
|
|
@ -2071,7 +2071,6 @@ CONFIG_PATA_OF_PLATFORM=y
|
||||||
# CONFIG_ATA_GENERIC is not set
|
# CONFIG_ATA_GENERIC is not set
|
||||||
# CONFIG_PATA_LEGACY is not set
|
# CONFIG_PATA_LEGACY is not set
|
||||||
# CONFIG_MD is not set
|
# CONFIG_MD is not set
|
||||||
# CONFIG_TARGET_CORE is not set
|
|
||||||
# CONFIG_FUSION is not set
|
# CONFIG_FUSION is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -6074,3 +6073,12 @@ CONFIG_SG_POOL=y
|
||||||
CONFIG_ARCH_HAS_SG_CHAIN=y
|
CONFIG_ARCH_HAS_SG_CHAIN=y
|
||||||
CONFIG_SBITMAP=y
|
CONFIG_SBITMAP=y
|
||||||
# CONFIG_STRING_SELFTEST is not set
|
# CONFIG_STRING_SELFTEST is not set
|
||||||
|
|
||||||
|
## LinuxIO - iSCSI Target modules
|
||||||
|
CONFIG_TARGET_CORE=m
|
||||||
|
CONFIG_ISCSI_TARGET=m
|
||||||
|
CONFIG_TCM_IBLOCK=m
|
||||||
|
CONFIG_TCM_FILEIO=m
|
||||||
|
CONFIG_TCM_PSCSI=m
|
||||||
|
CONFIG_TCM_USER2=m
|
||||||
|
|
||||||
|
|
|
@ -1987,7 +1987,6 @@ CONFIG_DM_SWITCH=m
|
||||||
CONFIG_DM_LOG_WRITES=m
|
CONFIG_DM_LOG_WRITES=m
|
||||||
CONFIG_DM_INTEGRITY=m
|
CONFIG_DM_INTEGRITY=m
|
||||||
CONFIG_DM_ZONED=m
|
CONFIG_DM_ZONED=m
|
||||||
CONFIG_TARGET_CORE=m
|
|
||||||
# CONFIG_TCM_IBLOCK is not set
|
# CONFIG_TCM_IBLOCK is not set
|
||||||
# CONFIG_TCM_FILEIO is not set
|
# CONFIG_TCM_FILEIO is not set
|
||||||
# CONFIG_TCM_PSCSI is not set
|
# CONFIG_TCM_PSCSI is not set
|
||||||
|
@ -6988,3 +6987,12 @@ CONFIG_UNCOMPRESS_INCLUDE="debug/uncompress.h"
|
||||||
# CONFIG_PID_IN_CONTEXTIDR is not set
|
# CONFIG_PID_IN_CONTEXTIDR is not set
|
||||||
# CONFIG_CORESIGHT is not set
|
# CONFIG_CORESIGHT is not set
|
||||||
# end of Kernel hacking
|
# end of Kernel hacking
|
||||||
|
|
||||||
|
## LinuxIO - iSCSI Target modules
|
||||||
|
CONFIG_TARGET_CORE=m
|
||||||
|
CONFIG_ISCSI_TARGET=m
|
||||||
|
CONFIG_TCM_IBLOCK=m
|
||||||
|
CONFIG_TCM_FILEIO=m
|
||||||
|
CONFIG_TCM_PSCSI=m
|
||||||
|
CONFIG_TCM_USER2=m
|
||||||
|
|
||||||
|
|
|
@ -1971,7 +1971,6 @@ CONFIG_DM_SWITCH=m
|
||||||
CONFIG_DM_LOG_WRITES=m
|
CONFIG_DM_LOG_WRITES=m
|
||||||
CONFIG_DM_INTEGRITY=m
|
CONFIG_DM_INTEGRITY=m
|
||||||
CONFIG_DM_ZONED=m
|
CONFIG_DM_ZONED=m
|
||||||
CONFIG_TARGET_CORE=m
|
|
||||||
# CONFIG_TCM_IBLOCK is not set
|
# CONFIG_TCM_IBLOCK is not set
|
||||||
# CONFIG_TCM_FILEIO is not set
|
# CONFIG_TCM_FILEIO is not set
|
||||||
# CONFIG_TCM_PSCSI is not set
|
# CONFIG_TCM_PSCSI is not set
|
||||||
|
@ -7116,3 +7115,12 @@ CONFIG_TEST_FREE_PAGES=m
|
||||||
# CONFIG_MEMTEST is not set
|
# CONFIG_MEMTEST is not set
|
||||||
# end of Kernel Testing and Coverage
|
# end of Kernel Testing and Coverage
|
||||||
# end of Kernel hacking
|
# end of Kernel hacking
|
||||||
|
|
||||||
|
## LinuxIO - iSCSI Target modules
|
||||||
|
CONFIG_TARGET_CORE=m
|
||||||
|
CONFIG_ISCSI_TARGET=m
|
||||||
|
CONFIG_TCM_IBLOCK=m
|
||||||
|
CONFIG_TCM_FILEIO=m
|
||||||
|
CONFIG_TCM_PSCSI=m
|
||||||
|
CONFIG_TCM_USER2=m
|
||||||
|
|
||||||
|
|
|
@ -1829,7 +1829,6 @@ CONFIG_DM_VERITY_FEC=y
|
||||||
CONFIG_DM_SWITCH=m
|
CONFIG_DM_SWITCH=m
|
||||||
CONFIG_DM_LOG_WRITES=m
|
CONFIG_DM_LOG_WRITES=m
|
||||||
# CONFIG_DM_INTEGRITY is not set
|
# CONFIG_DM_INTEGRITY is not set
|
||||||
# CONFIG_TARGET_CORE is not set
|
|
||||||
CONFIG_NETDEVICES=y
|
CONFIG_NETDEVICES=y
|
||||||
CONFIG_MII=y
|
CONFIG_MII=y
|
||||||
CONFIG_NET_CORE=y
|
CONFIG_NET_CORE=y
|
||||||
|
@ -6164,3 +6163,12 @@ CONFIG_VIRTUALIZATION=y
|
||||||
CONFIG_VHOST_VSOCK=m
|
CONFIG_VHOST_VSOCK=m
|
||||||
CONFIG_VHOST=m
|
CONFIG_VHOST=m
|
||||||
# CONFIG_VHOST_CROSS_ENDIAN_LEGACY is not set
|
# CONFIG_VHOST_CROSS_ENDIAN_LEGACY is not set
|
||||||
|
|
||||||
|
## LinuxIO - iSCSI Target modules
|
||||||
|
CONFIG_TARGET_CORE=m
|
||||||
|
CONFIG_ISCSI_TARGET=m
|
||||||
|
CONFIG_TCM_IBLOCK=m
|
||||||
|
CONFIG_TCM_FILEIO=m
|
||||||
|
CONFIG_TCM_PSCSI=m
|
||||||
|
CONFIG_TCM_USER2=m
|
||||||
|
|
||||||
|
|
|
@ -1709,7 +1709,7 @@ CONFIG_MAC80211_STA_HASH_MAX_SIZE=0
|
||||||
# CONFIG_WIMAX is not set
|
# CONFIG_WIMAX is not set
|
||||||
CONFIG_RFKILL=y
|
CONFIG_RFKILL=y
|
||||||
CONFIG_RFKILL_LEDS=y
|
CONFIG_RFKILL_LEDS=y
|
||||||
# CONFIG_RFKILL_INPUT is not set
|
CONFIG_RFKILL_INPUT=y
|
||||||
# CONFIG_RFKILL_GPIO is not set
|
# CONFIG_RFKILL_GPIO is not set
|
||||||
# CONFIG_NET_9P is not set
|
# CONFIG_NET_9P is not set
|
||||||
# CONFIG_CAIF is not set
|
# CONFIG_CAIF is not set
|
||||||
|
@ -1979,7 +1979,6 @@ CONFIG_DM_VERITY=y
|
||||||
# CONFIG_DM_SWITCH is not set
|
# CONFIG_DM_SWITCH is not set
|
||||||
# CONFIG_DM_LOG_WRITES is not set
|
# CONFIG_DM_LOG_WRITES is not set
|
||||||
# CONFIG_DM_INTEGRITY is not set
|
# CONFIG_DM_INTEGRITY is not set
|
||||||
# CONFIG_TARGET_CORE is not set
|
|
||||||
CONFIG_NETDEVICES=y
|
CONFIG_NETDEVICES=y
|
||||||
CONFIG_MII=y
|
CONFIG_MII=y
|
||||||
CONFIG_NET_CORE=y
|
CONFIG_NET_CORE=y
|
||||||
|
@ -7095,3 +7094,12 @@ CONFIG_CC_HAS_SANCOV_TRACE_PC=y
|
||||||
# CONFIG_MEMTEST is not set
|
# CONFIG_MEMTEST is not set
|
||||||
# end of Kernel Testing and Coverage
|
# end of Kernel Testing and Coverage
|
||||||
# end of Kernel hacking
|
# end of Kernel hacking
|
||||||
|
|
||||||
|
## LinuxIO - iSCSI Target modules
|
||||||
|
CONFIG_TARGET_CORE=m
|
||||||
|
CONFIG_ISCSI_TARGET=m
|
||||||
|
CONFIG_TCM_IBLOCK=m
|
||||||
|
CONFIG_TCM_FILEIO=m
|
||||||
|
CONFIG_TCM_PSCSI=m
|
||||||
|
CONFIG_TCM_USER2=m
|
||||||
|
|
||||||
|
|
|
@ -1713,7 +1713,7 @@ CONFIG_MAC80211_STA_HASH_MAX_SIZE=0
|
||||||
# CONFIG_WIMAX is not set
|
# CONFIG_WIMAX is not set
|
||||||
CONFIG_RFKILL=y
|
CONFIG_RFKILL=y
|
||||||
CONFIG_RFKILL_LEDS=y
|
CONFIG_RFKILL_LEDS=y
|
||||||
# CONFIG_RFKILL_INPUT is not set
|
CONFIG_RFKILL_INPUT=y
|
||||||
# CONFIG_RFKILL_GPIO is not set
|
# CONFIG_RFKILL_GPIO is not set
|
||||||
# CONFIG_NET_9P is not set
|
# CONFIG_NET_9P is not set
|
||||||
# CONFIG_CAIF is not set
|
# CONFIG_CAIF is not set
|
||||||
|
@ -1984,7 +1984,6 @@ CONFIG_DM_VERITY=y
|
||||||
# CONFIG_DM_SWITCH is not set
|
# CONFIG_DM_SWITCH is not set
|
||||||
# CONFIG_DM_LOG_WRITES is not set
|
# CONFIG_DM_LOG_WRITES is not set
|
||||||
# CONFIG_DM_INTEGRITY is not set
|
# CONFIG_DM_INTEGRITY is not set
|
||||||
# CONFIG_TARGET_CORE is not set
|
|
||||||
CONFIG_NETDEVICES=y
|
CONFIG_NETDEVICES=y
|
||||||
CONFIG_MII=y
|
CONFIG_MII=y
|
||||||
CONFIG_NET_CORE=y
|
CONFIG_NET_CORE=y
|
||||||
|
@ -7123,3 +7122,12 @@ CONFIG_CC_HAS_SANCOV_TRACE_PC=y
|
||||||
# CONFIG_MEMTEST is not set
|
# CONFIG_MEMTEST is not set
|
||||||
# end of Kernel Testing and Coverage
|
# end of Kernel Testing and Coverage
|
||||||
# end of Kernel hacking
|
# end of Kernel hacking
|
||||||
|
|
||||||
|
## LinuxIO - iSCSI Target modules
|
||||||
|
CONFIG_TARGET_CORE=m
|
||||||
|
CONFIG_ISCSI_TARGET=m
|
||||||
|
CONFIG_TCM_IBLOCK=m
|
||||||
|
CONFIG_TCM_FILEIO=m
|
||||||
|
CONFIG_TCM_PSCSI=m
|
||||||
|
CONFIG_TCM_USER2=m
|
||||||
|
|
||||||
|
|
|
@ -1365,7 +1365,7 @@ CONFIG_MAC80211_STA_HASH_MAX_SIZE=0
|
||||||
CONFIG_RFKILL=y
|
CONFIG_RFKILL=y
|
||||||
CONFIG_RFKILL_PM=y
|
CONFIG_RFKILL_PM=y
|
||||||
CONFIG_RFKILL_LEDS=y
|
CONFIG_RFKILL_LEDS=y
|
||||||
# CONFIG_RFKILL_INPUT is not set
|
CONFIG_RFKILL_INPUT=y
|
||||||
# CONFIG_RFKILL_REGULATOR is not set
|
# CONFIG_RFKILL_REGULATOR is not set
|
||||||
# CONFIG_RFKILL_GPIO is not set
|
# CONFIG_RFKILL_GPIO is not set
|
||||||
# CONFIG_NET_9P is not set
|
# CONFIG_NET_9P is not set
|
||||||
|
@ -1620,7 +1620,6 @@ CONFIG_DM_VERITY=y
|
||||||
# CONFIG_DM_LOG_WRITES is not set
|
# CONFIG_DM_LOG_WRITES is not set
|
||||||
# CONFIG_DM_VERITY_AVB is not set
|
# CONFIG_DM_VERITY_AVB is not set
|
||||||
# CONFIG_DM_ANDROID_VERITY_AT_MOST_ONCE_DEFAULT_ENABLED is not set
|
# CONFIG_DM_ANDROID_VERITY_AT_MOST_ONCE_DEFAULT_ENABLED is not set
|
||||||
# CONFIG_TARGET_CORE is not set
|
|
||||||
CONFIG_NETDEVICES=y
|
CONFIG_NETDEVICES=y
|
||||||
CONFIG_MII=y
|
CONFIG_MII=y
|
||||||
CONFIG_NET_CORE=y
|
CONFIG_NET_CORE=y
|
||||||
|
@ -5679,3 +5678,12 @@ CONFIG_FONT_8x16=y
|
||||||
# CONFIG_SG_SPLIT is not set
|
# CONFIG_SG_SPLIT is not set
|
||||||
CONFIG_ARCH_HAS_SG_CHAIN=y
|
CONFIG_ARCH_HAS_SG_CHAIN=y
|
||||||
# CONFIG_VIRTUALIZATION is not set
|
# CONFIG_VIRTUALIZATION is not set
|
||||||
|
|
||||||
|
## LinuxIO - iSCSI Target modules
|
||||||
|
CONFIG_TARGET_CORE=m
|
||||||
|
CONFIG_ISCSI_TARGET=m
|
||||||
|
CONFIG_TCM_IBLOCK=m
|
||||||
|
CONFIG_TCM_FILEIO=m
|
||||||
|
CONFIG_TCM_PSCSI=m
|
||||||
|
CONFIG_TCM_USER2=m
|
||||||
|
|
||||||
|
|
|
@ -1380,7 +1380,7 @@ CONFIG_WIMAX_DEBUG_LEVEL=8
|
||||||
CONFIG_RFKILL=y
|
CONFIG_RFKILL=y
|
||||||
CONFIG_RFKILL_PM=y
|
CONFIG_RFKILL_PM=y
|
||||||
CONFIG_RFKILL_LEDS=y
|
CONFIG_RFKILL_LEDS=y
|
||||||
# CONFIG_RFKILL_INPUT is not set
|
CONFIG_RFKILL_INPUT=y
|
||||||
# CONFIG_RFKILL_REGULATOR is not set
|
# CONFIG_RFKILL_REGULATOR is not set
|
||||||
# CONFIG_RFKILL_GPIO is not set
|
# CONFIG_RFKILL_GPIO is not set
|
||||||
# CONFIG_NET_9P is not set
|
# CONFIG_NET_9P is not set
|
||||||
|
@ -1916,7 +1916,6 @@ CONFIG_DM_SWITCH=m
|
||||||
CONFIG_DM_LOG_WRITES=m
|
CONFIG_DM_LOG_WRITES=m
|
||||||
# CONFIG_DM_VERITY_AVB is not set
|
# CONFIG_DM_VERITY_AVB is not set
|
||||||
# CONFIG_DM_ANDROID_VERITY_AT_MOST_ONCE_DEFAULT_ENABLED is not set
|
# CONFIG_DM_ANDROID_VERITY_AT_MOST_ONCE_DEFAULT_ENABLED is not set
|
||||||
# CONFIG_TARGET_CORE is not set
|
|
||||||
# CONFIG_FUSION is not set
|
# CONFIG_FUSION is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -6675,3 +6674,12 @@ CONFIG_FONT_8x8=y
|
||||||
CONFIG_FONT_8x16=y
|
CONFIG_FONT_8x16=y
|
||||||
# CONFIG_SG_SPLIT is not set
|
# CONFIG_SG_SPLIT is not set
|
||||||
CONFIG_ARCH_HAS_SG_CHAIN=y
|
CONFIG_ARCH_HAS_SG_CHAIN=y
|
||||||
|
|
||||||
|
## LinuxIO - iSCSI Target modules
|
||||||
|
CONFIG_TARGET_CORE=m
|
||||||
|
CONFIG_ISCSI_TARGET=m
|
||||||
|
CONFIG_TCM_IBLOCK=m
|
||||||
|
CONFIG_TCM_FILEIO=m
|
||||||
|
CONFIG_TCM_PSCSI=m
|
||||||
|
CONFIG_TCM_USER2=m
|
||||||
|
|
||||||
|
|
|
@ -1700,7 +1700,7 @@ CONFIG_MAC80211_STA_HASH_MAX_SIZE=0
|
||||||
# CONFIG_WIMAX is not set
|
# CONFIG_WIMAX is not set
|
||||||
CONFIG_RFKILL=y
|
CONFIG_RFKILL=y
|
||||||
CONFIG_RFKILL_LEDS=y
|
CONFIG_RFKILL_LEDS=y
|
||||||
# CONFIG_RFKILL_INPUT is not set
|
CONFIG_RFKILL_INPUT=y
|
||||||
# CONFIG_RFKILL_GPIO is not set
|
# CONFIG_RFKILL_GPIO is not set
|
||||||
# CONFIG_NET_9P is not set
|
# CONFIG_NET_9P is not set
|
||||||
# CONFIG_CAIF is not set
|
# CONFIG_CAIF is not set
|
||||||
|
@ -1976,7 +1976,6 @@ CONFIG_DM_VERITY_FEC=y
|
||||||
CONFIG_DM_SWITCH=m
|
CONFIG_DM_SWITCH=m
|
||||||
CONFIG_DM_LOG_WRITES=m
|
CONFIG_DM_LOG_WRITES=m
|
||||||
CONFIG_DM_INTEGRITY=m
|
CONFIG_DM_INTEGRITY=m
|
||||||
# CONFIG_TARGET_CORE is not set
|
|
||||||
CONFIG_NETDEVICES=y
|
CONFIG_NETDEVICES=y
|
||||||
CONFIG_MII=y
|
CONFIG_MII=y
|
||||||
CONFIG_NET_CORE=y
|
CONFIG_NET_CORE=y
|
||||||
|
@ -7167,3 +7166,12 @@ CONFIG_CC_HAS_SANCOV_TRACE_PC=y
|
||||||
# CONFIG_MEMTEST is not set
|
# CONFIG_MEMTEST is not set
|
||||||
# end of Kernel Testing and Coverage
|
# end of Kernel Testing and Coverage
|
||||||
# end of Kernel hacking
|
# end of Kernel hacking
|
||||||
|
|
||||||
|
## LinuxIO - iSCSI Target modules
|
||||||
|
CONFIG_TARGET_CORE=m
|
||||||
|
CONFIG_ISCSI_TARGET=m
|
||||||
|
CONFIG_TCM_IBLOCK=m
|
||||||
|
CONFIG_TCM_FILEIO=m
|
||||||
|
CONFIG_TCM_PSCSI=m
|
||||||
|
CONFIG_TCM_USER2=m
|
||||||
|
|
||||||
|
|
|
@ -1970,7 +1970,6 @@ CONFIG_DM_VERITY=y
|
||||||
# CONFIG_DM_SWITCH is not set
|
# CONFIG_DM_SWITCH is not set
|
||||||
# CONFIG_DM_LOG_WRITES is not set
|
# CONFIG_DM_LOG_WRITES is not set
|
||||||
# CONFIG_DM_INTEGRITY is not set
|
# CONFIG_DM_INTEGRITY is not set
|
||||||
# CONFIG_TARGET_CORE is not set
|
|
||||||
CONFIG_NETDEVICES=y
|
CONFIG_NETDEVICES=y
|
||||||
CONFIG_MII=y
|
CONFIG_MII=y
|
||||||
CONFIG_NET_CORE=y
|
CONFIG_NET_CORE=y
|
||||||
|
@ -7161,3 +7160,12 @@ CONFIG_CC_HAS_SANCOV_TRACE_PC=y
|
||||||
# CONFIG_MEMTEST is not set
|
# CONFIG_MEMTEST is not set
|
||||||
# end of Kernel Testing and Coverage
|
# end of Kernel Testing and Coverage
|
||||||
# end of Kernel hacking
|
# end of Kernel hacking
|
||||||
|
|
||||||
|
## LinuxIO - iSCSI Target modules
|
||||||
|
CONFIG_TARGET_CORE=m
|
||||||
|
CONFIG_ISCSI_TARGET=m
|
||||||
|
CONFIG_TCM_IBLOCK=m
|
||||||
|
CONFIG_TCM_FILEIO=m
|
||||||
|
CONFIG_TCM_PSCSI=m
|
||||||
|
CONFIG_TCM_USER2=m
|
||||||
|
|
||||||
|
|
|
@ -1630,7 +1630,6 @@ CONFIG_DM_VERITY_HASH_PREFETCH_MIN_SIZE=1
|
||||||
# CONFIG_DM_LOG_WRITES is not set
|
# CONFIG_DM_LOG_WRITES is not set
|
||||||
# CONFIG_DM_VERITY_AVB is not set
|
# CONFIG_DM_VERITY_AVB is not set
|
||||||
# CONFIG_DM_ANDROID_VERITY_AT_MOST_ONCE_DEFAULT_ENABLED is not set
|
# CONFIG_DM_ANDROID_VERITY_AT_MOST_ONCE_DEFAULT_ENABLED is not set
|
||||||
# CONFIG_TARGET_CORE is not set
|
|
||||||
CONFIG_NETDEVICES=y
|
CONFIG_NETDEVICES=y
|
||||||
CONFIG_MII=y
|
CONFIG_MII=y
|
||||||
CONFIG_NET_CORE=y
|
CONFIG_NET_CORE=y
|
||||||
|
@ -5548,3 +5547,12 @@ CONFIG_FONT_8x16=y
|
||||||
# CONFIG_SG_SPLIT is not set
|
# CONFIG_SG_SPLIT is not set
|
||||||
CONFIG_ARCH_HAS_SG_CHAIN=y
|
CONFIG_ARCH_HAS_SG_CHAIN=y
|
||||||
# CONFIG_VIRTUALIZATION is not set
|
# CONFIG_VIRTUALIZATION is not set
|
||||||
|
|
||||||
|
## LinuxIO - iSCSI Target modules
|
||||||
|
CONFIG_TARGET_CORE=m
|
||||||
|
CONFIG_ISCSI_TARGET=m
|
||||||
|
CONFIG_TCM_IBLOCK=m
|
||||||
|
CONFIG_TCM_FILEIO=m
|
||||||
|
CONFIG_TCM_PSCSI=m
|
||||||
|
CONFIG_TCM_USER2=m
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#
|
#
|
||||||
# Automatically generated file; DO NOT EDIT.
|
# Automatically generated file; DO NOT EDIT.
|
||||||
# Linux/arm64 5.8.5 Kernel Configuration
|
# Linux/arm64 5.9.6 Kernel Configuration
|
||||||
#
|
#
|
||||||
CONFIG_CC_VERSION_TEXT="aarch64-none-linux-gnu-gcc (GNU Toolchain for the A-profile Architecture 9.2-2019.12 (arm-9.10)) 9.2.1 20191025"
|
CONFIG_CC_VERSION_TEXT="aarch64-none-linux-gnu-gcc (GNU Toolchain for the A-profile Architecture 9.2-2019.12 (arm-9.10)) 9.2.1 20191025"
|
||||||
CONFIG_CC_IS_GCC=y
|
CONFIG_CC_IS_GCC=y
|
||||||
|
@ -162,6 +162,7 @@ CONFIG_CGROUP_BPF=y
|
||||||
CONFIG_SOCK_CGROUP_DATA=y
|
CONFIG_SOCK_CGROUP_DATA=y
|
||||||
CONFIG_NAMESPACES=y
|
CONFIG_NAMESPACES=y
|
||||||
CONFIG_UTS_NS=y
|
CONFIG_UTS_NS=y
|
||||||
|
CONFIG_TIME_NS=y
|
||||||
CONFIG_IPC_NS=y
|
CONFIG_IPC_NS=y
|
||||||
CONFIG_USER_NS=y
|
CONFIG_USER_NS=y
|
||||||
CONFIG_PID_NS=y
|
CONFIG_PID_NS=y
|
||||||
|
@ -178,6 +179,7 @@ CONFIG_RD_LZMA=y
|
||||||
CONFIG_RD_XZ=y
|
CONFIG_RD_XZ=y
|
||||||
CONFIG_RD_LZO=y
|
CONFIG_RD_LZO=y
|
||||||
CONFIG_RD_LZ4=y
|
CONFIG_RD_LZ4=y
|
||||||
|
CONFIG_RD_ZSTD=y
|
||||||
CONFIG_BOOT_CONFIG=y
|
CONFIG_BOOT_CONFIG=y
|
||||||
CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y
|
CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y
|
||||||
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
|
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
|
||||||
|
@ -291,10 +293,12 @@ CONFIG_ARCH_SUNXI=y
|
||||||
# CONFIG_ARCH_BITMAIN is not set
|
# CONFIG_ARCH_BITMAIN is not set
|
||||||
# CONFIG_ARCH_BRCMSTB is not set
|
# CONFIG_ARCH_BRCMSTB is not set
|
||||||
# CONFIG_ARCH_EXYNOS is not set
|
# CONFIG_ARCH_EXYNOS is not set
|
||||||
|
# CONFIG_ARCH_SPARX5 is not set
|
||||||
# CONFIG_ARCH_K3 is not set
|
# CONFIG_ARCH_K3 is not set
|
||||||
# CONFIG_ARCH_LAYERSCAPE is not set
|
# CONFIG_ARCH_LAYERSCAPE is not set
|
||||||
# CONFIG_ARCH_LG1K is not set
|
# CONFIG_ARCH_LG1K is not set
|
||||||
# CONFIG_ARCH_HISI is not set
|
# CONFIG_ARCH_HISI is not set
|
||||||
|
# CONFIG_ARCH_KEEMBAY is not set
|
||||||
# CONFIG_ARCH_MEDIATEK is not set
|
# CONFIG_ARCH_MEDIATEK is not set
|
||||||
CONFIG_ARCH_MESON=y
|
CONFIG_ARCH_MESON=y
|
||||||
# CONFIG_ARCH_MVEBU is not set
|
# CONFIG_ARCH_MVEBU is not set
|
||||||
|
@ -406,7 +410,6 @@ CONFIG_XEN=y
|
||||||
CONFIG_FORCE_MAX_ZONEORDER=11
|
CONFIG_FORCE_MAX_ZONEORDER=11
|
||||||
CONFIG_UNMAP_KERNEL_AT_EL0=y
|
CONFIG_UNMAP_KERNEL_AT_EL0=y
|
||||||
CONFIG_HARDEN_BRANCH_PREDICTOR=y
|
CONFIG_HARDEN_BRANCH_PREDICTOR=y
|
||||||
CONFIG_HARDEN_EL2_VECTORS=y
|
|
||||||
CONFIG_ARM64_SSBD=y
|
CONFIG_ARM64_SSBD=y
|
||||||
CONFIG_RODATA_FULL_DEFAULT_ENABLED=y
|
CONFIG_RODATA_FULL_DEFAULT_ENABLED=y
|
||||||
# CONFIG_ARM64_SW_TTBR0_PAN is not set
|
# CONFIG_ARM64_SW_TTBR0_PAN is not set
|
||||||
|
@ -451,6 +454,8 @@ CONFIG_AS_HAS_CFI_NEGATE_RA_STATE=y
|
||||||
# ARMv8.4 architectural features
|
# ARMv8.4 architectural features
|
||||||
#
|
#
|
||||||
CONFIG_ARM64_AMU_EXTN=y
|
CONFIG_ARM64_AMU_EXTN=y
|
||||||
|
CONFIG_AS_HAS_ARMV8_4=y
|
||||||
|
CONFIG_ARM64_TLB_RANGE=y
|
||||||
# end of ARMv8.4 architectural features
|
# end of ARMv8.4 architectural features
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -599,6 +604,7 @@ CONFIG_ARM_PSCI_FW=y
|
||||||
# CONFIG_ARM_PSCI_CHECKER is not set
|
# CONFIG_ARM_PSCI_CHECKER is not set
|
||||||
CONFIG_HAVE_ARM_SMCCC=y
|
CONFIG_HAVE_ARM_SMCCC=y
|
||||||
CONFIG_HAVE_ARM_SMCCC_DISCOVERY=y
|
CONFIG_HAVE_ARM_SMCCC_DISCOVERY=y
|
||||||
|
CONFIG_ARM_SMCCC_SOC_ID=y
|
||||||
|
|
||||||
#
|
#
|
||||||
# Tegra firmware driver
|
# Tegra firmware driver
|
||||||
|
@ -689,7 +695,6 @@ CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
|
||||||
CONFIG_SECCOMP_FILTER=y
|
CONFIG_SECCOMP_FILTER=y
|
||||||
CONFIG_HAVE_ARCH_STACKLEAK=y
|
CONFIG_HAVE_ARCH_STACKLEAK=y
|
||||||
CONFIG_HAVE_STACKPROTECTOR=y
|
CONFIG_HAVE_STACKPROTECTOR=y
|
||||||
CONFIG_CC_HAS_STACKPROTECTOR_NONE=y
|
|
||||||
CONFIG_STACKPROTECTOR=y
|
CONFIG_STACKPROTECTOR=y
|
||||||
CONFIG_STACKPROTECTOR_STRONG=y
|
CONFIG_STACKPROTECTOR_STRONG=y
|
||||||
CONFIG_HAVE_CONTEXT_TRACKING=y
|
CONFIG_HAVE_CONTEXT_TRACKING=y
|
||||||
|
@ -705,7 +710,6 @@ CONFIG_ARCH_MMAP_RND_BITS=18
|
||||||
CONFIG_HAVE_ARCH_MMAP_RND_COMPAT_BITS=y
|
CONFIG_HAVE_ARCH_MMAP_RND_COMPAT_BITS=y
|
||||||
CONFIG_ARCH_MMAP_RND_COMPAT_BITS=11
|
CONFIG_ARCH_MMAP_RND_COMPAT_BITS=11
|
||||||
CONFIG_ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT=y
|
CONFIG_ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT=y
|
||||||
CONFIG_HAVE_COPY_THREAD_TLS=y
|
|
||||||
CONFIG_CLONE_BACKWARDS=y
|
CONFIG_CLONE_BACKWARDS=y
|
||||||
CONFIG_OLD_SIGSUSPEND3=y
|
CONFIG_OLD_SIGSUSPEND3=y
|
||||||
CONFIG_COMPAT_OLD_SIGACTION=y
|
CONFIG_COMPAT_OLD_SIGACTION=y
|
||||||
|
@ -836,7 +840,6 @@ CONFIG_SELECT_MEMORY_MODEL=y
|
||||||
CONFIG_SPARSEMEM_MANUAL=y
|
CONFIG_SPARSEMEM_MANUAL=y
|
||||||
CONFIG_SPARSEMEM=y
|
CONFIG_SPARSEMEM=y
|
||||||
CONFIG_NEED_MULTIPLE_NODES=y
|
CONFIG_NEED_MULTIPLE_NODES=y
|
||||||
CONFIG_HAVE_MEMORY_PRESENT=y
|
|
||||||
CONFIG_SPARSEMEM_EXTREME=y
|
CONFIG_SPARSEMEM_EXTREME=y
|
||||||
CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
|
CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
|
||||||
CONFIG_SPARSEMEM_VMEMMAP=y
|
CONFIG_SPARSEMEM_VMEMMAP=y
|
||||||
|
@ -1433,6 +1436,7 @@ CONFIG_NET_DSA_TAG_DSA=m
|
||||||
CONFIG_NET_DSA_TAG_EDSA=m
|
CONFIG_NET_DSA_TAG_EDSA=m
|
||||||
CONFIG_NET_DSA_TAG_MTK=m
|
CONFIG_NET_DSA_TAG_MTK=m
|
||||||
CONFIG_NET_DSA_TAG_KSZ=m
|
CONFIG_NET_DSA_TAG_KSZ=m
|
||||||
|
CONFIG_NET_DSA_TAG_RTL4_A=m
|
||||||
CONFIG_NET_DSA_TAG_OCELOT=m
|
CONFIG_NET_DSA_TAG_OCELOT=m
|
||||||
CONFIG_NET_DSA_TAG_QCA=m
|
CONFIG_NET_DSA_TAG_QCA=m
|
||||||
CONFIG_NET_DSA_TAG_LAN9303=m
|
CONFIG_NET_DSA_TAG_LAN9303=m
|
||||||
|
@ -1514,6 +1518,7 @@ CONFIG_NET_SCH_DEFAULT=y
|
||||||
# CONFIG_DEFAULT_FQ is not set
|
# CONFIG_DEFAULT_FQ is not set
|
||||||
# CONFIG_DEFAULT_CODEL is not set
|
# CONFIG_DEFAULT_CODEL is not set
|
||||||
# CONFIG_DEFAULT_FQ_CODEL is not set
|
# CONFIG_DEFAULT_FQ_CODEL is not set
|
||||||
|
# CONFIG_DEFAULT_FQ_PIE is not set
|
||||||
# CONFIG_DEFAULT_SFQ is not set
|
# CONFIG_DEFAULT_SFQ is not set
|
||||||
CONFIG_DEFAULT_PFIFO_FAST=y
|
CONFIG_DEFAULT_PFIFO_FAST=y
|
||||||
CONFIG_DEFAULT_NET_SCH="pfifo_fast"
|
CONFIG_DEFAULT_NET_SCH="pfifo_fast"
|
||||||
|
@ -1947,6 +1952,8 @@ CONFIG_PCIE_ROCKCHIP_EP=y
|
||||||
#
|
#
|
||||||
# CONFIG_PCIE_CADENCE_PLAT_HOST is not set
|
# CONFIG_PCIE_CADENCE_PLAT_HOST is not set
|
||||||
# CONFIG_PCIE_CADENCE_PLAT_EP is not set
|
# CONFIG_PCIE_CADENCE_PLAT_EP is not set
|
||||||
|
# CONFIG_PCI_J721E_HOST is not set
|
||||||
|
# CONFIG_PCI_J721E_EP is not set
|
||||||
# end of Cadence PCIe controllers support
|
# end of Cadence PCIe controllers support
|
||||||
# end of PCI controller drivers
|
# end of PCI controller drivers
|
||||||
|
|
||||||
|
@ -2106,9 +2113,13 @@ CONFIG_MTD_COMPLEX_MAPPINGS=y
|
||||||
# CONFIG_MTD_DOCG3 is not set
|
# CONFIG_MTD_DOCG3 is not set
|
||||||
# end of Self-contained MTD device drivers
|
# end of Self-contained MTD device drivers
|
||||||
|
|
||||||
|
#
|
||||||
|
# NAND
|
||||||
|
#
|
||||||
# CONFIG_MTD_ONENAND is not set
|
# CONFIG_MTD_ONENAND is not set
|
||||||
# CONFIG_MTD_RAW_NAND is not set
|
# CONFIG_MTD_RAW_NAND is not set
|
||||||
# CONFIG_MTD_SPI_NAND is not set
|
# CONFIG_MTD_SPI_NAND is not set
|
||||||
|
# end of NAND
|
||||||
|
|
||||||
#
|
#
|
||||||
# LPDDR & LPDDR2 PCM memory drivers
|
# LPDDR & LPDDR2 PCM memory drivers
|
||||||
|
@ -2118,7 +2129,6 @@ CONFIG_MTD_COMPLEX_MAPPINGS=y
|
||||||
|
|
||||||
CONFIG_MTD_SPI_NOR=y
|
CONFIG_MTD_SPI_NOR=y
|
||||||
CONFIG_MTD_SPI_NOR_USE_4K_SECTORS=y
|
CONFIG_MTD_SPI_NOR_USE_4K_SECTORS=y
|
||||||
# CONFIG_SPI_CADENCE_QUADSPI is not set
|
|
||||||
# CONFIG_MTD_UBI is not set
|
# CONFIG_MTD_UBI is not set
|
||||||
CONFIG_MTD_HYPERBUS=m
|
CONFIG_MTD_HYPERBUS=m
|
||||||
CONFIG_HBMC_AM654=m
|
CONFIG_HBMC_AM654=m
|
||||||
|
@ -2177,6 +2187,7 @@ CONFIG_NVME_FABRICS=m
|
||||||
CONFIG_NVME_FC=m
|
CONFIG_NVME_FC=m
|
||||||
# CONFIG_NVME_TCP is not set
|
# CONFIG_NVME_TCP is not set
|
||||||
CONFIG_NVME_TARGET=m
|
CONFIG_NVME_TARGET=m
|
||||||
|
# CONFIG_NVME_TARGET_PASSTHRU is not set
|
||||||
CONFIG_NVME_TARGET_LOOP=m
|
CONFIG_NVME_TARGET_LOOP=m
|
||||||
CONFIG_NVME_TARGET_FC=m
|
CONFIG_NVME_TARGET_FC=m
|
||||||
# CONFIG_NVME_TARGET_FCLOOP is not set
|
# CONFIG_NVME_TARGET_FCLOOP is not set
|
||||||
|
@ -2455,7 +2466,7 @@ CONFIG_MD_CLUSTER=m
|
||||||
CONFIG_BCACHE=y
|
CONFIG_BCACHE=y
|
||||||
# CONFIG_BCACHE_DEBUG is not set
|
# CONFIG_BCACHE_DEBUG is not set
|
||||||
# CONFIG_BCACHE_CLOSURES_DEBUG is not set
|
# CONFIG_BCACHE_CLOSURES_DEBUG is not set
|
||||||
# CONFIG_BCACHE_ASYNC_REGISTRAION is not set
|
# CONFIG_BCACHE_ASYNC_REGISTRATION is not set
|
||||||
CONFIG_BLK_DEV_DM_BUILTIN=y
|
CONFIG_BLK_DEV_DM_BUILTIN=y
|
||||||
CONFIG_BLK_DEV_DM=m
|
CONFIG_BLK_DEV_DM=m
|
||||||
# CONFIG_DM_DEBUG is not set
|
# CONFIG_DM_DEBUG is not set
|
||||||
|
@ -2492,7 +2503,6 @@ CONFIG_DM_SWITCH=m
|
||||||
CONFIG_DM_LOG_WRITES=m
|
CONFIG_DM_LOG_WRITES=m
|
||||||
CONFIG_DM_INTEGRITY=m
|
CONFIG_DM_INTEGRITY=m
|
||||||
CONFIG_DM_ZONED=m
|
CONFIG_DM_ZONED=m
|
||||||
# CONFIG_TARGET_CORE is not set
|
|
||||||
# CONFIG_FUSION is not set
|
# CONFIG_FUSION is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -2741,8 +2751,8 @@ CONFIG_ENC28J60_WRITEVERIFY=y
|
||||||
# CONFIG_ENCX24J600 is not set
|
# CONFIG_ENCX24J600 is not set
|
||||||
# CONFIG_LAN743X is not set
|
# CONFIG_LAN743X is not set
|
||||||
CONFIG_NET_VENDOR_MICROSEMI=y
|
CONFIG_NET_VENDOR_MICROSEMI=y
|
||||||
|
CONFIG_MSCC_OCELOT_SWITCH_LIB=m
|
||||||
CONFIG_MSCC_OCELOT_SWITCH=m
|
CONFIG_MSCC_OCELOT_SWITCH=m
|
||||||
CONFIG_MSCC_OCELOT_SWITCH_OCELOT=m
|
|
||||||
CONFIG_NET_VENDOR_MYRI=y
|
CONFIG_NET_VENDOR_MYRI=y
|
||||||
# CONFIG_MYRI10GE is not set
|
# CONFIG_MYRI10GE is not set
|
||||||
# CONFIG_FEALNX is not set
|
# CONFIG_FEALNX is not set
|
||||||
|
@ -2840,6 +2850,7 @@ CONFIG_XILINX_LL_TEMAC=m
|
||||||
# CONFIG_HIPPI is not set
|
# CONFIG_HIPPI is not set
|
||||||
CONFIG_MDIO_DEVICE=y
|
CONFIG_MDIO_DEVICE=y
|
||||||
CONFIG_MDIO_BUS=y
|
CONFIG_MDIO_BUS=y
|
||||||
|
CONFIG_MDIO_DEVRES=y
|
||||||
CONFIG_MDIO_BCM_UNIMAC=m
|
CONFIG_MDIO_BCM_UNIMAC=m
|
||||||
CONFIG_MDIO_BITBANG=y
|
CONFIG_MDIO_BITBANG=y
|
||||||
CONFIG_MDIO_BUS_MUX=y
|
CONFIG_MDIO_BUS_MUX=y
|
||||||
|
@ -3105,7 +3116,11 @@ CONFIG_MT7603E=m
|
||||||
CONFIG_MT7615_COMMON=m
|
CONFIG_MT7615_COMMON=m
|
||||||
CONFIG_MT7615E=m
|
CONFIG_MT7615E=m
|
||||||
# CONFIG_MT7663U is not set
|
# CONFIG_MT7663U is not set
|
||||||
|
# CONFIG_MT7663S is not set
|
||||||
# CONFIG_MT7915E is not set
|
# CONFIG_MT7915E is not set
|
||||||
|
CONFIG_WLAN_VENDOR_MICROCHIP=y
|
||||||
|
# CONFIG_WILC1000_SDIO is not set
|
||||||
|
# CONFIG_WILC1000_SPI is not set
|
||||||
CONFIG_WLAN_VENDOR_RALINK=y
|
CONFIG_WLAN_VENDOR_RALINK=y
|
||||||
CONFIG_RT2X00=m
|
CONFIG_RT2X00=m
|
||||||
CONFIG_RT2400PCI=m
|
CONFIG_RT2400PCI=m
|
||||||
|
@ -3162,6 +3177,7 @@ CONFIG_RTW88=m
|
||||||
# CONFIG_RTW88_8822BE is not set
|
# CONFIG_RTW88_8822BE is not set
|
||||||
# CONFIG_RTW88_8822CE is not set
|
# CONFIG_RTW88_8822CE is not set
|
||||||
# CONFIG_RTW88_8723DE is not set
|
# CONFIG_RTW88_8723DE is not set
|
||||||
|
# CONFIG_RTW88_8821CE is not set
|
||||||
CONFIG_WLAN_VENDOR_RSI=y
|
CONFIG_WLAN_VENDOR_RSI=y
|
||||||
CONFIG_RSI_91X=m
|
CONFIG_RSI_91X=m
|
||||||
# CONFIG_RSI_DEBUGFS is not set
|
# CONFIG_RSI_DEBUGFS is not set
|
||||||
|
@ -3587,6 +3603,7 @@ CONFIG_VIRTIO_CONSOLE=y
|
||||||
# CONFIG_IPMB_DEVICE_INTERFACE is not set
|
# CONFIG_IPMB_DEVICE_INTERFACE is not set
|
||||||
CONFIG_HW_RANDOM=m
|
CONFIG_HW_RANDOM=m
|
||||||
# CONFIG_HW_RANDOM_TIMERIOMEM is not set
|
# CONFIG_HW_RANDOM_TIMERIOMEM is not set
|
||||||
|
# CONFIG_HW_RANDOM_BA431 is not set
|
||||||
# CONFIG_HW_RANDOM_VIRTIO is not set
|
# CONFIG_HW_RANDOM_VIRTIO is not set
|
||||||
CONFIG_HW_RANDOM_MESON=m
|
CONFIG_HW_RANDOM_MESON=m
|
||||||
CONFIG_HW_RANDOM_CAVIUM=m
|
CONFIG_HW_RANDOM_CAVIUM=m
|
||||||
|
@ -3711,6 +3728,7 @@ CONFIG_SPI_ALTERA=m
|
||||||
CONFIG_SPI_AXI_SPI_ENGINE=m
|
CONFIG_SPI_AXI_SPI_ENGINE=m
|
||||||
CONFIG_SPI_BITBANG=m
|
CONFIG_SPI_BITBANG=m
|
||||||
CONFIG_SPI_CADENCE=m
|
CONFIG_SPI_CADENCE=m
|
||||||
|
# CONFIG_SPI_CADENCE_QUADSPI is not set
|
||||||
CONFIG_SPI_DESIGNWARE=m
|
CONFIG_SPI_DESIGNWARE=m
|
||||||
# CONFIG_SPI_DW_DMA is not set
|
# CONFIG_SPI_DW_DMA is not set
|
||||||
CONFIG_SPI_DW_PCI=m
|
CONFIG_SPI_DW_PCI=m
|
||||||
|
@ -3864,6 +3882,7 @@ CONFIG_GPIO_MAX7300=m
|
||||||
CONFIG_GPIO_MAX732X=m
|
CONFIG_GPIO_MAX732X=m
|
||||||
CONFIG_GPIO_PCA953X=y
|
CONFIG_GPIO_PCA953X=y
|
||||||
CONFIG_GPIO_PCA953X_IRQ=y
|
CONFIG_GPIO_PCA953X_IRQ=y
|
||||||
|
# CONFIG_GPIO_PCA9570 is not set
|
||||||
CONFIG_GPIO_PCF857X=m
|
CONFIG_GPIO_PCF857X=m
|
||||||
CONFIG_GPIO_TPIC2810=m
|
CONFIG_GPIO_TPIC2810=m
|
||||||
# end of I2C GPIO expanders
|
# end of I2C GPIO expanders
|
||||||
|
@ -4001,6 +4020,7 @@ CONFIG_CHARGER_MAX77650=m
|
||||||
# CONFIG_CHARGER_BQ24190 is not set
|
# CONFIG_CHARGER_BQ24190 is not set
|
||||||
# CONFIG_CHARGER_BQ24257 is not set
|
# CONFIG_CHARGER_BQ24257 is not set
|
||||||
# CONFIG_CHARGER_BQ24735 is not set
|
# CONFIG_CHARGER_BQ24735 is not set
|
||||||
|
# CONFIG_CHARGER_BQ2515X is not set
|
||||||
# CONFIG_CHARGER_BQ25890 is not set
|
# CONFIG_CHARGER_BQ25890 is not set
|
||||||
# CONFIG_CHARGER_SMB347 is not set
|
# CONFIG_CHARGER_SMB347 is not set
|
||||||
# CONFIG_BATTERY_GAUGE_LTC2941 is not set
|
# CONFIG_BATTERY_GAUGE_LTC2941 is not set
|
||||||
|
@ -4040,6 +4060,7 @@ CONFIG_SENSORS_AXI_FAN_CONTROL=m
|
||||||
CONFIG_SENSORS_ARM_SCPI=m
|
CONFIG_SENSORS_ARM_SCPI=m
|
||||||
CONFIG_SENSORS_ASPEED=m
|
CONFIG_SENSORS_ASPEED=m
|
||||||
CONFIG_SENSORS_ATXP1=m
|
CONFIG_SENSORS_ATXP1=m
|
||||||
|
# CONFIG_SENSORS_CORSAIR_CPRO is not set
|
||||||
CONFIG_SENSORS_DRIVETEMP=m
|
CONFIG_SENSORS_DRIVETEMP=m
|
||||||
CONFIG_SENSORS_DS620=m
|
CONFIG_SENSORS_DS620=m
|
||||||
CONFIG_SENSORS_DS1621=m
|
CONFIG_SENSORS_DS1621=m
|
||||||
|
@ -4190,6 +4211,7 @@ CONFIG_SENSORS_W83L786NG=m
|
||||||
CONFIG_SENSORS_W83627HF=m
|
CONFIG_SENSORS_W83627HF=m
|
||||||
CONFIG_SENSORS_W83627EHF=m
|
CONFIG_SENSORS_W83627EHF=m
|
||||||
CONFIG_THERMAL=y
|
CONFIG_THERMAL=y
|
||||||
|
# CONFIG_THERMAL_NETLINK is not set
|
||||||
CONFIG_THERMAL_STATISTICS=y
|
CONFIG_THERMAL_STATISTICS=y
|
||||||
CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0
|
CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0
|
||||||
CONFIG_THERMAL_HWMON=y
|
CONFIG_THERMAL_HWMON=y
|
||||||
|
@ -4204,7 +4226,6 @@ CONFIG_THERMAL_GOV_BANG_BANG=y
|
||||||
CONFIG_THERMAL_GOV_USER_SPACE=y
|
CONFIG_THERMAL_GOV_USER_SPACE=y
|
||||||
CONFIG_CPU_THERMAL=y
|
CONFIG_CPU_THERMAL=y
|
||||||
CONFIG_CPU_FREQ_THERMAL=y
|
CONFIG_CPU_FREQ_THERMAL=y
|
||||||
CONFIG_CLOCK_THERMAL=y
|
|
||||||
CONFIG_DEVFREQ_THERMAL=y
|
CONFIG_DEVFREQ_THERMAL=y
|
||||||
CONFIG_THERMAL_EMULATION=y
|
CONFIG_THERMAL_EMULATION=y
|
||||||
CONFIG_THERMAL_MMIO=m
|
CONFIG_THERMAL_MMIO=m
|
||||||
|
@ -4354,7 +4375,6 @@ CONFIG_MFD_SEC_CORE=y
|
||||||
# CONFIG_MFD_SI476X_CORE is not set
|
# CONFIG_MFD_SI476X_CORE is not set
|
||||||
# CONFIG_MFD_SM501 is not set
|
# CONFIG_MFD_SM501 is not set
|
||||||
# CONFIG_MFD_SKY81452 is not set
|
# CONFIG_MFD_SKY81452 is not set
|
||||||
# CONFIG_MFD_SMSC is not set
|
|
||||||
# CONFIG_ABX500_CORE is not set
|
# CONFIG_ABX500_CORE is not set
|
||||||
# CONFIG_MFD_STMPE is not set
|
# CONFIG_MFD_STMPE is not set
|
||||||
CONFIG_MFD_SUN6I_PRCM=y
|
CONFIG_MFD_SUN6I_PRCM=y
|
||||||
|
@ -4398,6 +4418,7 @@ CONFIG_MFD_ROHM_BD70528=m
|
||||||
CONFIG_MFD_ROHM_BD71828=m
|
CONFIG_MFD_ROHM_BD71828=m
|
||||||
# CONFIG_MFD_STPMIC1 is not set
|
# CONFIG_MFD_STPMIC1 is not set
|
||||||
CONFIG_MFD_STMFX=m
|
CONFIG_MFD_STMFX=m
|
||||||
|
# CONFIG_MFD_KHADAS_MCU is not set
|
||||||
CONFIG_MFD_VEXPRESS_SYSREG=y
|
CONFIG_MFD_VEXPRESS_SYSREG=y
|
||||||
CONFIG_RAVE_SP_CORE=m
|
CONFIG_RAVE_SP_CORE=m
|
||||||
# end of Multifunction device drivers
|
# end of Multifunction device drivers
|
||||||
|
@ -4416,9 +4437,11 @@ CONFIG_REGULATOR_AS3722=m
|
||||||
CONFIG_REGULATOR_AXP20X=m
|
CONFIG_REGULATOR_AXP20X=m
|
||||||
CONFIG_REGULATOR_BD70528=m
|
CONFIG_REGULATOR_BD70528=m
|
||||||
CONFIG_REGULATOR_BD71828=m
|
CONFIG_REGULATOR_BD71828=m
|
||||||
|
# CONFIG_REGULATOR_CROS_EC is not set
|
||||||
# CONFIG_REGULATOR_DA9210 is not set
|
# CONFIG_REGULATOR_DA9210 is not set
|
||||||
# CONFIG_REGULATOR_DA9211 is not set
|
# CONFIG_REGULATOR_DA9211 is not set
|
||||||
CONFIG_REGULATOR_FAN53555=y
|
CONFIG_REGULATOR_FAN53555=y
|
||||||
|
# CONFIG_REGULATOR_FAN53880 is not set
|
||||||
CONFIG_REGULATOR_GPIO=y
|
CONFIG_REGULATOR_GPIO=y
|
||||||
# CONFIG_REGULATOR_ISL9305 is not set
|
# CONFIG_REGULATOR_ISL9305 is not set
|
||||||
# CONFIG_REGULATOR_ISL6271A is not set
|
# CONFIG_REGULATOR_ISL6271A is not set
|
||||||
|
@ -4442,12 +4465,14 @@ CONFIG_REGULATOR_MP8859=m
|
||||||
CONFIG_REGULATOR_MP886X=m
|
CONFIG_REGULATOR_MP886X=m
|
||||||
CONFIG_REGULATOR_MPQ7920=m
|
CONFIG_REGULATOR_MPQ7920=m
|
||||||
# CONFIG_REGULATOR_MT6311 is not set
|
# CONFIG_REGULATOR_MT6311 is not set
|
||||||
|
# CONFIG_REGULATOR_PCA9450 is not set
|
||||||
# CONFIG_REGULATOR_PFUZE100 is not set
|
# CONFIG_REGULATOR_PFUZE100 is not set
|
||||||
# CONFIG_REGULATOR_PV88060 is not set
|
# CONFIG_REGULATOR_PV88060 is not set
|
||||||
# CONFIG_REGULATOR_PV88080 is not set
|
# CONFIG_REGULATOR_PV88080 is not set
|
||||||
# CONFIG_REGULATOR_PV88090 is not set
|
# CONFIG_REGULATOR_PV88090 is not set
|
||||||
CONFIG_REGULATOR_PWM=y
|
CONFIG_REGULATOR_PWM=y
|
||||||
CONFIG_REGULATOR_QCOM_SPMI=y
|
CONFIG_REGULATOR_QCOM_SPMI=y
|
||||||
|
# CONFIG_REGULATOR_QCOM_USB_VBUS is not set
|
||||||
CONFIG_REGULATOR_RC5T583=m
|
CONFIG_REGULATOR_RC5T583=m
|
||||||
CONFIG_REGULATOR_RK808=y
|
CONFIG_REGULATOR_RK808=y
|
||||||
CONFIG_REGULATOR_RN5T618=m
|
CONFIG_REGULATOR_RN5T618=m
|
||||||
|
@ -4459,6 +4484,7 @@ CONFIG_REGULATOR_S2MPS11=y
|
||||||
CONFIG_REGULATOR_SLG51000=m
|
CONFIG_REGULATOR_SLG51000=m
|
||||||
# CONFIG_REGULATOR_SY8106A is not set
|
# CONFIG_REGULATOR_SY8106A is not set
|
||||||
CONFIG_REGULATOR_SY8824X=m
|
CONFIG_REGULATOR_SY8824X=m
|
||||||
|
# CONFIG_REGULATOR_SY8827N is not set
|
||||||
# CONFIG_REGULATOR_TPS51632 is not set
|
# CONFIG_REGULATOR_TPS51632 is not set
|
||||||
# CONFIG_REGULATOR_TPS62360 is not set
|
# CONFIG_REGULATOR_TPS62360 is not set
|
||||||
# CONFIG_REGULATOR_TPS65023 is not set
|
# CONFIG_REGULATOR_TPS65023 is not set
|
||||||
|
@ -4467,6 +4493,7 @@ CONFIG_REGULATOR_SY8824X=m
|
||||||
# CONFIG_REGULATOR_TPS6524X is not set
|
# CONFIG_REGULATOR_TPS6524X is not set
|
||||||
# CONFIG_REGULATOR_VCTRL is not set
|
# CONFIG_REGULATOR_VCTRL is not set
|
||||||
# CONFIG_REGULATOR_VEXPRESS is not set
|
# CONFIG_REGULATOR_VEXPRESS is not set
|
||||||
|
# CONFIG_REGULATOR_QCOM_LABIBB is not set
|
||||||
CONFIG_RC_CORE=m
|
CONFIG_RC_CORE=m
|
||||||
CONFIG_RC_MAP=m
|
CONFIG_RC_MAP=m
|
||||||
CONFIG_LIRC=y
|
CONFIG_LIRC=y
|
||||||
|
@ -4504,12 +4531,14 @@ CONFIG_IR_SERIAL=m
|
||||||
CONFIG_IR_SERIAL_TRANSMITTER=y
|
CONFIG_IR_SERIAL_TRANSMITTER=y
|
||||||
CONFIG_IR_SIR=m
|
CONFIG_IR_SIR=m
|
||||||
CONFIG_RC_XBOX_DVD=m
|
CONFIG_RC_XBOX_DVD=m
|
||||||
|
# CONFIG_IR_TOY is not set
|
||||||
CONFIG_CEC_CORE=m
|
CONFIG_CEC_CORE=m
|
||||||
CONFIG_CEC_NOTIFIER=y
|
CONFIG_CEC_NOTIFIER=y
|
||||||
CONFIG_CEC_PIN=y
|
CONFIG_CEC_PIN=y
|
||||||
CONFIG_MEDIA_CEC_RC=y
|
CONFIG_MEDIA_CEC_RC=y
|
||||||
CONFIG_CEC_PIN_ERROR_INJ=y
|
CONFIG_CEC_PIN_ERROR_INJ=y
|
||||||
CONFIG_MEDIA_CEC_SUPPORT=y
|
CONFIG_MEDIA_CEC_SUPPORT=y
|
||||||
|
# CONFIG_CEC_CH7322 is not set
|
||||||
# CONFIG_CEC_CROS_EC is not set
|
# CONFIG_CEC_CROS_EC is not set
|
||||||
# CONFIG_CEC_MESON_AO is not set
|
# CONFIG_CEC_MESON_AO is not set
|
||||||
# CONFIG_CEC_MESON_G12A_AO is not set
|
# CONFIG_CEC_MESON_G12A_AO is not set
|
||||||
|
@ -4864,6 +4893,7 @@ CONFIG_VIDEO_TW9903=m
|
||||||
CONFIG_VIDEO_TW9906=m
|
CONFIG_VIDEO_TW9906=m
|
||||||
CONFIG_VIDEO_TW9910=m
|
CONFIG_VIDEO_TW9910=m
|
||||||
CONFIG_VIDEO_VPX3220=m
|
CONFIG_VIDEO_VPX3220=m
|
||||||
|
# CONFIG_VIDEO_MAX9286 is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
# Video and audio decoders
|
# Video and audio decoders
|
||||||
|
@ -4931,7 +4961,6 @@ CONFIG_VIDEO_OV2640=m
|
||||||
CONFIG_VIDEO_OV2659=m
|
CONFIG_VIDEO_OV2659=m
|
||||||
CONFIG_VIDEO_OV2680=m
|
CONFIG_VIDEO_OV2680=m
|
||||||
CONFIG_VIDEO_OV2685=m
|
CONFIG_VIDEO_OV2685=m
|
||||||
# CONFIG_VIDEO_OV2740 is not set
|
|
||||||
CONFIG_VIDEO_OV5640=m
|
CONFIG_VIDEO_OV5640=m
|
||||||
CONFIG_VIDEO_OV5645=m
|
CONFIG_VIDEO_OV5645=m
|
||||||
CONFIG_VIDEO_OV5647=m
|
CONFIG_VIDEO_OV5647=m
|
||||||
|
@ -4961,6 +4990,7 @@ CONFIG_VIDEO_MT9V111=m
|
||||||
CONFIG_VIDEO_SR030PC30=m
|
CONFIG_VIDEO_SR030PC30=m
|
||||||
CONFIG_VIDEO_NOON010PC30=m
|
CONFIG_VIDEO_NOON010PC30=m
|
||||||
CONFIG_VIDEO_M5MOLS=m
|
CONFIG_VIDEO_M5MOLS=m
|
||||||
|
# CONFIG_VIDEO_RDACM20 is not set
|
||||||
CONFIG_VIDEO_RJ54N1=m
|
CONFIG_VIDEO_RJ54N1=m
|
||||||
CONFIG_VIDEO_S5K6AA=m
|
CONFIG_VIDEO_S5K6AA=m
|
||||||
CONFIG_VIDEO_S5K6A3=m
|
CONFIG_VIDEO_S5K6A3=m
|
||||||
|
@ -4977,6 +5007,7 @@ CONFIG_VIDEO_S5C73M3=m
|
||||||
CONFIG_VIDEO_AD5820=m
|
CONFIG_VIDEO_AD5820=m
|
||||||
CONFIG_VIDEO_AK7375=m
|
CONFIG_VIDEO_AK7375=m
|
||||||
CONFIG_VIDEO_DW9714=m
|
CONFIG_VIDEO_DW9714=m
|
||||||
|
# CONFIG_VIDEO_DW9768 is not set
|
||||||
CONFIG_VIDEO_DW9807_VCM=m
|
CONFIG_VIDEO_DW9807_VCM=m
|
||||||
# end of Lens drivers
|
# end of Lens drivers
|
||||||
|
|
||||||
|
@ -5325,7 +5356,6 @@ CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00=m
|
||||||
CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN=m
|
CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN=m
|
||||||
CONFIG_DRM_PANEL_RAYDIUM_RM67191=m
|
CONFIG_DRM_PANEL_RAYDIUM_RM67191=m
|
||||||
CONFIG_DRM_PANEL_RAYDIUM_RM68200=m
|
CONFIG_DRM_PANEL_RAYDIUM_RM68200=m
|
||||||
CONFIG_DRM_PANEL_ROCKTECH_JH057N00900=m
|
|
||||||
CONFIG_DRM_PANEL_RONBO_RB070D30=m
|
CONFIG_DRM_PANEL_RONBO_RB070D30=m
|
||||||
CONFIG_DRM_PANEL_SAMSUNG_S6D16D0=m
|
CONFIG_DRM_PANEL_SAMSUNG_S6D16D0=m
|
||||||
CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2=m
|
CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2=m
|
||||||
|
@ -5338,6 +5368,7 @@ CONFIG_DRM_PANEL_SHARP_LQ101R1SX01=m
|
||||||
CONFIG_DRM_PANEL_SHARP_LS037V7DW01=m
|
CONFIG_DRM_PANEL_SHARP_LS037V7DW01=m
|
||||||
CONFIG_DRM_PANEL_SHARP_LS043T1LE01=m
|
CONFIG_DRM_PANEL_SHARP_LS043T1LE01=m
|
||||||
CONFIG_DRM_PANEL_SITRONIX_ST7701=m
|
CONFIG_DRM_PANEL_SITRONIX_ST7701=m
|
||||||
|
# CONFIG_DRM_PANEL_SITRONIX_ST7703 is not set
|
||||||
# CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set
|
# CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set
|
||||||
CONFIG_DRM_PANEL_SONY_ACX424AKP=m
|
CONFIG_DRM_PANEL_SONY_ACX424AKP=m
|
||||||
CONFIG_DRM_PANEL_SONY_ACX565AKM=m
|
CONFIG_DRM_PANEL_SONY_ACX565AKM=m
|
||||||
|
@ -5500,7 +5531,6 @@ CONFIG_LCD_CLASS_DEVICE=m
|
||||||
# CONFIG_LCD_HX8357 is not set
|
# CONFIG_LCD_HX8357 is not set
|
||||||
CONFIG_LCD_OTM3225A=m
|
CONFIG_LCD_OTM3225A=m
|
||||||
CONFIG_BACKLIGHT_CLASS_DEVICE=y
|
CONFIG_BACKLIGHT_CLASS_DEVICE=y
|
||||||
CONFIG_BACKLIGHT_GENERIC=m
|
|
||||||
CONFIG_BACKLIGHT_LM3533=m
|
CONFIG_BACKLIGHT_LM3533=m
|
||||||
CONFIG_BACKLIGHT_PWM=m
|
CONFIG_BACKLIGHT_PWM=m
|
||||||
CONFIG_BACKLIGHT_QCOM_WLED=m
|
CONFIG_BACKLIGHT_QCOM_WLED=m
|
||||||
|
@ -5700,6 +5730,7 @@ CONFIG_SND_SOC_FSL_MICFIL=m
|
||||||
|
|
||||||
# CONFIG_SND_I2S_HI6210_I2S is not set
|
# CONFIG_SND_I2S_HI6210_I2S is not set
|
||||||
# CONFIG_SND_SOC_IMG is not set
|
# CONFIG_SND_SOC_IMG is not set
|
||||||
|
# CONFIG_SND_SOC_INTEL_KEEMBAY is not set
|
||||||
# CONFIG_SND_SOC_MTK_BTCVSD is not set
|
# CONFIG_SND_SOC_MTK_BTCVSD is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -5822,7 +5853,7 @@ CONFIG_SND_SOC_MAX98357A=m
|
||||||
# CONFIG_SND_SOC_MAX98504 is not set
|
# CONFIG_SND_SOC_MAX98504 is not set
|
||||||
CONFIG_SND_SOC_MAX9867=m
|
CONFIG_SND_SOC_MAX9867=m
|
||||||
# CONFIG_SND_SOC_MAX98927 is not set
|
# CONFIG_SND_SOC_MAX98927 is not set
|
||||||
CONFIG_SND_SOC_MAX98373=m
|
# CONFIG_SND_SOC_MAX98373_I2C is not set
|
||||||
# CONFIG_SND_SOC_MAX98390 is not set
|
# CONFIG_SND_SOC_MAX98390 is not set
|
||||||
# CONFIG_SND_SOC_MAX9860 is not set
|
# CONFIG_SND_SOC_MAX9860 is not set
|
||||||
# CONFIG_SND_SOC_MSM8916_WCD_ANALOG is not set
|
# CONFIG_SND_SOC_MSM8916_WCD_ANALOG is not set
|
||||||
|
@ -6088,8 +6119,8 @@ CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
|
||||||
CONFIG_USB_DEFAULT_PERSIST=y
|
CONFIG_USB_DEFAULT_PERSIST=y
|
||||||
# CONFIG_USB_DYNAMIC_MINORS is not set
|
# CONFIG_USB_DYNAMIC_MINORS is not set
|
||||||
CONFIG_USB_OTG=y
|
CONFIG_USB_OTG=y
|
||||||
# CONFIG_USB_OTG_WHITELIST is not set
|
# CONFIG_USB_OTG_PRODUCTLIST is not set
|
||||||
# CONFIG_USB_OTG_BLACKLIST_HUB is not set
|
# CONFIG_USB_OTG_DISABLE_EXTERNAL_HUB is not set
|
||||||
CONFIG_USB_OTG_FSM=m
|
CONFIG_USB_OTG_FSM=m
|
||||||
CONFIG_USB_LEDS_TRIGGER_USBPORT=y
|
CONFIG_USB_LEDS_TRIGGER_USBPORT=y
|
||||||
CONFIG_USB_AUTOSUSPEND_DELAY=2
|
CONFIG_USB_AUTOSUSPEND_DELAY=2
|
||||||
|
@ -6504,6 +6535,7 @@ CONFIG_MMC_SDHCI_AM654=m
|
||||||
CONFIG_NEW_LEDS=y
|
CONFIG_NEW_LEDS=y
|
||||||
CONFIG_LEDS_CLASS=y
|
CONFIG_LEDS_CLASS=y
|
||||||
# CONFIG_LEDS_CLASS_FLASH is not set
|
# CONFIG_LEDS_CLASS_FLASH is not set
|
||||||
|
# CONFIG_LEDS_CLASS_MULTICOLOR is not set
|
||||||
# CONFIG_LEDS_BRIGHTNESS_HW_CHANGED is not set
|
# CONFIG_LEDS_BRIGHTNESS_HW_CHANGED is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -6524,10 +6556,7 @@ CONFIG_LEDS_LM3692X=m
|
||||||
CONFIG_LEDS_GPIO=y
|
CONFIG_LEDS_GPIO=y
|
||||||
# CONFIG_LEDS_LP3944 is not set
|
# CONFIG_LEDS_LP3944 is not set
|
||||||
# CONFIG_LEDS_LP3952 is not set
|
# CONFIG_LEDS_LP3952 is not set
|
||||||
# CONFIG_LEDS_LP5521 is not set
|
# CONFIG_LEDS_LP55XX_COMMON is not set
|
||||||
# CONFIG_LEDS_LP5523 is not set
|
|
||||||
# CONFIG_LEDS_LP5562 is not set
|
|
||||||
# CONFIG_LEDS_LP8501 is not set
|
|
||||||
# CONFIG_LEDS_LP8860 is not set
|
# CONFIG_LEDS_LP8860 is not set
|
||||||
# CONFIG_LEDS_PCA955X is not set
|
# CONFIG_LEDS_PCA955X is not set
|
||||||
# CONFIG_LEDS_PCA963X is not set
|
# CONFIG_LEDS_PCA963X is not set
|
||||||
|
@ -6737,6 +6766,7 @@ CONFIG_PL330_DMA=y
|
||||||
CONFIG_PLX_DMA=m
|
CONFIG_PLX_DMA=m
|
||||||
# CONFIG_XILINX_DMA is not set
|
# CONFIG_XILINX_DMA is not set
|
||||||
# CONFIG_XILINX_ZYNQMP_DMA is not set
|
# CONFIG_XILINX_ZYNQMP_DMA is not set
|
||||||
|
# CONFIG_XILINX_ZYNQMP_DPDMA is not set
|
||||||
CONFIG_QCOM_HIDMA_MGMT=y
|
CONFIG_QCOM_HIDMA_MGMT=y
|
||||||
CONFIG_QCOM_HIDMA=y
|
CONFIG_QCOM_HIDMA=y
|
||||||
# CONFIG_DW_DMAC is not set
|
# CONFIG_DW_DMAC is not set
|
||||||
|
@ -6908,13 +6938,6 @@ CONFIG_AD9834=m
|
||||||
# end of IIO staging drivers
|
# end of IIO staging drivers
|
||||||
|
|
||||||
CONFIG_FB_SM750=m
|
CONFIG_FB_SM750=m
|
||||||
|
|
||||||
#
|
|
||||||
# Speakup console speech
|
|
||||||
#
|
|
||||||
# CONFIG_SPEAKUP is not set
|
|
||||||
# end of Speakup console speech
|
|
||||||
|
|
||||||
CONFIG_STAGING_MEDIA=y
|
CONFIG_STAGING_MEDIA=y
|
||||||
CONFIG_VIDEO_HANTRO=m
|
CONFIG_VIDEO_HANTRO=m
|
||||||
CONFIG_VIDEO_HANTRO_ROCKCHIP=y
|
CONFIG_VIDEO_HANTRO_ROCKCHIP=y
|
||||||
|
@ -6922,10 +6945,6 @@ CONFIG_VIDEO_MESON_VDEC=m
|
||||||
CONFIG_VIDEO_ROCKCHIP_VDEC=m
|
CONFIG_VIDEO_ROCKCHIP_VDEC=m
|
||||||
CONFIG_VIDEO_SUNXI=y
|
CONFIG_VIDEO_SUNXI=y
|
||||||
CONFIG_VIDEO_SUNXI_CEDRUS=m
|
CONFIG_VIDEO_SUNXI_CEDRUS=m
|
||||||
|
|
||||||
#
|
|
||||||
# soc_camera sensor drivers
|
|
||||||
#
|
|
||||||
CONFIG_PHY_ROCKCHIP_DPHY_RX0=m
|
CONFIG_PHY_ROCKCHIP_DPHY_RX0=m
|
||||||
CONFIG_VIDEO_ROCKCHIP_ISP1=m
|
CONFIG_VIDEO_ROCKCHIP_ISP1=m
|
||||||
CONFIG_VIDEO_USBVISION=m
|
CONFIG_VIDEO_USBVISION=m
|
||||||
|
@ -6939,7 +6958,6 @@ CONFIG_VIDEO_USBVISION=m
|
||||||
# CONFIG_LTE_GDM724X is not set
|
# CONFIG_LTE_GDM724X is not set
|
||||||
# CONFIG_GS_FPGABOOT is not set
|
# CONFIG_GS_FPGABOOT is not set
|
||||||
# CONFIG_UNISYSSPAR is not set
|
# CONFIG_UNISYSSPAR is not set
|
||||||
# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set
|
|
||||||
CONFIG_FB_TFT=m
|
CONFIG_FB_TFT=m
|
||||||
CONFIG_FB_TFT_AGM1264K_FL=m
|
CONFIG_FB_TFT_AGM1264K_FL=m
|
||||||
CONFIG_FB_TFT_BD663474=m
|
CONFIG_FB_TFT_BD663474=m
|
||||||
|
@ -6974,8 +6992,6 @@ CONFIG_FB_TFT_UC1701=m
|
||||||
CONFIG_FB_TFT_UPD161704=m
|
CONFIG_FB_TFT_UPD161704=m
|
||||||
CONFIG_FB_TFT_WATTEROTT=m
|
CONFIG_FB_TFT_WATTEROTT=m
|
||||||
CONFIG_FUSB_30X=m
|
CONFIG_FUSB_30X=m
|
||||||
# CONFIG_WILC1000_SDIO is not set
|
|
||||||
# CONFIG_WILC1000_SPI is not set
|
|
||||||
# CONFIG_MOST_COMPONENTS is not set
|
# CONFIG_MOST_COMPONENTS is not set
|
||||||
# CONFIG_KS7010 is not set
|
# CONFIG_KS7010 is not set
|
||||||
# CONFIG_PI433 is not set
|
# CONFIG_PI433 is not set
|
||||||
|
@ -7247,6 +7263,7 @@ CONFIG_BMA180=m
|
||||||
CONFIG_BMA220=m
|
CONFIG_BMA220=m
|
||||||
CONFIG_BMA400=m
|
CONFIG_BMA400=m
|
||||||
CONFIG_BMA400_I2C=m
|
CONFIG_BMA400_I2C=m
|
||||||
|
CONFIG_BMA400_SPI=m
|
||||||
CONFIG_BMC150_ACCEL=m
|
CONFIG_BMC150_ACCEL=m
|
||||||
CONFIG_BMC150_ACCEL_I2C=m
|
CONFIG_BMC150_ACCEL_I2C=m
|
||||||
CONFIG_BMC150_ACCEL_SPI=m
|
CONFIG_BMC150_ACCEL_SPI=m
|
||||||
|
@ -7375,6 +7392,7 @@ CONFIG_BME680_SPI=m
|
||||||
# CONFIG_CCS811 is not set
|
# CONFIG_CCS811 is not set
|
||||||
# CONFIG_IAQCORE is not set
|
# CONFIG_IAQCORE is not set
|
||||||
CONFIG_PMS7003=m
|
CONFIG_PMS7003=m
|
||||||
|
# CONFIG_SCD30_CORE is not set
|
||||||
CONFIG_SENSIRION_SGP30=m
|
CONFIG_SENSIRION_SGP30=m
|
||||||
CONFIG_SPS30=m
|
CONFIG_SPS30=m
|
||||||
# CONFIG_VZ89X is not set
|
# CONFIG_VZ89X is not set
|
||||||
|
@ -7532,6 +7550,8 @@ CONFIG_FXOS8700=m
|
||||||
CONFIG_FXOS8700_I2C=m
|
CONFIG_FXOS8700_I2C=m
|
||||||
CONFIG_FXOS8700_SPI=m
|
CONFIG_FXOS8700_SPI=m
|
||||||
# CONFIG_KMX61 is not set
|
# CONFIG_KMX61 is not set
|
||||||
|
# CONFIG_INV_ICM42600_I2C is not set
|
||||||
|
# CONFIG_INV_ICM42600_SPI is not set
|
||||||
# CONFIG_INV_MPU6050_I2C is not set
|
# CONFIG_INV_MPU6050_I2C is not set
|
||||||
# CONFIG_INV_MPU6050_SPI is not set
|
# CONFIG_INV_MPU6050_SPI is not set
|
||||||
# CONFIG_IIO_ST_LSM6DSX is not set
|
# CONFIG_IIO_ST_LSM6DSX is not set
|
||||||
|
@ -7881,7 +7901,9 @@ CONFIG_PM_OPP=y
|
||||||
# CONFIG_INTERCONNECT is not set
|
# CONFIG_INTERCONNECT is not set
|
||||||
CONFIG_COUNTER=m
|
CONFIG_COUNTER=m
|
||||||
CONFIG_FTM_QUADDEC=m
|
CONFIG_FTM_QUADDEC=m
|
||||||
|
# CONFIG_MICROCHIP_TCB_CAPTURE is not set
|
||||||
CONFIG_MOST=m
|
CONFIG_MOST=m
|
||||||
|
# CONFIG_MOST_USB_HDM is not set
|
||||||
# end of Device Drivers
|
# end of Device Drivers
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -8037,6 +8059,7 @@ CONFIG_SYSFS=y
|
||||||
CONFIG_TMPFS=y
|
CONFIG_TMPFS=y
|
||||||
CONFIG_TMPFS_POSIX_ACL=y
|
CONFIG_TMPFS_POSIX_ACL=y
|
||||||
CONFIG_TMPFS_XATTR=y
|
CONFIG_TMPFS_XATTR=y
|
||||||
|
# CONFIG_TMPFS_INODE64 is not set
|
||||||
CONFIG_HUGETLBFS=y
|
CONFIG_HUGETLBFS=y
|
||||||
CONFIG_HUGETLB_PAGE=y
|
CONFIG_HUGETLB_PAGE=y
|
||||||
CONFIG_MEMFD_CREATE=y
|
CONFIG_MEMFD_CREATE=y
|
||||||
|
@ -8130,25 +8153,6 @@ CONFIG_EROFS_FS_XATTR=y
|
||||||
CONFIG_EROFS_FS_POSIX_ACL=y
|
CONFIG_EROFS_FS_POSIX_ACL=y
|
||||||
CONFIG_EROFS_FS_SECURITY=y
|
CONFIG_EROFS_FS_SECURITY=y
|
||||||
# CONFIG_EROFS_FS_ZIP is not set
|
# CONFIG_EROFS_FS_ZIP is not set
|
||||||
CONFIG_AUFS_FS=m
|
|
||||||
CONFIG_AUFS_BRANCH_MAX_127=y
|
|
||||||
# CONFIG_AUFS_BRANCH_MAX_511 is not set
|
|
||||||
# CONFIG_AUFS_BRANCH_MAX_1023 is not set
|
|
||||||
# CONFIG_AUFS_BRANCH_MAX_32767 is not set
|
|
||||||
CONFIG_AUFS_SBILIST=y
|
|
||||||
# CONFIG_AUFS_HNOTIFY is not set
|
|
||||||
CONFIG_AUFS_EXPORT=y
|
|
||||||
CONFIG_AUFS_INO_T_64=y
|
|
||||||
CONFIG_AUFS_XATTR=y
|
|
||||||
# CONFIG_AUFS_FHSM is not set
|
|
||||||
# CONFIG_AUFS_RDU is not set
|
|
||||||
CONFIG_AUFS_DIRREN=y
|
|
||||||
# CONFIG_AUFS_SHWH is not set
|
|
||||||
# CONFIG_AUFS_BR_RAMFS is not set
|
|
||||||
# CONFIG_AUFS_BR_FUSE is not set
|
|
||||||
CONFIG_AUFS_BR_HFSPLUS=y
|
|
||||||
CONFIG_AUFS_BDEV_LOOP=y
|
|
||||||
# CONFIG_AUFS_DEBUG is not set
|
|
||||||
CONFIG_NETWORK_FILESYSTEMS=y
|
CONFIG_NETWORK_FILESYSTEMS=y
|
||||||
CONFIG_NFS_FS=m
|
CONFIG_NFS_FS=m
|
||||||
CONFIG_NFS_V2=m
|
CONFIG_NFS_V2=m
|
||||||
|
@ -8178,6 +8182,7 @@ CONFIG_NFSD_PNFS=y
|
||||||
CONFIG_NFSD_BLOCKLAYOUT=y
|
CONFIG_NFSD_BLOCKLAYOUT=y
|
||||||
CONFIG_NFSD_SCSILAYOUT=y
|
CONFIG_NFSD_SCSILAYOUT=y
|
||||||
CONFIG_NFSD_FLEXFILELAYOUT=y
|
CONFIG_NFSD_FLEXFILELAYOUT=y
|
||||||
|
# CONFIG_NFSD_V4_2_INTER_SSC is not set
|
||||||
CONFIG_NFSD_V4_SECURITY_LABEL=y
|
CONFIG_NFSD_V4_SECURITY_LABEL=y
|
||||||
CONFIG_GRACE_PERIOD=m
|
CONFIG_GRACE_PERIOD=m
|
||||||
CONFIG_LOCKD=m
|
CONFIG_LOCKD=m
|
||||||
|
@ -8656,6 +8661,7 @@ CONFIG_DECOMPRESS_LZMA=y
|
||||||
CONFIG_DECOMPRESS_XZ=y
|
CONFIG_DECOMPRESS_XZ=y
|
||||||
CONFIG_DECOMPRESS_LZO=y
|
CONFIG_DECOMPRESS_LZO=y
|
||||||
CONFIG_DECOMPRESS_LZ4=y
|
CONFIG_DECOMPRESS_LZ4=y
|
||||||
|
CONFIG_DECOMPRESS_ZSTD=y
|
||||||
CONFIG_GENERIC_ALLOCATOR=y
|
CONFIG_GENERIC_ALLOCATOR=y
|
||||||
CONFIG_REED_SOLOMON=m
|
CONFIG_REED_SOLOMON=m
|
||||||
CONFIG_REED_SOLOMON_ENC8=y
|
CONFIG_REED_SOLOMON_ENC8=y
|
||||||
|
@ -8672,6 +8678,7 @@ CONFIG_ASSOCIATIVE_ARRAY=y
|
||||||
CONFIG_HAS_IOMEM=y
|
CONFIG_HAS_IOMEM=y
|
||||||
CONFIG_HAS_IOPORT_MAP=y
|
CONFIG_HAS_IOPORT_MAP=y
|
||||||
CONFIG_HAS_DMA=y
|
CONFIG_HAS_DMA=y
|
||||||
|
CONFIG_DMA_OPS=y
|
||||||
CONFIG_NEED_SG_DMA_LENGTH=y
|
CONFIG_NEED_SG_DMA_LENGTH=y
|
||||||
CONFIG_NEED_DMA_MAP_STATE=y
|
CONFIG_NEED_DMA_MAP_STATE=y
|
||||||
CONFIG_ARCH_DMA_ADDR_T_64BIT=y
|
CONFIG_ARCH_DMA_ADDR_T_64BIT=y
|
||||||
|
@ -8715,6 +8722,7 @@ CONFIG_OID_REGISTRY=y
|
||||||
CONFIG_UCS2_STRING=y
|
CONFIG_UCS2_STRING=y
|
||||||
CONFIG_HAVE_GENERIC_VDSO=y
|
CONFIG_HAVE_GENERIC_VDSO=y
|
||||||
CONFIG_GENERIC_GETTIMEOFDAY=y
|
CONFIG_GENERIC_GETTIMEOFDAY=y
|
||||||
|
CONFIG_GENERIC_VDSO_TIME_NS=y
|
||||||
CONFIG_FONT_SUPPORT=y
|
CONFIG_FONT_SUPPORT=y
|
||||||
CONFIG_FONTS=y
|
CONFIG_FONTS=y
|
||||||
CONFIG_FONT_8x8=y
|
CONFIG_FONT_8x8=y
|
||||||
|
@ -8765,6 +8773,7 @@ CONFIG_FRAME_WARN=2048
|
||||||
# CONFIG_HEADERS_INSTALL is not set
|
# CONFIG_HEADERS_INSTALL is not set
|
||||||
# CONFIG_DEBUG_SECTION_MISMATCH is not set
|
# CONFIG_DEBUG_SECTION_MISMATCH is not set
|
||||||
CONFIG_SECTION_MISMATCH_WARN_ONLY=y
|
CONFIG_SECTION_MISMATCH_WARN_ONLY=y
|
||||||
|
# CONFIG_DEBUG_FORCE_FUNCTION_ALIGN_32B is not set
|
||||||
CONFIG_ARCH_WANT_FRAME_POINTERS=y
|
CONFIG_ARCH_WANT_FRAME_POINTERS=y
|
||||||
CONFIG_FRAME_POINTER=y
|
CONFIG_FRAME_POINTER=y
|
||||||
# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
|
# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
|
||||||
|
@ -8778,6 +8787,9 @@ CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1
|
||||||
CONFIG_MAGIC_SYSRQ_SERIAL=y
|
CONFIG_MAGIC_SYSRQ_SERIAL=y
|
||||||
CONFIG_MAGIC_SYSRQ_SERIAL_SEQUENCE=""
|
CONFIG_MAGIC_SYSRQ_SERIAL_SEQUENCE=""
|
||||||
CONFIG_DEBUG_FS=y
|
CONFIG_DEBUG_FS=y
|
||||||
|
CONFIG_DEBUG_FS_ALLOW_ALL=y
|
||||||
|
# CONFIG_DEBUG_FS_DISALLOW_MOUNT is not set
|
||||||
|
# CONFIG_DEBUG_FS_ALLOW_NONE is not set
|
||||||
CONFIG_HAVE_ARCH_KGDB=y
|
CONFIG_HAVE_ARCH_KGDB=y
|
||||||
# CONFIG_KGDB is not set
|
# CONFIG_KGDB is not set
|
||||||
CONFIG_ARCH_HAS_UBSAN_SANITIZE_ALL=y
|
CONFIG_ARCH_HAS_UBSAN_SANITIZE_ALL=y
|
||||||
|
@ -8819,7 +8831,6 @@ CONFIG_HAVE_ARCH_KASAN_SW_TAGS=y
|
||||||
CONFIG_CC_HAS_KASAN_GENERIC=y
|
CONFIG_CC_HAS_KASAN_GENERIC=y
|
||||||
CONFIG_CC_HAS_WORKING_NOSANITIZE_ADDRESS=y
|
CONFIG_CC_HAS_WORKING_NOSANITIZE_ADDRESS=y
|
||||||
# CONFIG_KASAN is not set
|
# CONFIG_KASAN is not set
|
||||||
CONFIG_KASAN_STACK=1
|
|
||||||
# end of Memory Debugging
|
# end of Memory Debugging
|
||||||
|
|
||||||
# CONFIG_DEBUG_SHIRQ is not set
|
# CONFIG_DEBUG_SHIRQ is not set
|
||||||
|
@ -8888,6 +8899,7 @@ CONFIG_HAVE_DEBUG_BUGVERBOSE=y
|
||||||
CONFIG_TORTURE_TEST=m
|
CONFIG_TORTURE_TEST=m
|
||||||
CONFIG_RCU_PERF_TEST=m
|
CONFIG_RCU_PERF_TEST=m
|
||||||
CONFIG_RCU_TORTURE_TEST=m
|
CONFIG_RCU_TORTURE_TEST=m
|
||||||
|
# CONFIG_RCU_REF_SCALE_TEST is not set
|
||||||
CONFIG_RCU_CPU_STALL_TIMEOUT=60
|
CONFIG_RCU_CPU_STALL_TIMEOUT=60
|
||||||
CONFIG_RCU_TRACE=y
|
CONFIG_RCU_TRACE=y
|
||||||
# CONFIG_RCU_EQS_DEBUG is not set
|
# CONFIG_RCU_EQS_DEBUG is not set
|
||||||
|
@ -9000,12 +9012,23 @@ CONFIG_TEST_BLACKHOLE_DEV=m
|
||||||
# CONFIG_SYSCTL_KUNIT_TEST is not set
|
# CONFIG_SYSCTL_KUNIT_TEST is not set
|
||||||
# CONFIG_LIST_KUNIT_TEST is not set
|
# CONFIG_LIST_KUNIT_TEST is not set
|
||||||
# CONFIG_LINEAR_RANGES_TEST is not set
|
# CONFIG_LINEAR_RANGES_TEST is not set
|
||||||
|
# CONFIG_BITS_TEST is not set
|
||||||
# CONFIG_TEST_UDELAY is not set
|
# CONFIG_TEST_UDELAY is not set
|
||||||
# CONFIG_TEST_STATIC_KEYS is not set
|
# CONFIG_TEST_STATIC_KEYS is not set
|
||||||
# CONFIG_TEST_KMOD is not set
|
# CONFIG_TEST_KMOD is not set
|
||||||
CONFIG_TEST_MEMCAT_P=m
|
CONFIG_TEST_MEMCAT_P=m
|
||||||
CONFIG_TEST_STACKINIT=m
|
CONFIG_TEST_STACKINIT=m
|
||||||
# CONFIG_TEST_MEMINIT is not set
|
# CONFIG_TEST_MEMINIT is not set
|
||||||
|
# CONFIG_TEST_FREE_PAGES is not set
|
||||||
CONFIG_MEMTEST=y
|
CONFIG_MEMTEST=y
|
||||||
# end of Kernel Testing and Coverage
|
# end of Kernel Testing and Coverage
|
||||||
# end of Kernel hacking
|
# end of Kernel hacking
|
||||||
|
|
||||||
|
## LinuxIO - iSCSI Target modules
|
||||||
|
CONFIG_TARGET_CORE=m
|
||||||
|
CONFIG_ISCSI_TARGET=m
|
||||||
|
CONFIG_TCM_IBLOCK=m
|
||||||
|
CONFIG_TCM_FILEIO=m
|
||||||
|
CONFIG_TCM_PSCSI=m
|
||||||
|
CONFIG_TCM_USER2=m
|
||||||
|
|
||||||
|
|
|
@ -2504,7 +2504,6 @@ CONFIG_DM_SWITCH=m
|
||||||
CONFIG_DM_LOG_WRITES=m
|
CONFIG_DM_LOG_WRITES=m
|
||||||
CONFIG_DM_INTEGRITY=m
|
CONFIG_DM_INTEGRITY=m
|
||||||
CONFIG_DM_ZONED=m
|
CONFIG_DM_ZONED=m
|
||||||
# CONFIG_TARGET_CORE is not set
|
|
||||||
# CONFIG_FUSION is not set
|
# CONFIG_FUSION is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -9023,3 +9022,12 @@ CONFIG_TEST_STACKINIT=m
|
||||||
CONFIG_MEMTEST=y
|
CONFIG_MEMTEST=y
|
||||||
# end of Kernel Testing and Coverage
|
# end of Kernel Testing and Coverage
|
||||||
# end of Kernel hacking
|
# end of Kernel hacking
|
||||||
|
|
||||||
|
## LinuxIO - iSCSI Target modules
|
||||||
|
CONFIG_TARGET_CORE=m
|
||||||
|
CONFIG_ISCSI_TARGET=m
|
||||||
|
CONFIG_TCM_IBLOCK=m
|
||||||
|
CONFIG_TCM_FILEIO=m
|
||||||
|
CONFIG_TCM_PSCSI=m
|
||||||
|
CONFIG_TCM_USER2=m
|
||||||
|
|
||||||
|
|
|
@ -1225,7 +1225,7 @@ CONFIG_MAC80211_STA_HASH_MAX_SIZE=0
|
||||||
CONFIG_RFKILL=y
|
CONFIG_RFKILL=y
|
||||||
CONFIG_RFKILL_PM=y
|
CONFIG_RFKILL_PM=y
|
||||||
CONFIG_RFKILL_LEDS=y
|
CONFIG_RFKILL_LEDS=y
|
||||||
# CONFIG_RFKILL_INPUT is not set
|
CONFIG_RFKILL_INPUT=y
|
||||||
# CONFIG_RFKILL_REGULATOR is not set
|
# CONFIG_RFKILL_REGULATOR is not set
|
||||||
# CONFIG_RFKILL_GPIO is not set
|
# CONFIG_RFKILL_GPIO is not set
|
||||||
# CONFIG_NET_9P is not set
|
# CONFIG_NET_9P is not set
|
||||||
|
@ -1731,7 +1731,6 @@ CONFIG_DM_SWITCH=m
|
||||||
CONFIG_DM_LOG_WRITES=m
|
CONFIG_DM_LOG_WRITES=m
|
||||||
# CONFIG_DM_VERITY_AVB is not set
|
# CONFIG_DM_VERITY_AVB is not set
|
||||||
# CONFIG_DM_ANDROID_VERITY_AT_MOST_ONCE_DEFAULT_ENABLED is not set
|
# CONFIG_DM_ANDROID_VERITY_AT_MOST_ONCE_DEFAULT_ENABLED is not set
|
||||||
# CONFIG_TARGET_CORE is not set
|
|
||||||
# CONFIG_FUSION is not set
|
# CONFIG_FUSION is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -6405,3 +6404,12 @@ CONFIG_FONT_8x8=y
|
||||||
CONFIG_FONT_8x16=y
|
CONFIG_FONT_8x16=y
|
||||||
# CONFIG_SG_SPLIT is not set
|
# CONFIG_SG_SPLIT is not set
|
||||||
CONFIG_ARCH_HAS_SG_CHAIN=y
|
CONFIG_ARCH_HAS_SG_CHAIN=y
|
||||||
|
|
||||||
|
## LinuxIO - iSCSI Target modules
|
||||||
|
CONFIG_TARGET_CORE=m
|
||||||
|
CONFIG_ISCSI_TARGET=m
|
||||||
|
CONFIG_TCM_IBLOCK=m
|
||||||
|
CONFIG_TCM_FILEIO=m
|
||||||
|
CONFIG_TCM_PSCSI=m
|
||||||
|
CONFIG_TCM_USER2=m
|
||||||
|
|
||||||
|
|
|
@ -2137,7 +2137,6 @@ CONFIG_DM_VERITY_FEC=y
|
||||||
CONFIG_DM_SWITCH=m
|
CONFIG_DM_SWITCH=m
|
||||||
CONFIG_DM_LOG_WRITES=m
|
CONFIG_DM_LOG_WRITES=m
|
||||||
CONFIG_DM_INTEGRITY=m
|
CONFIG_DM_INTEGRITY=m
|
||||||
# CONFIG_TARGET_CORE is not set
|
|
||||||
# CONFIG_FUSION is not set
|
# CONFIG_FUSION is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -7543,3 +7542,12 @@ CONFIG_TEST_STACKINIT=m
|
||||||
CONFIG_MEMTEST=y
|
CONFIG_MEMTEST=y
|
||||||
# end of Kernel Testing and Coverage
|
# end of Kernel Testing and Coverage
|
||||||
# end of Kernel hacking
|
# end of Kernel hacking
|
||||||
|
|
||||||
|
## LinuxIO - iSCSI Target modules
|
||||||
|
CONFIG_TARGET_CORE=m
|
||||||
|
CONFIG_ISCSI_TARGET=m
|
||||||
|
CONFIG_TCM_IBLOCK=m
|
||||||
|
CONFIG_TCM_FILEIO=m
|
||||||
|
CONFIG_TCM_PSCSI=m
|
||||||
|
CONFIG_TCM_USER2=m
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#
|
#
|
||||||
# Automatically generated file; DO NOT EDIT.
|
# Automatically generated file; DO NOT EDIT.
|
||||||
# Linux/arm64 4.4.228 Kernel Configuration
|
# Linux/arm64 4.4.243 Kernel Configuration
|
||||||
#
|
#
|
||||||
CONFIG_ARM64=y
|
CONFIG_ARM64=y
|
||||||
CONFIG_64BIT=y
|
CONFIG_64BIT=y
|
||||||
|
@ -272,9 +272,9 @@ CONFIG_MODULE_UNLOAD=y
|
||||||
# CONFIG_MODULE_COMPRESS is not set
|
# CONFIG_MODULE_COMPRESS is not set
|
||||||
CONFIG_MODULES_TREE_LOOKUP=y
|
CONFIG_MODULES_TREE_LOOKUP=y
|
||||||
CONFIG_BLOCK=y
|
CONFIG_BLOCK=y
|
||||||
# CONFIG_BLK_DEV_BSG is not set
|
CONFIG_BLK_DEV_BSG=y
|
||||||
# CONFIG_BLK_DEV_BSGLIB is not set
|
CONFIG_BLK_DEV_BSGLIB=y
|
||||||
# CONFIG_BLK_DEV_INTEGRITY is not set
|
CONFIG_BLK_DEV_INTEGRITY=y
|
||||||
CONFIG_BLK_DEV_THROTTLING=y
|
CONFIG_BLK_DEV_THROTTLING=y
|
||||||
# CONFIG_BLK_CMDLINE_PARSER is not set
|
# CONFIG_BLK_CMDLINE_PARSER is not set
|
||||||
|
|
||||||
|
@ -1464,7 +1464,12 @@ CONFIG_DM_SWITCH=m
|
||||||
CONFIG_DM_LOG_WRITES=m
|
CONFIG_DM_LOG_WRITES=m
|
||||||
CONFIG_DM_VERITY_AVB=m
|
CONFIG_DM_VERITY_AVB=m
|
||||||
CONFIG_DM_ANDROID_VERITY_AT_MOST_ONCE_DEFAULT_ENABLED=y
|
CONFIG_DM_ANDROID_VERITY_AT_MOST_ONCE_DEFAULT_ENABLED=y
|
||||||
# CONFIG_TARGET_CORE is not set
|
CONFIG_TARGET_CORE=m
|
||||||
|
CONFIG_TCM_IBLOCK=m
|
||||||
|
CONFIG_TCM_FILEIO=m
|
||||||
|
CONFIG_TCM_PSCSI=m
|
||||||
|
CONFIG_LOOPBACK_TARGET=m
|
||||||
|
CONFIG_ISCSI_TARGET=m
|
||||||
CONFIG_NETDEVICES=y
|
CONFIG_NETDEVICES=y
|
||||||
CONFIG_MII=y
|
CONFIG_MII=y
|
||||||
CONFIG_NET_CORE=y
|
CONFIG_NET_CORE=y
|
||||||
|
@ -3493,6 +3498,7 @@ CONFIG_USB_FUNCTIONFS_ETH=y
|
||||||
CONFIG_USB_FUNCTIONFS_RNDIS=y
|
CONFIG_USB_FUNCTIONFS_RNDIS=y
|
||||||
CONFIG_USB_FUNCTIONFS_GENERIC=y
|
CONFIG_USB_FUNCTIONFS_GENERIC=y
|
||||||
CONFIG_USB_MASS_STORAGE=m
|
CONFIG_USB_MASS_STORAGE=m
|
||||||
|
CONFIG_USB_GADGET_TARGET=m
|
||||||
CONFIG_USB_G_SERIAL=m
|
CONFIG_USB_G_SERIAL=m
|
||||||
CONFIG_USB_MIDI_GADGET=m
|
CONFIG_USB_MIDI_GADGET=m
|
||||||
# CONFIG_USB_G_PRINTER is not set
|
# CONFIG_USB_G_PRINTER is not set
|
||||||
|
|
|
@ -1727,7 +1727,6 @@ CONFIG_DM_SWITCH=m
|
||||||
CONFIG_DM_LOG_WRITES=m
|
CONFIG_DM_LOG_WRITES=m
|
||||||
CONFIG_DM_INTEGRITY=m
|
CONFIG_DM_INTEGRITY=m
|
||||||
CONFIG_DM_ZONED=m
|
CONFIG_DM_ZONED=m
|
||||||
# CONFIG_TARGET_CORE is not set
|
|
||||||
CONFIG_NETDEVICES=y
|
CONFIG_NETDEVICES=y
|
||||||
CONFIG_MII=y
|
CONFIG_MII=y
|
||||||
CONFIG_NET_CORE=y
|
CONFIG_NET_CORE=y
|
||||||
|
@ -5758,3 +5757,12 @@ CONFIG_SG_POOL=y
|
||||||
CONFIG_ARCH_HAS_SG_CHAIN=y
|
CONFIG_ARCH_HAS_SG_CHAIN=y
|
||||||
CONFIG_SBITMAP=y
|
CONFIG_SBITMAP=y
|
||||||
# CONFIG_STRING_SELFTEST is not set
|
# CONFIG_STRING_SELFTEST is not set
|
||||||
|
|
||||||
|
## LinuxIO - iSCSI Target modules
|
||||||
|
CONFIG_TARGET_CORE=m
|
||||||
|
CONFIG_ISCSI_TARGET=m
|
||||||
|
CONFIG_TCM_IBLOCK=m
|
||||||
|
CONFIG_TCM_FILEIO=m
|
||||||
|
CONFIG_TCM_PSCSI=m
|
||||||
|
CONFIG_TCM_USER2=m
|
||||||
|
|
||||||
|
|
|
@ -1714,7 +1714,7 @@ CONFIG_WIMAX=m
|
||||||
CONFIG_WIMAX_DEBUG_LEVEL=8
|
CONFIG_WIMAX_DEBUG_LEVEL=8
|
||||||
CONFIG_RFKILL=m
|
CONFIG_RFKILL=m
|
||||||
CONFIG_RFKILL_LEDS=y
|
CONFIG_RFKILL_LEDS=y
|
||||||
# CONFIG_RFKILL_INPUT is not set
|
CONFIG_RFKILL_INPUT=y
|
||||||
CONFIG_RFKILL_GPIO=m
|
CONFIG_RFKILL_GPIO=m
|
||||||
# CONFIG_NET_9P is not set
|
# CONFIG_NET_9P is not set
|
||||||
# CONFIG_CAIF is not set
|
# CONFIG_CAIF is not set
|
||||||
|
@ -2199,13 +2199,7 @@ CONFIG_DM_VERITY_FEC=y
|
||||||
CONFIG_DM_SWITCH=m
|
CONFIG_DM_SWITCH=m
|
||||||
CONFIG_DM_LOG_WRITES=m
|
CONFIG_DM_LOG_WRITES=m
|
||||||
CONFIG_DM_INTEGRITY=m
|
CONFIG_DM_INTEGRITY=m
|
||||||
CONFIG_TARGET_CORE=m
|
|
||||||
CONFIG_TCM_IBLOCK=m
|
|
||||||
CONFIG_TCM_FILEIO=m
|
|
||||||
CONFIG_TCM_PSCSI=m
|
|
||||||
CONFIG_TCM_USER2=m
|
|
||||||
CONFIG_LOOPBACK_TARGET=m
|
CONFIG_LOOPBACK_TARGET=m
|
||||||
CONFIG_ISCSI_TARGET=m
|
|
||||||
CONFIG_NETDEVICES=y
|
CONFIG_NETDEVICES=y
|
||||||
CONFIG_MII=y
|
CONFIG_MII=y
|
||||||
CONFIG_NET_CORE=y
|
CONFIG_NET_CORE=y
|
||||||
|
@ -7819,3 +7813,12 @@ CONFIG_TEST_MEMCAT_P=m
|
||||||
# CONFIG_MEMTEST is not set
|
# CONFIG_MEMTEST is not set
|
||||||
# end of Kernel Testing and Coverage
|
# end of Kernel Testing and Coverage
|
||||||
# end of Kernel hacking
|
# end of Kernel hacking
|
||||||
|
|
||||||
|
## LinuxIO - iSCSI Target modules
|
||||||
|
CONFIG_TARGET_CORE=m
|
||||||
|
CONFIG_ISCSI_TARGET=m
|
||||||
|
CONFIG_TCM_IBLOCK=m
|
||||||
|
CONFIG_TCM_FILEIO=m
|
||||||
|
CONFIG_TCM_PSCSI=m
|
||||||
|
CONFIG_TCM_USER2=m
|
||||||
|
|
||||||
|
|
|
@ -1721,7 +1721,7 @@ CONFIG_WIMAX=m
|
||||||
CONFIG_WIMAX_DEBUG_LEVEL=8
|
CONFIG_WIMAX_DEBUG_LEVEL=8
|
||||||
CONFIG_RFKILL=m
|
CONFIG_RFKILL=m
|
||||||
CONFIG_RFKILL_LEDS=y
|
CONFIG_RFKILL_LEDS=y
|
||||||
# CONFIG_RFKILL_INPUT is not set
|
CONFIG_RFKILL_INPUT=y
|
||||||
CONFIG_RFKILL_GPIO=m
|
CONFIG_RFKILL_GPIO=m
|
||||||
# CONFIG_NET_9P is not set
|
# CONFIG_NET_9P is not set
|
||||||
# CONFIG_CAIF is not set
|
# CONFIG_CAIF is not set
|
||||||
|
@ -2206,13 +2206,7 @@ CONFIG_DM_VERITY_FEC=y
|
||||||
CONFIG_DM_SWITCH=m
|
CONFIG_DM_SWITCH=m
|
||||||
CONFIG_DM_LOG_WRITES=m
|
CONFIG_DM_LOG_WRITES=m
|
||||||
CONFIG_DM_INTEGRITY=m
|
CONFIG_DM_INTEGRITY=m
|
||||||
CONFIG_TARGET_CORE=m
|
|
||||||
CONFIG_TCM_IBLOCK=m
|
|
||||||
CONFIG_TCM_FILEIO=m
|
|
||||||
CONFIG_TCM_PSCSI=m
|
|
||||||
CONFIG_TCM_USER2=m
|
|
||||||
CONFIG_LOOPBACK_TARGET=m
|
CONFIG_LOOPBACK_TARGET=m
|
||||||
CONFIG_ISCSI_TARGET=m
|
|
||||||
CONFIG_NETDEVICES=y
|
CONFIG_NETDEVICES=y
|
||||||
CONFIG_MII=y
|
CONFIG_MII=y
|
||||||
CONFIG_NET_CORE=y
|
CONFIG_NET_CORE=y
|
||||||
|
@ -7889,3 +7883,12 @@ CONFIG_TEST_MEMCAT_P=m
|
||||||
# CONFIG_MEMTEST is not set
|
# CONFIG_MEMTEST is not set
|
||||||
# end of Kernel Testing and Coverage
|
# end of Kernel Testing and Coverage
|
||||||
# end of Kernel hacking
|
# end of Kernel hacking
|
||||||
|
|
||||||
|
## LinuxIO - iSCSI Target modules
|
||||||
|
CONFIG_TARGET_CORE=m
|
||||||
|
CONFIG_ISCSI_TARGET=m
|
||||||
|
CONFIG_TCM_IBLOCK=m
|
||||||
|
CONFIG_TCM_FILEIO=m
|
||||||
|
CONFIG_TCM_PSCSI=m
|
||||||
|
CONFIG_TCM_USER2=m
|
||||||
|
|
||||||
|
|
|
@ -2221,13 +2221,7 @@ CONFIG_DM_SWITCH=m
|
||||||
CONFIG_DM_LOG_WRITES=m
|
CONFIG_DM_LOG_WRITES=m
|
||||||
# CONFIG_DM_INTEGRITY is not set
|
# CONFIG_DM_INTEGRITY is not set
|
||||||
CONFIG_DM_ZONED=m
|
CONFIG_DM_ZONED=m
|
||||||
CONFIG_TARGET_CORE=m
|
|
||||||
CONFIG_TCM_IBLOCK=m
|
|
||||||
CONFIG_TCM_FILEIO=m
|
|
||||||
CONFIG_TCM_PSCSI=m
|
|
||||||
CONFIG_TCM_USER2=m
|
|
||||||
CONFIG_LOOPBACK_TARGET=m
|
CONFIG_LOOPBACK_TARGET=m
|
||||||
CONFIG_ISCSI_TARGET=m
|
|
||||||
CONFIG_NETDEVICES=y
|
CONFIG_NETDEVICES=y
|
||||||
CONFIG_MII=y
|
CONFIG_MII=y
|
||||||
CONFIG_NET_CORE=y
|
CONFIG_NET_CORE=y
|
||||||
|
@ -7945,3 +7939,12 @@ CONFIG_UNCOMPRESS_INCLUDE="debug/uncompress.h"
|
||||||
# CONFIG_PID_IN_CONTEXTIDR is not set
|
# CONFIG_PID_IN_CONTEXTIDR is not set
|
||||||
# CONFIG_CORESIGHT is not set
|
# CONFIG_CORESIGHT is not set
|
||||||
# end of Kernel hacking
|
# end of Kernel hacking
|
||||||
|
|
||||||
|
## LinuxIO - iSCSI Target modules
|
||||||
|
CONFIG_TARGET_CORE=m
|
||||||
|
CONFIG_ISCSI_TARGET=m
|
||||||
|
CONFIG_TCM_IBLOCK=m
|
||||||
|
CONFIG_TCM_FILEIO=m
|
||||||
|
CONFIG_TCM_PSCSI=m
|
||||||
|
CONFIG_TCM_USER2=m
|
||||||
|
|
||||||
|
|
|
@ -2149,7 +2149,6 @@ CONFIG_DM_DUST=m
|
||||||
# CONFIG_DM_LOG_WRITES is not set
|
# CONFIG_DM_LOG_WRITES is not set
|
||||||
CONFIG_DM_INTEGRITY=m
|
CONFIG_DM_INTEGRITY=m
|
||||||
# CONFIG_DM_ZONED is not set
|
# CONFIG_DM_ZONED is not set
|
||||||
# CONFIG_TARGET_CORE is not set
|
|
||||||
CONFIG_NETDEVICES=y
|
CONFIG_NETDEVICES=y
|
||||||
CONFIG_MII=y
|
CONFIG_MII=y
|
||||||
CONFIG_NET_CORE=y
|
CONFIG_NET_CORE=y
|
||||||
|
@ -7517,3 +7516,12 @@ CONFIG_TEST_STACKINIT=m
|
||||||
# CONFIG_MEMTEST is not set
|
# CONFIG_MEMTEST is not set
|
||||||
# end of Kernel Testing and Coverage
|
# end of Kernel Testing and Coverage
|
||||||
# end of Kernel hacking
|
# end of Kernel hacking
|
||||||
|
|
||||||
|
## LinuxIO - iSCSI Target modules
|
||||||
|
CONFIG_TARGET_CORE=m
|
||||||
|
CONFIG_ISCSI_TARGET=m
|
||||||
|
CONFIG_TCM_IBLOCK=m
|
||||||
|
CONFIG_TCM_FILEIO=m
|
||||||
|
CONFIG_TCM_PSCSI=m
|
||||||
|
CONFIG_TCM_USER2=m
|
||||||
|
|
||||||
|
|
|
@ -2162,7 +2162,6 @@ CONFIG_DM_DUST=m
|
||||||
# CONFIG_DM_LOG_WRITES is not set
|
# CONFIG_DM_LOG_WRITES is not set
|
||||||
CONFIG_DM_INTEGRITY=m
|
CONFIG_DM_INTEGRITY=m
|
||||||
# CONFIG_DM_ZONED is not set
|
# CONFIG_DM_ZONED is not set
|
||||||
# CONFIG_TARGET_CORE is not set
|
|
||||||
CONFIG_NETDEVICES=y
|
CONFIG_NETDEVICES=y
|
||||||
CONFIG_MII=y
|
CONFIG_MII=y
|
||||||
CONFIG_NET_CORE=y
|
CONFIG_NET_CORE=y
|
||||||
|
@ -7598,3 +7597,12 @@ CONFIG_TEST_STACKINIT=m
|
||||||
# CONFIG_MEMTEST is not set
|
# CONFIG_MEMTEST is not set
|
||||||
# end of Kernel Testing and Coverage
|
# end of Kernel Testing and Coverage
|
||||||
# end of Kernel hacking
|
# end of Kernel hacking
|
||||||
|
|
||||||
|
## LinuxIO - iSCSI Target modules
|
||||||
|
CONFIG_TARGET_CORE=m
|
||||||
|
CONFIG_ISCSI_TARGET=m
|
||||||
|
CONFIG_TCM_IBLOCK=m
|
||||||
|
CONFIG_TCM_FILEIO=m
|
||||||
|
CONFIG_TCM_PSCSI=m
|
||||||
|
CONFIG_TCM_USER2=m
|
||||||
|
|
||||||
|
|
|
@ -2253,7 +2253,6 @@ CONFIG_DM_SWITCH=m
|
||||||
CONFIG_DM_LOG_WRITES=m
|
CONFIG_DM_LOG_WRITES=m
|
||||||
CONFIG_DM_INTEGRITY=m
|
CONFIG_DM_INTEGRITY=m
|
||||||
CONFIG_DM_ZONED=m
|
CONFIG_DM_ZONED=m
|
||||||
# CONFIG_TARGET_CORE is not set
|
|
||||||
CONFIG_NETDEVICES=y
|
CONFIG_NETDEVICES=y
|
||||||
CONFIG_MII=y
|
CONFIG_MII=y
|
||||||
CONFIG_NET_CORE=y
|
CONFIG_NET_CORE=y
|
||||||
|
@ -8012,3 +8011,12 @@ CONFIG_STRICT_DEVMEM=y
|
||||||
# CONFIG_ARM64_RELOC_TEST is not set
|
# CONFIG_ARM64_RELOC_TEST is not set
|
||||||
# CONFIG_CORESIGHT is not set
|
# CONFIG_CORESIGHT is not set
|
||||||
# end of Kernel hacking
|
# end of Kernel hacking
|
||||||
|
|
||||||
|
## LinuxIO - iSCSI Target modules
|
||||||
|
CONFIG_TARGET_CORE=m
|
||||||
|
CONFIG_ISCSI_TARGET=m
|
||||||
|
CONFIG_TCM_IBLOCK=m
|
||||||
|
CONFIG_TCM_FILEIO=m
|
||||||
|
CONFIG_TCM_PSCSI=m
|
||||||
|
CONFIG_TCM_USER2=m
|
||||||
|
|
||||||
|
|
|
@ -74,7 +74,7 @@ case $BRANCH in
|
||||||
current)
|
current)
|
||||||
|
|
||||||
KERNELPATCHDIR='rockchip64-'$BRANCH
|
KERNELPATCHDIR='rockchip64-'$BRANCH
|
||||||
KERNELBRANCH="branch:linux-5.8.y"
|
KERNELBRANCH="branch:linux-5.9.y"
|
||||||
LINUXFAMILY=rockchip64
|
LINUXFAMILY=rockchip64
|
||||||
LINUXCONFIG='linux-rockchip64-'$BRANCH
|
LINUXCONFIG='linux-rockchip64-'$BRANCH
|
||||||
|
|
||||||
|
|
|
@ -63,7 +63,7 @@ unset LINUXFAMILY LINUXCONFIG KERNELDIR KERNELSOURCE KERNELBRANCH BOOTDIR BOOTSO
|
||||||
PACKAGE_LIST_BOARD_REMOVE PACKAGE_LIST_FAMILY_REMOVE PACKAGE_LIST_DESKTOP_BOARD_REMOVE PACKAGE_LIST_DESKTOP_FAMILY_REMOVE BOOTCONFIG_DEV \
|
PACKAGE_LIST_BOARD_REMOVE PACKAGE_LIST_FAMILY_REMOVE PACKAGE_LIST_DESKTOP_BOARD_REMOVE PACKAGE_LIST_DESKTOP_FAMILY_REMOVE BOOTCONFIG_DEV \
|
||||||
DESKTOP_ENVIRONMENT DESKTOP_ENVIRONMENT_CONFIG_NAME DESKTOP_APPGROUPS_SELECTED DESKTOP_APT_FLAGS_SELECTED \
|
DESKTOP_ENVIRONMENT DESKTOP_ENVIRONMENT_CONFIG_NAME DESKTOP_APPGROUPS_SELECTED DESKTOP_APT_FLAGS_SELECTED \
|
||||||
DESKTOP_ENVIRONMENT_DIRPATH DESKTOP_ENVIRONMENT_PACKAGE_LIST_DIRPATH DESKTOP_ENVIRONMENT_DIRPATH DESKTOP_ENVIRONMENT_PACKAGE_LIST_DIRPATH \
|
DESKTOP_ENVIRONMENT_DIRPATH DESKTOP_ENVIRONMENT_PACKAGE_LIST_DIRPATH DESKTOP_ENVIRONMENT_DIRPATH DESKTOP_ENVIRONMENT_PACKAGE_LIST_DIRPATH \
|
||||||
DESKTOP_CONFIG_PREFIX DESKTOP_CONFIGS_DIR DESKTOP_APPGROUPS_DIR DEBIAN_RECOMMENDS
|
DESKTOP_CONFIG_PREFIX DESKTOP_CONFIGS_DIR DESKTOP_APPGROUPS_DIR DEBIAN_RECOMMENDS USE_OVERLAYFS
|
||||||
}
|
}
|
||||||
|
|
||||||
pack_upload ()
|
pack_upload ()
|
||||||
|
@ -343,7 +343,7 @@ function build_all()
|
||||||
done
|
done
|
||||||
|
|
||||||
display_alert "Building ${n}."
|
display_alert "Building ${n}."
|
||||||
if [[ "$KERNEL_ONLY" == "no" ]]; then
|
if [[ "$KERNEL_ONLY" == "no" && "${MULTITHREAD}" -gt 0 ]]; then
|
||||||
build_main &
|
build_main &
|
||||||
else
|
else
|
||||||
build_main
|
build_main
|
||||||
|
|
|
@ -275,7 +275,7 @@ compile_uboot()
|
||||||
|
|
||||||
[[ ! -f $uboottempdir/${uboot_name}.deb ]] && exit_with_error "Building u-boot package failed"
|
[[ ! -f $uboottempdir/${uboot_name}.deb ]] && exit_with_error "Building u-boot package failed"
|
||||||
|
|
||||||
mv "$uboottempdir/${uboot_name}.deb" "${DEB_STORAGE}/"
|
rsync -rq "$uboottempdir/${uboot_name}.deb" "${DEB_STORAGE}/"
|
||||||
}
|
}
|
||||||
|
|
||||||
compile_kernel()
|
compile_kernel()
|
||||||
|
@ -447,14 +447,14 @@ compile_kernel()
|
||||||
|
|
||||||
if [[ $BUILD_KSRC != no ]]; then
|
if [[ $BUILD_KSRC != no ]]; then
|
||||||
fakeroot dpkg-deb -z0 -b "${sources_pkg_dir}" "${sources_pkg_dir}.deb"
|
fakeroot dpkg-deb -z0 -b "${sources_pkg_dir}" "${sources_pkg_dir}.deb"
|
||||||
mv "${sources_pkg_dir}.deb" "${DEB_STORAGE}/"
|
rsync -rq "${sources_pkg_dir}.deb" "${DEB_STORAGE}/"
|
||||||
fi
|
fi
|
||||||
rm -rf "${sources_pkg_dir}"
|
rm -rf "${sources_pkg_dir}"
|
||||||
|
|
||||||
cd .. || exit
|
cd .. || exit
|
||||||
# remove firmare image packages here - easier than patching ~40 packaging scripts at once
|
# remove firmare image packages here - easier than patching ~40 packaging scripts at once
|
||||||
rm -f linux-firmware-image-*.deb
|
rm -f linux-firmware-image-*.deb
|
||||||
mv ./*.deb "${DEB_STORAGE}/" || exit_with_error "Failed moving kernel DEBs"
|
rsync -rq ./*.deb "${DEB_STORAGE}/" || exit_with_error "Failed moving kernel DEBs"
|
||||||
|
|
||||||
# store git hash to the file
|
# store git hash to the file
|
||||||
echo "${hash}" > "${SRC}/cache/hash"$([[ ${BETA} == yes ]] && echo "-beta")"/linux-image-${BRANCH}-${LINUXFAMILY}.githash"
|
echo "${hash}" > "${SRC}/cache/hash"$([[ ${BETA} == yes ]] && echo "-beta")"/linux-image-${BRANCH}-${LINUXFAMILY}.githash"
|
||||||
|
@ -516,7 +516,7 @@ compile_firmware()
|
||||||
mv "armbian-firmware${FULL}" "armbian-firmware${FULL}_${REVISION}_all"
|
mv "armbian-firmware${FULL}" "armbian-firmware${FULL}_${REVISION}_all"
|
||||||
fakeroot dpkg -b "armbian-firmware${FULL}_${REVISION}_all" >> "${DEST}"/debug/install.log 2>&1
|
fakeroot dpkg -b "armbian-firmware${FULL}_${REVISION}_all" >> "${DEST}"/debug/install.log 2>&1
|
||||||
mv "armbian-firmware${FULL}_${REVISION}_all" "armbian-firmware${FULL}"
|
mv "armbian-firmware${FULL}_${REVISION}_all" "armbian-firmware${FULL}"
|
||||||
mv "armbian-firmware${FULL}_${REVISION}_all.deb" "${DEB_STORAGE}/"
|
rsync -rq "armbian-firmware${FULL}_${REVISION}_all.deb" "${DEB_STORAGE}/"
|
||||||
|
|
||||||
# remove temp directory
|
# remove temp directory
|
||||||
rm -rf "${firmwaretempdir}"
|
rm -rf "${firmwaretempdir}"
|
||||||
|
@ -564,7 +564,7 @@ compile_armbian-config()
|
||||||
ln -sf /usr/sbin/softy "${tmpdir}"/usr/bin/softy
|
ln -sf /usr/sbin/softy "${tmpdir}"/usr/bin/softy
|
||||||
|
|
||||||
fakeroot dpkg -b "${tmpdir}" >/dev/null
|
fakeroot dpkg -b "${tmpdir}" >/dev/null
|
||||||
mv "${tmpdir}.deb" "${DEB_STORAGE}/"
|
rsync -rq "${tmpdir}.deb" "${DEB_STORAGE}/"
|
||||||
rm -rf "${tmpdir}"
|
rm -rf "${tmpdir}"
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -53,10 +53,10 @@ debootstrap_ng()
|
||||||
install_common
|
install_common
|
||||||
|
|
||||||
# install locally built packages
|
# install locally built packages
|
||||||
[[ $EXTERNAL_NEW == compile ]] && chroot_installpackages_local
|
[[ $EXTERNAL_NEW == compile ]] && chroot_installpackages_local >> "${DEST}"/debug/install.log 2>&1
|
||||||
|
|
||||||
# install from apt.armbian.com
|
# install from apt.armbian.com
|
||||||
[[ $EXTERNAL_NEW == prebuilt ]] && chroot_installpackages "yes"
|
[[ $EXTERNAL_NEW == prebuilt ]] && chroot_installpackages "yes" >> "${DEST}"/debug/install.log 2>&1
|
||||||
|
|
||||||
# stage: user customization script
|
# stage: user customization script
|
||||||
# NOTE: installing too many packages may fill tmpfs mount
|
# NOTE: installing too many packages may fill tmpfs mount
|
||||||
|
@ -273,8 +273,10 @@ create_rootfs_cache()
|
||||||
chroot $SDCARD /bin/bash -c "apt-get clean"
|
chroot $SDCARD /bin/bash -c "apt-get clean"
|
||||||
|
|
||||||
# DEBUG: print free space
|
# DEBUG: print free space
|
||||||
echo -e "\nFree space:"
|
local freespace=$(LC_ALL=C df -h)
|
||||||
eval 'df -h' ${PROGRESS_LOG_TO_FILE:+' | tee -a $DEST/debug/debootstrap.log'}
|
echo $freespace >> $DEST/debug/debootstrap.log
|
||||||
|
display_alert "SD" "$(echo -e "$freespace" | grep $SDCARD | awk '{print $5}')" "info"
|
||||||
|
display_alert "Mount point" "$(echo -e "$freespace" | grep $MOUNT | awk '{print $5}')" "info"
|
||||||
|
|
||||||
# create list of installed packages for debug purposes
|
# create list of installed packages for debug purposes
|
||||||
chroot $SDCARD /bin/bash -c "dpkg --get-selections" | grep -v deinstall | awk '{print $1}' | cut -f1 -d':' > ${cache_fname}.list 2>&1
|
chroot $SDCARD /bin/bash -c "dpkg --get-selections" | grep -v deinstall | awk '{print $1}' | cut -f1 -d':' > ${cache_fname}.list 2>&1
|
||||||
|
@ -619,9 +621,9 @@ create_image()
|
||||||
[[ $ROOTFS_TYPE == nfs ]] && version=${version}_nfsboot
|
[[ $ROOTFS_TYPE == nfs ]] && version=${version}_nfsboot
|
||||||
|
|
||||||
if [[ $ROOTFS_TYPE != nfs ]]; then
|
if [[ $ROOTFS_TYPE != nfs ]]; then
|
||||||
display_alert "Copying files to root directory"
|
display_alert "Copying files to" "/"
|
||||||
rsync -aHWXh --exclude="/boot/*" --exclude="/dev/*" --exclude="/proc/*" --exclude="/run/*" --exclude="/tmp/*" \
|
rsync -aHWXh --exclude="/boot/*" --exclude="/dev/*" --exclude="/proc/*" --exclude="/run/*" --exclude="/tmp/*" \
|
||||||
--exclude="/sys/*" --info=progress2,stats1 $SDCARD/ $MOUNT/
|
--exclude="/sys/*" --info=progress2,stats1 $SDCARD/ $MOUNT/ >> "${DEST}"/debug/install.log 2>&1
|
||||||
else
|
else
|
||||||
display_alert "Creating rootfs archive" "rootfs.tgz" "info"
|
display_alert "Creating rootfs archive" "rootfs.tgz" "info"
|
||||||
tar cp --xattrs --directory=$SDCARD/ --exclude='./boot/*' --exclude='./dev/*' --exclude='./proc/*' --exclude='./run/*' --exclude='./tmp/*' \
|
tar cp --xattrs --directory=$SDCARD/ --exclude='./boot/*' --exclude='./dev/*' --exclude='./proc/*' --exclude='./run/*' --exclude='./tmp/*' \
|
||||||
|
@ -629,21 +631,23 @@ create_image()
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# stage: rsync /boot
|
# stage: rsync /boot
|
||||||
display_alert "Copying files to /boot directory"
|
display_alert "Copying files to" "/boot"
|
||||||
if [[ $(findmnt --target $MOUNT/boot -o FSTYPE -n) == vfat ]]; then
|
if [[ $(findmnt --target $MOUNT/boot -o FSTYPE -n) == vfat ]]; then
|
||||||
# fat32
|
# fat32
|
||||||
rsync -rLtWh --info=progress2,stats1 $SDCARD/boot $MOUNT
|
rsync -rLtWh --info=progress2,stats1 $SDCARD/boot $MOUNT >> "${DEST}"/debug/install.log 2>&1
|
||||||
else
|
else
|
||||||
# ext4
|
# ext4
|
||||||
rsync -aHWXh --info=progress2,stats1 $SDCARD/boot $MOUNT
|
rsync -aHWXh --info=progress2,stats1 $SDCARD/boot $MOUNT >> "${DEST}"/debug/install.log 2>&1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# stage: create final initramfs
|
# stage: create final initramfs
|
||||||
update_initramfs $MOUNT
|
update_initramfs $MOUNT
|
||||||
|
|
||||||
# DEBUG: print free space
|
# DEBUG: print free space
|
||||||
display_alert "Free space:" "SD card" "info"
|
local freespace=$(LC_ALL=C df -h)
|
||||||
eval 'df -h' ${PROGRESS_LOG_TO_FILE:+' | tee -a $DEST/debug/debootstrap.log'}
|
echo $freespace >> $DEST/debug/debootstrap.log
|
||||||
|
display_alert "SD" "$(echo -e "$freespace" | grep $SDCARD | awk '{print $5}')" "info"
|
||||||
|
display_alert "Mount point" "$(echo -e "$freespace" | grep $MOUNT | awk '{print $5}')" "info"
|
||||||
|
|
||||||
# stage: write u-boot
|
# stage: write u-boot
|
||||||
write_uboot $LOOP
|
write_uboot $LOOP
|
||||||
|
|
|
@ -8,7 +8,6 @@
|
||||||
|
|
||||||
# This file is a part of the Armbian build script
|
# This file is a part of the Armbian build script
|
||||||
# https://github.com/armbian/build/
|
# https://github.com/armbian/build/
|
||||||
|
|
||||||
# Functions:
|
# Functions:
|
||||||
# install_common
|
# install_common
|
||||||
# install_rclocal
|
# install_rclocal
|
||||||
|
@ -247,7 +246,8 @@ install_common()
|
||||||
chroot "${SDCARD}" /bin/bash -c "apt-get -qq -y install linux-u-boot-${BOARD}-${BRANCH}" >> "${DEST}"/debug/install.log 2>&1
|
chroot "${SDCARD}" /bin/bash -c "apt-get -qq -y install linux-u-boot-${BOARD}-${BRANCH}" >> "${DEST}"/debug/install.log 2>&1
|
||||||
# we need package later, move to output, apt-get must be here, apt deletes file
|
# we need package later, move to output, apt-get must be here, apt deletes file
|
||||||
UPSTREM_VER=$(dpkg-deb -I "${SDCARD}"/var/cache/apt/archives/linux-u-boot-${BOARD}-${BRANCH}*_${ARCH}.deb | grep Version | awk '{print $(NF)}')
|
UPSTREM_VER=$(dpkg-deb -I "${SDCARD}"/var/cache/apt/archives/linux-u-boot-${BOARD}-${BRANCH}*_${ARCH}.deb | grep Version | awk '{print $(NF)}')
|
||||||
mv "${SDCARD}"/var/cache/apt/archives/linux-u-boot-${BOARD}-${BRANCH}*_${ARCH}.deb ${DEB_STORAGE}/${CHOSEN_UBOOT}_${UPSTREM_VER}_${ARCH}.deb
|
rsync -rq "${SDCARD}"/var/cache/apt/archives/linux-u-boot-${BOARD}-${BRANCH}*_${ARCH}.deb ${DEB_STORAGE}/${CHOSEN_UBOOT}_${UPSTREM_VER}_${ARCH}.deb
|
||||||
|
[[ $? -ne 0 ]] && exit_with_error "U-boot linux-u-boot-${BOARD}-${BRANCH}*_${ARCH}.deb download failed"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# install kernel
|
# install kernel
|
||||||
|
|
|
@ -990,12 +990,12 @@ prepare_host()
|
||||||
display_alert "Build host OS release" "${codename:-(unknown)}" "info"
|
display_alert "Build host OS release" "${codename:-(unknown)}" "info"
|
||||||
|
|
||||||
# Ubuntu Focal x86_64 is the only fully supported host OS release
|
# Ubuntu Focal x86_64 is the only fully supported host OS release
|
||||||
# Ubuntu Bionic x86_64 support is legacy until it breaks
|
# Ubuntu Bionic x86_64 support is no longer supported
|
||||||
# Using Docker/VirtualBox/Vagrant is the only supported way to run the build script on other Linux distributions
|
# Using Docker/VirtualBox/Vagrant is the only supported way to run the build script on other Linux distributions
|
||||||
#
|
#
|
||||||
# NO_HOST_RELEASE_CHECK overrides the check for a supported host system
|
# NO_HOST_RELEASE_CHECK overrides the check for a supported host system
|
||||||
# Disable host OS check at your own risk, any issues reported with unsupported releases will be closed without a discussion
|
# Disable host OS check at your own risk, any issues reported with unsupported releases will be closed without a discussion
|
||||||
if [[ -z $codename || "bionic buster groovy focal debbie tricia ulyana" != *"$codename"* ]]; then
|
if [[ -z $codename || "buster groovy focal debbie tricia ulyana" != *"$codename"* ]]; then
|
||||||
if [[ $NO_HOST_RELEASE_CHECK == yes ]]; then
|
if [[ $NO_HOST_RELEASE_CHECK == yes ]]; then
|
||||||
display_alert "You are running on an unsupported system" "${codename:-(unknown)}" "wrn"
|
display_alert "You are running on an unsupported system" "${codename:-(unknown)}" "wrn"
|
||||||
display_alert "Do not report any errors, warnings or other issues encountered beyond this point" "" "wrn"
|
display_alert "Do not report any errors, warnings or other issues encountered beyond this point" "" "wrn"
|
||||||
|
|
|
@ -307,7 +307,7 @@ fi
|
||||||
display_alert "Building package" "$CHOSEN_ROOTFS" "info"
|
display_alert "Building package" "$CHOSEN_ROOTFS" "info"
|
||||||
fakeroot dpkg-deb -b "${destination}" "${destination}.deb" >> "${DEST}"/debug/install.log 2>&1
|
fakeroot dpkg-deb -b "${destination}" "${destination}.deb" >> "${DEST}"/debug/install.log 2>&1
|
||||||
mkdir -p "${DEB_STORAGE}/${RELEASE}/"
|
mkdir -p "${DEB_STORAGE}/${RELEASE}/"
|
||||||
mv "${destination}.deb" "${DEB_STORAGE}/${RELEASE}/"
|
rsync -rq --delete-after "${destination}.deb" "${DEB_STORAGE}/${RELEASE}/"
|
||||||
# cleanup
|
# cleanup
|
||||||
rm -rf "${destination}"
|
rm -rf "${destination}"
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,56 +0,0 @@
|
||||||
From bf967280def5ef5fe6e4cf1ce27196a9eb988cf5 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Dan Johansen <strit@manjaro.org>
|
|
||||||
Date: Sat, 30 May 2020 17:19:41 +0200
|
|
||||||
Subject: [PATCH] arm64-dts-rockchip-add-cw2015-node-to-PBP
|
|
||||||
|
|
||||||
---
|
|
||||||
.../boot/dts/rockchip/rk3399-pinebook-pro.dts | 26 +++++++++++++++++++
|
|
||||||
1 file changed, 26 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts b/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts
|
|
||||||
index c49982dfd8fc..e814917c013b 100644
|
|
||||||
--- a/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts
|
|
||||||
+++ b/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts
|
|
||||||
@@ -28,6 +28,13 @@ backlight: edp-backlight {
|
|
||||||
pwms = <&pwm0 0 740740 0>;
|
|
||||||
};
|
|
||||||
|
|
||||||
+ bat: battery {
|
|
||||||
+ compatible = "simple-battery";
|
|
||||||
+ charge-full-design-microamp-hours = <9800000>;
|
|
||||||
+ voltage-max-design-microvolt = <4350000>;
|
|
||||||
+ voltage-min-design-microvolt = <3000000>;
|
|
||||||
+ };
|
|
||||||
+
|
|
||||||
edp_panel: edp-panel {
|
|
||||||
compatible = "boe,nv140fhmn49";
|
|
||||||
backlight = <&backlight>;
|
|
||||||
@@ -741,6 +748,25 @@ usbc_dp: endpoint {
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
+
|
|
||||||
+ cw2015@62 {
|
|
||||||
+ compatible = "cellwise,cw2015";
|
|
||||||
+ reg = <0x62>;
|
|
||||||
+ cellwise,battery-profile = /bits/ 8 <
|
|
||||||
+ 0x17 0x67 0x80 0x73 0x6E 0x6C 0x6B 0x63
|
|
||||||
+ 0x77 0x51 0x5C 0x58 0x50 0x4C 0x48 0x36
|
|
||||||
+ 0x15 0x0C 0x0C 0x19 0x5B 0x7D 0x6F 0x69
|
|
||||||
+ 0x69 0x5B 0x0C 0x29 0x20 0x40 0x52 0x59
|
|
||||||
+ 0x57 0x56 0x54 0x4F 0x3B 0x1F 0x7F 0x17
|
|
||||||
+ 0x06 0x1A 0x30 0x5A 0x85 0x93 0x96 0x2D
|
|
||||||
+ 0x48 0x77 0x9C 0xB3 0x80 0x52 0x94 0xCB
|
|
||||||
+ 0x2F 0x00 0x64 0xA5 0xB5 0x11 0xF0 0x11
|
|
||||||
+ >;
|
|
||||||
+ cellwise,monitor-interval-ms = <5000>;
|
|
||||||
+ monitored-battery = <&bat>;
|
|
||||||
+ power-supplies = <&mains_charger>, <&fusb0>;
|
|
||||||
+ };
|
|
||||||
+
|
|
||||||
};
|
|
||||||
|
|
||||||
&i2s1 {
|
|
||||||
--
|
|
||||||
2.26.2
|
|
||||||
|
|
|
@ -281,13 +281,14 @@ index 82b19ebd7838..6f00b17afc15 100644
|
||||||
pmdata->altmodes, paltmode->svid,
|
pmdata->altmodes, paltmode->svid,
|
||||||
paltmode->mode, paltmode->vdo);
|
paltmode->mode, paltmode->vdo);
|
||||||
|
|
||||||
@@ -1064,6 +1101,9 @@ static void tcpm_register_partner_altmodes(struct tcpm_port *port)
|
@@ -1064,7 +1101,9 @@ static void tcpm_register_partner_altmodes(struct tcpm_port *port)
|
||||||
if (!altmode)
|
|
||||||
tcpm_log(port, "Failed to register partner SVID 0x%04x",
|
tcpm_log(port, "Failed to register partner SVID 0x%04x",
|
||||||
modep->altmode_desc[i].svid);
|
modep->altmode_desc[i].svid);
|
||||||
+ else
|
altmode = NULL;
|
||||||
|
- }
|
||||||
|
+ } else {
|
||||||
+ tcpm_log(port, "Registered altmode 0x%04x", modep->altmode_desc[i].svid);
|
+ tcpm_log(port, "Registered altmode 0x%04x", modep->altmode_desc[i].svid);
|
||||||
+
|
+ }
|
||||||
port->partner_altmode[i] = altmode;
|
port->partner_altmode[i] = altmode;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -422,7 +422,7 @@ index 000000000..36890bb7f
|
||||||
+ compatible = "regulator-fixed";
|
+ compatible = "regulator-fixed";
|
||||||
+ gpio = <&gpio0 30 GPIO_ACTIVE_LOW>;
|
+ gpio = <&gpio0 30 GPIO_ACTIVE_LOW>;
|
||||||
+ pinctrl-names = "default";
|
+ pinctrl-names = "default";
|
||||||
+ pinctrl-0 = <&sdmmc0m1_gpio>;
|
+ pinctrl-0 = <&sdmmc0m1_pin>;
|
||||||
+ regulator-boot-on;
|
+ regulator-boot-on;
|
||||||
+ regulator-name = "vcc_sd";
|
+ regulator-name = "vcc_sd";
|
||||||
+ regulator-min-microvolt = <3300000>;
|
+ regulator-min-microvolt = <3300000>;
|
||||||
|
|
|
@ -98,7 +98,7 @@ index 000000000..52732643f
|
||||||
+ compatible = "regulator-fixed";
|
+ compatible = "regulator-fixed";
|
||||||
+ gpio = <&gpio0 30 GPIO_ACTIVE_LOW>;
|
+ gpio = <&gpio0 30 GPIO_ACTIVE_LOW>;
|
||||||
+ pinctrl-names = "default";
|
+ pinctrl-names = "default";
|
||||||
+ pinctrl-0 = <&sdmmc0m1_gpio>;
|
+ pinctrl-0 = <&sdmmc0m1_pin>;
|
||||||
+ regulator-name = "vcc_sd";
|
+ regulator-name = "vcc_sd";
|
||||||
+ regulator-min-microvolt = <3300000>;
|
+ regulator-min-microvolt = <3300000>;
|
||||||
+ regulator-max-microvolt = <3300000>;
|
+ regulator-max-microvolt = <3300000>;
|
||||||
|
|
|
@ -8,9 +8,9 @@ index 1abf76be2..7ad8b090c 100644
|
||||||
|
|
||||||
+source "drivers/staging/fusb30x/Kconfig"
|
+source "drivers/staging/fusb30x/Kconfig"
|
||||||
+
|
+
|
||||||
source "drivers/staging/wilc1000/Kconfig"
|
|
||||||
|
|
||||||
source "drivers/staging/most/Kconfig"
|
source "drivers/staging/most/Kconfig"
|
||||||
|
|
||||||
|
source "drivers/staging/ks7010/Kconfig"
|
||||||
diff --git a/drivers/staging/Makefile b/drivers/staging/Makefile
|
diff --git a/drivers/staging/Makefile b/drivers/staging/Makefile
|
||||||
index ab0cbe881..2e308d901 100644
|
index ab0cbe881..2e308d901 100644
|
||||||
--- a/drivers/staging/Makefile
|
--- a/drivers/staging/Makefile
|
||||||
|
@ -20,9 +20,9 @@ index ab0cbe881..2e308d901 100644
|
||||||
obj-$(CONFIG_FB_TFT) += fbtft/
|
obj-$(CONFIG_FB_TFT) += fbtft/
|
||||||
obj-$(CONFIG_FSL_DPAA2) += fsl-dpaa2/
|
obj-$(CONFIG_FSL_DPAA2) += fsl-dpaa2/
|
||||||
+obj-$(CONFIG_FUSB_30X) += fusb30x/
|
+obj-$(CONFIG_FUSB_30X) += fusb30x/
|
||||||
obj-$(CONFIG_WILC1000) += wilc1000/
|
|
||||||
obj-$(CONFIG_MOST) += most/
|
obj-$(CONFIG_MOST) += most/
|
||||||
obj-$(CONFIG_KS7010) += ks7010/
|
obj-$(CONFIG_KS7010) += ks7010/
|
||||||
|
obj-$(CONFIG_GREYBUS) += greybus/
|
||||||
diff --git a/drivers/staging/fusb30x/Kconfig b/drivers/staging/fusb30x/Kconfig
|
diff --git a/drivers/staging/fusb30x/Kconfig b/drivers/staging/fusb30x/Kconfig
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 000000000..5bb75270f
|
index 000000000..5bb75270f
|
||||||
|
|
|
@ -0,0 +1,37 @@
|
||||||
|
This patch reverts: https://github.com/torvalds/linux/commit/eaf4fac478077d4ed57cbca2c044c4b58a96bd98
|
||||||
|
|
||||||
|
It works around following issues:
|
||||||
|
- no way to change MTU (tx_fifo_size is reported as 0 for Rockchip's dwmac)
|
||||||
|
- no way to set MTU of 1500 (it is aligned to 1536)
|
||||||
|
|
||||||
|
Signed-off-by: Piotr Szczepanik <piter75@gmail.com>
|
||||||
|
|
||||||
|
diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
|
||||||
|
index 122a06972..951d2281f 100644
|
||||||
|
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
|
||||||
|
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
|
||||||
|
@@ -3961,24 +3961,12 @@ static void stmmac_set_rx_mode(struct net_device *dev)
|
||||||
|
static int stmmac_change_mtu(struct net_device *dev, int new_mtu)
|
||||||
|
{
|
||||||
|
struct stmmac_priv *priv = netdev_priv(dev);
|
||||||
|
- int txfifosz = priv->plat->tx_fifo_size;
|
||||||
|
-
|
||||||
|
- if (txfifosz == 0)
|
||||||
|
- txfifosz = priv->dma_cap.tx_fifo_size;
|
||||||
|
-
|
||||||
|
- txfifosz /= priv->plat->tx_queues_to_use;
|
||||||
|
|
||||||
|
if (netif_running(dev)) {
|
||||||
|
netdev_err(priv->dev, "must be stopped to change its MTU\n");
|
||||||
|
return -EBUSY;
|
||||||
|
}
|
||||||
|
|
||||||
|
- new_mtu = STMMAC_ALIGN(new_mtu);
|
||||||
|
-
|
||||||
|
- /* If condition true, FIFO is too small or MTU too large */
|
||||||
|
- if ((txfifosz < new_mtu) || (new_mtu > BUF_SIZE_16KiB))
|
||||||
|
- return -EINVAL;
|
||||||
|
-
|
||||||
|
dev->mtu = new_mtu;
|
||||||
|
|
||||||
|
netdev_update_features(dev);
|
|
@ -4,10 +4,10 @@ that got backported into both 5.8.17 and 5.9.2
|
||||||
Without it rk808 used by all rk3399 boards fails to be probed.
|
Without it rk808 used by all rk3399 boards fails to be probed.
|
||||||
|
|
||||||
diff --git a/drivers/regulator/core.c b/drivers/regulator/core.c
|
diff --git a/drivers/regulator/core.c b/drivers/regulator/core.c
|
||||||
index dababe5b7..18f6d04cd 100644
|
index 4859cf84c..b6dcbb779 100644
|
||||||
--- a/drivers/regulator/core.c
|
--- a/drivers/regulator/core.c
|
||||||
+++ b/drivers/regulator/core.c
|
+++ b/drivers/regulator/core.c
|
||||||
@@ -5187,20 +5187,15 @@ regulator_register(const struct regulator_desc *regulator_desc,
|
@@ -5256,20 +5256,15 @@ regulator_register(const struct regulator_desc *regulator_desc,
|
||||||
else if (regulator_desc->supply_name)
|
else if (regulator_desc->supply_name)
|
||||||
rdev->supply_name = regulator_desc->supply_name;
|
rdev->supply_name = regulator_desc->supply_name;
|
||||||
|
|
||||||
|
|
|
@ -21,6 +21,7 @@ index e69de29..576e190 100644
|
||||||
+ rockchip-spi-jedec-nor.dtbo \
|
+ rockchip-spi-jedec-nor.dtbo \
|
||||||
+ rockchip-spi-spidev.dtbo \
|
+ rockchip-spi-spidev.dtbo \
|
||||||
+ rockchip-uart4.dtbo \
|
+ rockchip-uart4.dtbo \
|
||||||
|
+ rockchip-dwc3-0-host.dtbo \
|
||||||
+ rockchip-w1-gpio.dtbo
|
+ rockchip-w1-gpio.dtbo
|
||||||
+
|
+
|
||||||
+scr-$(CONFIG_ARCH_ROCKCHIP) += \
|
+scr-$(CONFIG_ARCH_ROCKCHIP) += \
|
||||||
|
@ -133,6 +134,13 @@ index e69de29..9512445 100644
|
||||||
+Notice: UART4 cannot be activated together with SPI1 - they share the sam pins.
|
+Notice: UART4 cannot be activated together with SPI1 - they share the sam pins.
|
||||||
+Enabling this overlay disables SPI1.
|
+Enabling this overlay disables SPI1.
|
||||||
+
|
+
|
||||||
|
+### dwc3-0-host
|
||||||
|
+
|
||||||
|
+Forces port 0 of the DesignWare xHCI controller to host mode.
|
||||||
|
+
|
||||||
|
+This can be used on plaforms such as NanoPC-T4, where devices plugged into the
|
||||||
|
+USB-C port may not be detected otherwise.
|
||||||
|
+
|
||||||
+### w1-gpio
|
+### w1-gpio
|
||||||
+
|
+
|
||||||
+Activates 1-Wire GPIO master
|
+Activates 1-Wire GPIO master
|
||||||
|
@ -448,6 +456,25 @@ index 0000000..fe8fb14
|
||||||
+ };
|
+ };
|
||||||
+ };
|
+ };
|
||||||
+};
|
+};
|
||||||
|
diff --git a/arch/arm64/boot/dts/rockchip/overlay/rockchip-dwc3-0-host.dts b/arch/arm64/boot/dts/rockchip/overlay/rockchip-dwc3-0-host.dts
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..abcd123
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/arch/arm64/boot/dts/rockchip/overlay/rockchip-dwc3-0-host.dts
|
||||||
|
@@ -0,0 +1,13 @@
|
||||||
|
+/dts-v1/;
|
||||||
|
+/plugin/;
|
||||||
|
+
|
||||||
|
+/ {
|
||||||
|
+ compatible = "rockchip,rk3399";
|
||||||
|
+
|
||||||
|
+ fragment@0 {
|
||||||
|
+ target = <&usbdrd_dwc3_0>;
|
||||||
|
+ __overlay__ {
|
||||||
|
+ dr_mode = "host";
|
||||||
|
+ };
|
||||||
|
+ };
|
||||||
|
+};
|
||||||
diff --git a/arch/arm64/boot/dts/rockchip/overlay/rockchip-w1-gpio.dts b/arch/arm64/boot/dts/rockchip/overlay/rockchip-w1-gpio.dts
|
diff --git a/arch/arm64/boot/dts/rockchip/overlay/rockchip-w1-gpio.dts b/arch/arm64/boot/dts/rockchip/overlay/rockchip-w1-gpio.dts
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000..bfbc16a
|
index 0000000..bfbc16a
|
||||||
|
|
|
@ -20,7 +20,7 @@ index f4b6799a8..a1041ec3e 100644
|
||||||
- gpio = <&gpio0 RK_PD6 GPIO_ACTIVE_LOW>;
|
- gpio = <&gpio0 RK_PD6 GPIO_ACTIVE_LOW>;
|
||||||
+ gpio = <&gpio0 RK_PD6 GPIO_ACTIVE_HIGH>;
|
+ gpio = <&gpio0 RK_PD6 GPIO_ACTIVE_HIGH>;
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&sdmmc0m1_gpio>;
|
pinctrl-0 = <&sdmmc0m1_pin>;
|
||||||
regulator-boot-on;
|
regulator-boot-on;
|
||||||
regulator-name = "vcc_sd";
|
regulator-name = "vcc_sd";
|
||||||
regulator-min-microvolt = <3300000>;
|
regulator-min-microvolt = <3300000>;
|
||||||
|
|
|
@ -1,48 +0,0 @@
|
||||||
From 6376a1b0e30a1d30c4269083fb5b9a146a944ada Mon Sep 17 00:00:00 2001
|
|
||||||
From: Ziyuan Xu <xzy.xu@rock-chips.com>
|
|
||||||
Date: Wed, 28 Nov 2018 17:39:50 +0800
|
|
||||||
Subject: [PATCH] Revert "clk: rockchip: fix wrong mmc phase shift for rk3328"
|
|
||||||
|
|
||||||
This reverts commit 4ef244988993afc8a6447e990a4ccb4a223d3f20.
|
|
||||||
|
|
||||||
The description for CRU_EMMC/SDMMC/SDIO_CON[0/1] is jumble on
|
|
||||||
chapters, make it clear that the correct shift is 1 that from
|
|
||||||
IC engineer.
|
|
||||||
|
|
||||||
Change-Id: I48dce293ec6ef82a5c78db38efc083227776ea99
|
|
||||||
Signed-off-by: Ziyuan Xu <xzy.xu@rock-chips.com>
|
|
||||||
---
|
|
||||||
drivers/clk/rockchip/clk-rk3328.c | 8 ++++----
|
|
||||||
1 file changed, 4 insertions(+), 4 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/drivers/clk/rockchip/clk-rk3328.c b/drivers/clk/rockchip/clk-rk3328.c
|
|
||||||
index ac6e6163a232..d77925271198 100644
|
|
||||||
--- a/drivers/clk/rockchip/clk-rk3328.c
|
|
||||||
+++ b/drivers/clk/rockchip/clk-rk3328.c
|
|
||||||
@@ -809,22 +809,22 @@ static struct rockchip_clk_branch rk3328_clk_branches[] __initdata = {
|
|
||||||
MMC(SCLK_SDMMC_DRV, "sdmmc_drv", "clk_sdmmc",
|
|
||||||
RK3328_SDMMC_CON0, 1),
|
|
||||||
MMC(SCLK_SDMMC_SAMPLE, "sdmmc_sample", "clk_sdmmc",
|
|
||||||
- RK3328_SDMMC_CON1, 0),
|
|
||||||
+ RK3328_SDMMC_CON1, 1),
|
|
||||||
|
|
||||||
MMC(SCLK_SDIO_DRV, "sdio_drv", "clk_sdio",
|
|
||||||
RK3328_SDIO_CON0, 1),
|
|
||||||
MMC(SCLK_SDIO_SAMPLE, "sdio_sample", "clk_sdio",
|
|
||||||
- RK3328_SDIO_CON1, 0),
|
|
||||||
+ RK3328_SDIO_CON1, 1),
|
|
||||||
|
|
||||||
MMC(SCLK_EMMC_DRV, "emmc_drv", "clk_emmc",
|
|
||||||
RK3328_EMMC_CON0, 1),
|
|
||||||
MMC(SCLK_EMMC_SAMPLE, "emmc_sample", "clk_emmc",
|
|
||||||
- RK3328_EMMC_CON1, 0),
|
|
||||||
+ RK3328_EMMC_CON1, 1),
|
|
||||||
|
|
||||||
MMC(SCLK_SDMMC_EXT_DRV, "sdmmc_ext_drv", "clk_sdmmc_ext",
|
|
||||||
RK3328_SDMMC_EXT_CON0, 1),
|
|
||||||
MMC(SCLK_SDMMC_EXT_SAMPLE, "sdmmc_ext_sample", "clk_sdmmc_ext",
|
|
||||||
- RK3328_SDMMC_EXT_CON1, 0),
|
|
||||||
+ RK3328_SDMMC_EXT_CON1, 1),
|
|
||||||
};
|
|
||||||
|
|
||||||
static const char *const rk3328_critical_clocks[] __initconst = {
|
|
|
@ -1,182 +1,3 @@
|
||||||
From bbfdef43b6f4a65b960ebe6e540233a4c26e9374 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Ezequiel Garcia <ezequiel@collabora.com>
|
|
||||||
Date: Fri, 26 Jun 2020 14:11:29 -0300
|
|
||||||
Subject: [PATCH 01/18] rkvdec: h264: Refuse to decode unsupported bitstream
|
|
||||||
|
|
||||||
The hardware only supports 4:2:2, 4:2:0 or 4:0:0 (monochrome),
|
|
||||||
8-bit or 10-bit depth content.
|
|
||||||
|
|
||||||
Verify that the PPS refers to a supported bitstream, and refuse
|
|
||||||
unsupported bitstreams by failing at TRY_EXT_CTRLS time.
|
|
||||||
|
|
||||||
The driver is currently broken on 10-bit and 4:2:2
|
|
||||||
so disallow those as well.
|
|
||||||
|
|
||||||
Signed-off-by: Ezequiel Garcia <ezequiel@collabora.com>
|
|
||||||
---
|
|
||||||
drivers/staging/media/rkvdec/rkvdec.c | 27 +++++++++++++++++++++++++++
|
|
||||||
1 file changed, 27 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/drivers/staging/media/rkvdec/rkvdec.c b/drivers/staging/media/rkvdec/rkvdec.c
|
|
||||||
index 225eeca73356..0f81b47792f6 100644
|
|
||||||
--- a/drivers/staging/media/rkvdec/rkvdec.c
|
|
||||||
+++ b/drivers/staging/media/rkvdec/rkvdec.c
|
|
||||||
@@ -27,6 +27,32 @@
|
|
||||||
#include "rkvdec.h"
|
|
||||||
#include "rkvdec-regs.h"
|
|
||||||
|
|
||||||
+static int rkvdec_try_ctrl(struct v4l2_ctrl *ctrl)
|
|
||||||
+{
|
|
||||||
+ if (ctrl->id == V4L2_CID_MPEG_VIDEO_H264_SPS) {
|
|
||||||
+ const struct v4l2_ctrl_h264_sps *sps = ctrl->p_cur.p;
|
|
||||||
+ /*
|
|
||||||
+ * TODO: The hardware supports 10-bit and 4:2:2 profiles,
|
|
||||||
+ * but it's currently broken in the driver.
|
|
||||||
+ * Reject them for now, until it's fixed.
|
|
||||||
+ */
|
|
||||||
+ if (sps->chroma_format_idc > 1)
|
|
||||||
+ /* Only 4:0:0 and 4:2:0 are supported */
|
|
||||||
+ return -EINVAL;
|
|
||||||
+ if (sps->bit_depth_luma_minus8 != sps->bit_depth_chroma_minus8)
|
|
||||||
+ /* Luma and chroma bit depth mismatch */
|
|
||||||
+ return -EINVAL;
|
|
||||||
+ if (sps->bit_depth_luma_minus8 != 0)
|
|
||||||
+ /* Only 8-bit is supported */
|
|
||||||
+ return -EINVAL;
|
|
||||||
+ }
|
|
||||||
+ return 0;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+static const struct v4l2_ctrl_ops rkvdec_ctrl_ops = {
|
|
||||||
+ .try_ctrl = rkvdec_try_ctrl,
|
|
||||||
+};
|
|
||||||
+
|
|
||||||
static const struct rkvdec_ctrl_desc rkvdec_h264_ctrl_descs[] = {
|
|
||||||
{
|
|
||||||
.per_request = true,
|
|
||||||
@@ -42,6 +68,7 @@ static const struct rkvdec_ctrl_desc rkvdec_h264_ctrl_descs[] = {
|
|
||||||
.per_request = true,
|
|
||||||
.mandatory = true,
|
|
||||||
.cfg.id = V4L2_CID_MPEG_VIDEO_H264_SPS,
|
|
||||||
+ .cfg.ops = &rkvdec_ctrl_ops,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
.per_request = true,
|
|
||||||
--
|
|
||||||
2.25.1
|
|
||||||
|
|
||||||
|
|
||||||
From 843e3576055776df5cafb3f8e28ea08f9fa71e9a Mon Sep 17 00:00:00 2001
|
|
||||||
From: Ezequiel Garcia <ezequiel@collabora.com>
|
|
||||||
Date: Fri, 26 Jun 2020 14:11:30 -0300
|
|
||||||
Subject: [PATCH 02/18] hantro: h264: Refuse to decode unsupported bitstream
|
|
||||||
|
|
||||||
The hardware only supports 4:2:0 or 4:0:0 (monochrome),
|
|
||||||
8-bit depth content.
|
|
||||||
|
|
||||||
Verify that the PPS refers to a supported bitstream, and refuse
|
|
||||||
unsupported bitstreams by failing at TRY_EXT_CTRLS time.
|
|
||||||
|
|
||||||
Given the JPEG compression level control is the only one
|
|
||||||
that needs setting, a specific ops is provided.
|
|
||||||
|
|
||||||
Signed-off-by: Ezequiel Garcia <ezequiel@collabora.com>
|
|
||||||
---
|
|
||||||
drivers/staging/media/hantro/hantro_drv.c | 29 ++++++++++++++++++++---
|
|
||||||
1 file changed, 26 insertions(+), 3 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/drivers/staging/media/hantro/hantro_drv.c b/drivers/staging/media/hantro/hantro_drv.c
|
|
||||||
index 0db8ad455160..361ffaa821ef 100644
|
|
||||||
--- a/drivers/staging/media/hantro/hantro_drv.c
|
|
||||||
+++ b/drivers/staging/media/hantro/hantro_drv.c
|
|
||||||
@@ -261,7 +261,25 @@ queue_init(void *priv, struct vb2_queue *src_vq, struct vb2_queue *dst_vq)
|
|
||||||
return vb2_queue_init(dst_vq);
|
|
||||||
}
|
|
||||||
|
|
||||||
-static int hantro_s_ctrl(struct v4l2_ctrl *ctrl)
|
|
||||||
+static int hantro_try_ctrl(struct v4l2_ctrl *ctrl)
|
|
||||||
+{
|
|
||||||
+ if (ctrl->id == V4L2_CID_MPEG_VIDEO_H264_SPS) {
|
|
||||||
+ const struct v4l2_ctrl_h264_sps *sps = ctrl->p_cur.p;
|
|
||||||
+
|
|
||||||
+ if (sps->chroma_format_idc > 1)
|
|
||||||
+ /* Only 4:0:0 and 4:2:0 are supported */
|
|
||||||
+ return -EINVAL;
|
|
||||||
+ if (sps->bit_depth_luma_minus8 != sps->bit_depth_chroma_minus8)
|
|
||||||
+ /* Luma and chroma bit depth mismatch */
|
|
||||||
+ return -EINVAL;
|
|
||||||
+ if (sps->bit_depth_luma_minus8 != 0)
|
|
||||||
+ /* Only 8-bit is supported */
|
|
||||||
+ return -EINVAL;
|
|
||||||
+ }
|
|
||||||
+ return 0;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+static int hantro_jpeg_s_ctrl(struct v4l2_ctrl *ctrl)
|
|
||||||
{
|
|
||||||
struct hantro_ctx *ctx;
|
|
||||||
|
|
||||||
@@ -282,7 +300,11 @@ static int hantro_s_ctrl(struct v4l2_ctrl *ctrl)
|
|
||||||
}
|
|
||||||
|
|
||||||
static const struct v4l2_ctrl_ops hantro_ctrl_ops = {
|
|
||||||
- .s_ctrl = hantro_s_ctrl,
|
|
||||||
+ .try_ctrl = hantro_try_ctrl,
|
|
||||||
+};
|
|
||||||
+
|
|
||||||
+static const struct v4l2_ctrl_ops hantro_jpeg_ctrl_ops = {
|
|
||||||
+ .s_ctrl = hantro_jpeg_s_ctrl,
|
|
||||||
};
|
|
||||||
|
|
||||||
static const struct hantro_ctrl controls[] = {
|
|
||||||
@@ -294,7 +316,7 @@ static const struct hantro_ctrl controls[] = {
|
|
||||||
.max = 100,
|
|
||||||
.step = 1,
|
|
||||||
.def = 50,
|
|
||||||
- .ops = &hantro_ctrl_ops,
|
|
||||||
+ .ops = &hantro_jpeg_ctrl_ops,
|
|
||||||
},
|
|
||||||
}, {
|
|
||||||
.codec = HANTRO_MPEG2_DECODER,
|
|
||||||
@@ -325,6 +347,7 @@ static const struct hantro_ctrl controls[] = {
|
|
||||||
.codec = HANTRO_H264_DECODER,
|
|
||||||
.cfg = {
|
|
||||||
.id = V4L2_CID_MPEG_VIDEO_H264_SPS,
|
|
||||||
+ .ops = &hantro_ctrl_ops,
|
|
||||||
},
|
|
||||||
}, {
|
|
||||||
.codec = HANTRO_H264_DECODER,
|
|
||||||
--
|
|
||||||
2.25.1
|
|
||||||
|
|
||||||
|
|
||||||
From 22400b16c3d7af8cf3b044277264cc5fc3a07c54 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Jonas Karlman <jonas@kwiboo.se>
|
|
||||||
Date: Sun, 5 Jul 2020 21:48:56 +0000
|
|
||||||
Subject: [PATCH 03/18] fixup! rkvdec: h264: Refuse to decode unsupported
|
|
||||||
bitstream
|
|
||||||
|
|
||||||
---
|
|
||||||
drivers/staging/media/rkvdec/rkvdec.c | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/drivers/staging/media/rkvdec/rkvdec.c b/drivers/staging/media/rkvdec/rkvdec.c
|
|
||||||
index 0f81b47792f6..55dc27171ce4 100644
|
|
||||||
--- a/drivers/staging/media/rkvdec/rkvdec.c
|
|
||||||
+++ b/drivers/staging/media/rkvdec/rkvdec.c
|
|
||||||
@@ -30,7 +30,7 @@
|
|
||||||
static int rkvdec_try_ctrl(struct v4l2_ctrl *ctrl)
|
|
||||||
{
|
|
||||||
if (ctrl->id == V4L2_CID_MPEG_VIDEO_H264_SPS) {
|
|
||||||
- const struct v4l2_ctrl_h264_sps *sps = ctrl->p_cur.p;
|
|
||||||
+ const struct v4l2_ctrl_h264_sps *sps = ctrl->p_new.p;
|
|
||||||
/*
|
|
||||||
* TODO: The hardware supports 10-bit and 4:2:2 profiles,
|
|
||||||
* but it's currently broken in the driver.
|
|
||||||
--
|
|
||||||
2.25.1
|
|
||||||
|
|
||||||
|
|
||||||
From 974229575250290e49d004933cb0aade87fa4566 Mon Sep 17 00:00:00 2001
|
From 974229575250290e49d004933cb0aade87fa4566 Mon Sep 17 00:00:00 2001
|
||||||
From: Jonas Karlman <jonas@kwiboo.se>
|
From: Jonas Karlman <jonas@kwiboo.se>
|
||||||
Date: Mon, 6 Jul 2020 21:54:33 +0000
|
Date: Mon, 6 Jul 2020 21:54:33 +0000
|
||||||
|
@ -294,7 +115,7 @@ index 4ab8f7e0566b..7a9f78bc0a55 100644
|
||||||
+ struct rkvdec_ctx *ctx = container_of(ctrl->handler, struct rkvdec_ctx, ctrl_hdl);
|
+ struct rkvdec_ctx *ctx = container_of(ctrl->handler, struct rkvdec_ctx, ctrl_hdl);
|
||||||
+
|
+
|
||||||
if (ctrl->id == V4L2_CID_MPEG_VIDEO_H264_SPS) {
|
if (ctrl->id == V4L2_CID_MPEG_VIDEO_H264_SPS) {
|
||||||
const struct v4l2_ctrl_h264_sps *sps = ctrl->p_new.p;
|
const struct v4l2_ctrl_h264_sps *sps = ctrl->p_new.p_h264_sps;
|
||||||
+ unsigned int width, height;
|
+ unsigned int width, height;
|
||||||
/*
|
/*
|
||||||
* TODO: The hardware supports 10-bit and 4:2:2 profiles,
|
* TODO: The hardware supports 10-bit and 4:2:2 profiles,
|
||||||
|
@ -1256,110 +1077,6 @@ index 4faee9262392..b21031535330 100644
|
||||||
2.25.1
|
2.25.1
|
||||||
|
|
||||||
|
|
||||||
From 4bf8f995e8b6f06db483cee2952de5662bb5cf37 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Ben Davis <ben.davis@arm.com>
|
|
||||||
Date: Mon, 1 Jun 2020 17:28:17 +0100
|
|
||||||
Subject: [PATCH 16/18] drm: drm_fourcc: add NV15, Q410, Q401 YUV formats
|
|
||||||
|
|
||||||
DRM_FORMAT_NV15 is a 2 plane format suitable for linear and 16x16
|
|
||||||
block-linear memory layouts (DRM_FORMAT_MOD_SAMSUNG_16_16_TILE). The
|
|
||||||
format is similar to P010 with 4:2:0 sub-sampling but has no padding
|
|
||||||
between components. Instead, luminance and chrominance samples are
|
|
||||||
grouped into 4s so that each group is packed into an integer number
|
|
||||||
of bytes:
|
|
||||||
|
|
||||||
YYYY = UVUV = 4 * 10 bits = 40 bits = 5 bytes
|
|
||||||
|
|
||||||
The '15' suffix refers to the optimum effective bits per pixel which is
|
|
||||||
achieved when the total number of luminance samples is a multiple of 8.
|
|
||||||
|
|
||||||
Q410 and Q401 are both 3 plane non-subsampled formats with 16 bits per
|
|
||||||
component, but only 10 bits are used and 6 are padded. 'Q' is chosen
|
|
||||||
as the first letter to denote 3 plane YUV444, (and is the next letter
|
|
||||||
along from P which is usually 2 plane).
|
|
||||||
|
|
||||||
V2: Updated block_w of NV15 to {4, 2, 0}
|
|
||||||
V3: Updated commit message to include specific modifier name
|
|
||||||
|
|
||||||
NV15:
|
|
||||||
Tested-by: Jonas Karlman <jonas@kwiboo.se>
|
|
||||||
|
|
||||||
Reviewed-by: Brian Starkey <brian.starkey@arm.com>
|
|
||||||
Signed-off-by: Ben Davis <ben.davis@arm.com>
|
|
||||||
Signed-off-by: Liviu Dudau <Liviu.Dudau@arm.com>
|
|
||||||
Link: https://patchwork.freedesktop.org/patch/msgid/20200601162817.18230-1-ben.davis@arm.com
|
|
||||||
---
|
|
||||||
drivers/gpu/drm/drm_fourcc.c | 12 ++++++++++++
|
|
||||||
include/uapi/drm/drm_fourcc.h | 22 ++++++++++++++++++++++
|
|
||||||
2 files changed, 34 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/drivers/gpu/drm/drm_fourcc.c b/drivers/gpu/drm/drm_fourcc.c
|
|
||||||
index b234bfaeda06..722c7ebe4e88 100644
|
|
||||||
--- a/drivers/gpu/drm/drm_fourcc.c
|
|
||||||
+++ b/drivers/gpu/drm/drm_fourcc.c
|
|
||||||
@@ -274,6 +274,18 @@ const struct drm_format_info *__drm_format_info(u32 format)
|
|
||||||
{ .format = DRM_FORMAT_YUV420_10BIT, .depth = 0,
|
|
||||||
.num_planes = 1, .cpp = { 0, 0, 0 }, .hsub = 2, .vsub = 2,
|
|
||||||
.is_yuv = true },
|
|
||||||
+ { .format = DRM_FORMAT_NV15, .depth = 0,
|
|
||||||
+ .num_planes = 2, .char_per_block = { 5, 5, 0 },
|
|
||||||
+ .block_w = { 4, 2, 0 }, .block_h = { 1, 1, 0 }, .hsub = 2,
|
|
||||||
+ .vsub = 2, .is_yuv = true },
|
|
||||||
+ { .format = DRM_FORMAT_Q410, .depth = 0,
|
|
||||||
+ .num_planes = 3, .char_per_block = { 2, 2, 2 },
|
|
||||||
+ .block_w = { 1, 1, 1 }, .block_h = { 1, 1, 1 }, .hsub = 0,
|
|
||||||
+ .vsub = 0, .is_yuv = true },
|
|
||||||
+ { .format = DRM_FORMAT_Q401, .depth = 0,
|
|
||||||
+ .num_planes = 3, .char_per_block = { 2, 2, 2 },
|
|
||||||
+ .block_w = { 1, 1, 1 }, .block_h = { 1, 1, 1 }, .hsub = 0,
|
|
||||||
+ .vsub = 0, .is_yuv = true },
|
|
||||||
};
|
|
||||||
|
|
||||||
unsigned int i;
|
|
||||||
diff --git a/include/uapi/drm/drm_fourcc.h b/include/uapi/drm/drm_fourcc.h
|
|
||||||
index 490143500a50..8ba2d9153a94 100644
|
|
||||||
--- a/include/uapi/drm/drm_fourcc.h
|
|
||||||
+++ b/include/uapi/drm/drm_fourcc.h
|
|
||||||
@@ -236,6 +236,12 @@ extern "C" {
|
|
||||||
#define DRM_FORMAT_NV61 fourcc_code('N', 'V', '6', '1') /* 2x1 subsampled Cb:Cr plane */
|
|
||||||
#define DRM_FORMAT_NV24 fourcc_code('N', 'V', '2', '4') /* non-subsampled Cr:Cb plane */
|
|
||||||
#define DRM_FORMAT_NV42 fourcc_code('N', 'V', '4', '2') /* non-subsampled Cb:Cr plane */
|
|
||||||
+/*
|
|
||||||
+ * 2 plane YCbCr
|
|
||||||
+ * index 0 = Y plane, [39:0] Y3:Y2:Y1:Y0 little endian
|
|
||||||
+ * index 1 = Cr:Cb plane, [39:0] Cr1:Cb1:Cr0:Cb0 little endian
|
|
||||||
+ */
|
|
||||||
+#define DRM_FORMAT_NV15 fourcc_code('N', 'V', '1', '5') /* 2x2 subsampled Cr:Cb plane */
|
|
||||||
|
|
||||||
/*
|
|
||||||
* 2 plane YCbCr MSB aligned
|
|
||||||
@@ -265,6 +271,22 @@ extern "C" {
|
|
||||||
*/
|
|
||||||
#define DRM_FORMAT_P016 fourcc_code('P', '0', '1', '6') /* 2x2 subsampled Cr:Cb plane 16 bits per channel */
|
|
||||||
|
|
||||||
+/* 3 plane non-subsampled (444) YCbCr
|
|
||||||
+ * 16 bits per component, but only 10 bits are used and 6 bits are padded
|
|
||||||
+ * index 0: Y plane, [15:0] Y:x [10:6] little endian
|
|
||||||
+ * index 1: Cb plane, [15:0] Cb:x [10:6] little endian
|
|
||||||
+ * index 2: Cr plane, [15:0] Cr:x [10:6] little endian
|
|
||||||
+ */
|
|
||||||
+#define DRM_FORMAT_Q410 fourcc_code('Q', '4', '1', '0')
|
|
||||||
+
|
|
||||||
+/* 3 plane non-subsampled (444) YCrCb
|
|
||||||
+ * 16 bits per component, but only 10 bits are used and 6 bits are padded
|
|
||||||
+ * index 0: Y plane, [15:0] Y:x [10:6] little endian
|
|
||||||
+ * index 1: Cr plane, [15:0] Cr:x [10:6] little endian
|
|
||||||
+ * index 2: Cb plane, [15:0] Cb:x [10:6] little endian
|
|
||||||
+ */
|
|
||||||
+#define DRM_FORMAT_Q401 fourcc_code('Q', '4', '0', '1')
|
|
||||||
+
|
|
||||||
/*
|
|
||||||
* 3 plane YCbCr
|
|
||||||
* index 0: Y plane, [7:0] Y
|
|
||||||
--
|
|
||||||
2.25.1
|
|
||||||
|
|
||||||
|
|
||||||
From 588b8545dda3cd0ef8f066dcafff3fa7a93e4056 Mon Sep 17 00:00:00 2001
|
From 588b8545dda3cd0ef8f066dcafff3fa7a93e4056 Mon Sep 17 00:00:00 2001
|
||||||
From: Jonas Karlman <jonas@kwiboo.se>
|
From: Jonas Karlman <jonas@kwiboo.se>
|
||||||
Date: Mon, 6 Jul 2020 22:30:13 +0000
|
Date: Mon, 6 Jul 2020 22:30:13 +0000
|
||||||
|
|
|
@ -73,7 +73,7 @@ index 26af951be980..d2613ec774c1 100644
|
||||||
+ resets = <&cru SRST_TSADC>;
|
+ resets = <&cru SRST_TSADC>;
|
||||||
+ reset-names = "tsadc-apb";
|
+ reset-names = "tsadc-apb";
|
||||||
+ pinctrl-names = "gpio", "otpout";
|
+ pinctrl-names = "gpio", "otpout";
|
||||||
+ pinctrl-0 = <&tsadc_otp_gpio>;
|
+ pinctrl-0 = <&tsadc_otp_pin>;
|
||||||
+ pinctrl-1 = <&tsadc_otp_out>;
|
+ pinctrl-1 = <&tsadc_otp_out>;
|
||||||
+ #thermal-sensor-cells = <1>;
|
+ #thermal-sensor-cells = <1>;
|
||||||
+ rockchip,hw-tshut-temp = <120000>;
|
+ rockchip,hw-tshut-temp = <120000>;
|
||||||
|
|
|
@ -86,6 +86,7 @@ index e26e72e3315f..db130be87d47 100644
|
||||||
pinctrl-0 = <&i2s_8ch_0_sclktx
|
pinctrl-0 = <&i2s_8ch_0_sclktx
|
||||||
&i2s_8ch_0_sclkrx
|
&i2s_8ch_0_sclkrx
|
||||||
diff --git a/sound/soc/rockchip/rockchip_i2s.c b/sound/soc/rockchip/rockchip_i2s.c
|
diff --git a/sound/soc/rockchip/rockchip_i2s.c b/sound/soc/rockchip/rockchip_i2s.c
|
||||||
|
index 61c984f10d8e..e6125ebfe5a9 100644
|
||||||
--- a/sound/soc/rockchip/rockchip_i2s.c
|
--- a/sound/soc/rockchip/rockchip_i2s.c
|
||||||
+++ b/sound/soc/rockchip/rockchip_i2s.c
|
+++ b/sound/soc/rockchip/rockchip_i2s.c
|
||||||
@@ -1,4 +1,3 @@
|
@@ -1,4 +1,3 @@
|
||||||
|
@ -283,7 +284,7 @@ diff --git a/sound/soc/rockchip/rockchip_i2s.c b/sound/soc/rockchip/rockchip_i2s
|
||||||
struct snd_soc_dai *dai)
|
struct snd_soc_dai *dai)
|
||||||
{
|
{
|
||||||
struct rk_i2s_dev *i2s = to_info(dai);
|
struct rk_i2s_dev *i2s = to_info(dai);
|
||||||
- struct snd_soc_pcm_runtime *rtd = substream->private_data;
|
- struct snd_soc_pcm_runtime *rtd = asoc_substream_to_rtd(substream);
|
||||||
unsigned int val = 0;
|
unsigned int val = 0;
|
||||||
unsigned int mclk_rate, bclk_rate, div_bclk, div_lrck;
|
unsigned int mclk_rate, bclk_rate, div_bclk, div_lrck;
|
||||||
|
|
||||||
|
@ -314,7 +315,17 @@ diff --git a/sound/soc/rockchip/rockchip_i2s.c b/sound/soc/rockchip/rockchip_i2s
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -471,7 +500,6 @@ static struct snd_soc_dai_driver rockchip_i2s_dai = {
|
@@ -419,9 +448,6 @@ static int rockchip_i2s_set_sysclk(struct snd_soc_dai *cpu_dai, int clk_id,
|
||||||
|
struct rk_i2s_dev *i2s = to_info(cpu_dai);
|
||||||
|
int ret;
|
||||||
|
|
||||||
|
- if (freq == 0)
|
||||||
|
- return 0;
|
||||||
|
-
|
||||||
|
ret = clk_set_rate(i2s->mclk, freq);
|
||||||
|
if (ret)
|
||||||
|
dev_err(i2s->dev, "Fail to set mclk %d\n", ret);
|
||||||
|
@@ -471,7 +497,6 @@ static struct snd_soc_dai_driver rockchip_i2s_dai = {
|
||||||
SNDRV_PCM_FMTBIT_S32_LE),
|
SNDRV_PCM_FMTBIT_S32_LE),
|
||||||
},
|
},
|
||||||
.ops = &rockchip_i2s_dai_ops,
|
.ops = &rockchip_i2s_dai_ops,
|
||||||
|
@ -322,7 +333,7 @@ diff --git a/sound/soc/rockchip/rockchip_i2s.c b/sound/soc/rockchip/rockchip_i2s
|
||||||
};
|
};
|
||||||
|
|
||||||
static const struct snd_soc_component_driver rockchip_i2s_component = {
|
static const struct snd_soc_component_driver rockchip_i2s_component = {
|
||||||
@@ -567,9 +595,16 @@ static const struct rk_i2s_pins rk3399_i2s_pins = {
|
@@ -567,9 +592,16 @@ static const struct rk_i2s_pins rk3399_i2s_pins = {
|
||||||
};
|
};
|
||||||
|
|
||||||
static const struct of_device_id rockchip_i2s_match[] = {
|
static const struct of_device_id rockchip_i2s_match[] = {
|
||||||
|
@ -339,7 +350,7 @@ diff --git a/sound/soc/rockchip/rockchip_i2s.c b/sound/soc/rockchip/rockchip_i2s
|
||||||
{ .compatible = "rockchip,rk3399-i2s", .data = &rk3399_i2s_pins },
|
{ .compatible = "rockchip,rk3399-i2s", .data = &rk3399_i2s_pins },
|
||||||
{},
|
{},
|
||||||
};
|
};
|
||||||
@@ -586,8 +621,10 @@ static int rockchip_i2s_probe(struct platform_device *pdev)
|
@@ -586,8 +618,10 @@ static int rockchip_i2s_probe(struct platform_device *pdev)
|
||||||
int val;
|
int val;
|
||||||
|
|
||||||
i2s = devm_kzalloc(&pdev->dev, sizeof(*i2s), GFP_KERNEL);
|
i2s = devm_kzalloc(&pdev->dev, sizeof(*i2s), GFP_KERNEL);
|
||||||
|
@ -351,7 +362,7 @@ diff --git a/sound/soc/rockchip/rockchip_i2s.c b/sound/soc/rockchip/rockchip_i2s
|
||||||
|
|
||||||
i2s->dev = &pdev->dev;
|
i2s->dev = &pdev->dev;
|
||||||
|
|
||||||
@@ -600,6 +637,9 @@ static int rockchip_i2s_probe(struct platform_device *pdev)
|
@@ -600,6 +634,9 @@ static int rockchip_i2s_probe(struct platform_device *pdev)
|
||||||
i2s->pins = of_id->data;
|
i2s->pins = of_id->data;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -361,7 +372,7 @@ diff --git a/sound/soc/rockchip/rockchip_i2s.c b/sound/soc/rockchip/rockchip_i2s
|
||||||
/* try to prepare related clocks */
|
/* try to prepare related clocks */
|
||||||
i2s->hclk = devm_clk_get(&pdev->dev, "i2s_hclk");
|
i2s->hclk = devm_clk_get(&pdev->dev, "i2s_hclk");
|
||||||
if (IS_ERR(i2s->hclk)) {
|
if (IS_ERR(i2s->hclk)) {
|
||||||
@@ -633,11 +673,11 @@ static int rockchip_i2s_probe(struct platform_device *pdev)
|
@@ -633,11 +670,11 @@ static int rockchip_i2s_probe(struct platform_device *pdev)
|
||||||
|
|
||||||
i2s->playback_dma_data.addr = res->start + I2S_TXDR;
|
i2s->playback_dma_data.addr = res->start + I2S_TXDR;
|
||||||
i2s->playback_dma_data.addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES;
|
i2s->playback_dma_data.addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES;
|
||||||
|
@ -375,7 +386,7 @@ diff --git a/sound/soc/rockchip/rockchip_i2s.c b/sound/soc/rockchip/rockchip_i2s
|
||||||
|
|
||||||
dev_set_drvdata(&pdev->dev, i2s);
|
dev_set_drvdata(&pdev->dev, i2s);
|
||||||
|
|
||||||
@@ -648,13 +688,12 @@ static int rockchip_i2s_probe(struct platform_device *pdev)
|
@@ -648,13 +685,12 @@ static int rockchip_i2s_probe(struct platform_device *pdev)
|
||||||
goto err_pm_disable;
|
goto err_pm_disable;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -393,7 +404,7 @@ diff --git a/sound/soc/rockchip/rockchip_i2s.c b/sound/soc/rockchip/rockchip_i2s
|
||||||
if (!of_property_read_u32(node, "rockchip,playback-channels", &val)) {
|
if (!of_property_read_u32(node, "rockchip,playback-channels", &val)) {
|
||||||
if (val >= 2 && val <= 8)
|
if (val >= 2 && val <= 8)
|
||||||
soc_dai->playback.channels_max = val;
|
soc_dai->playback.channels_max = val;
|
||||||
@@ -665,6 +704,24 @@ static int rockchip_i2s_probe(struct platform_device *pdev)
|
@@ -665,6 +701,24 @@ static int rockchip_i2s_probe(struct platform_device *pdev)
|
||||||
soc_dai->capture.channels_max = val;
|
soc_dai->capture.channels_max = val;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -418,7 +429,7 @@ diff --git a/sound/soc/rockchip/rockchip_i2s.c b/sound/soc/rockchip/rockchip_i2s
|
||||||
ret = devm_snd_soc_register_component(&pdev->dev,
|
ret = devm_snd_soc_register_component(&pdev->dev,
|
||||||
&rockchip_i2s_component,
|
&rockchip_i2s_component,
|
||||||
soc_dai, 1);
|
soc_dai, 1);
|
||||||
@@ -674,10 +731,12 @@ static int rockchip_i2s_probe(struct platform_device *pdev)
|
@@ -674,10 +728,12 @@ static int rockchip_i2s_probe(struct platform_device *pdev)
|
||||||
goto err_suspend;
|
goto err_suspend;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -433,7 +444,7 @@ diff --git a/sound/soc/rockchip/rockchip_i2s.c b/sound/soc/rockchip/rockchip_i2s
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
@@ -699,14 +758,41 @@ static int rockchip_i2s_remove(struct platform_device *pdev)
|
@@ -699,14 +755,41 @@ static int rockchip_i2s_remove(struct platform_device *pdev)
|
||||||
if (!pm_runtime_status_suspended(&pdev->dev))
|
if (!pm_runtime_status_suspended(&pdev->dev))
|
||||||
i2s_runtime_suspend(&pdev->dev);
|
i2s_runtime_suspend(&pdev->dev);
|
||||||
|
|
||||||
|
@ -476,6 +487,7 @@ diff --git a/sound/soc/rockchip/rockchip_i2s.c b/sound/soc/rockchip/rockchip_i2s
|
||||||
|
|
||||||
static struct platform_driver rockchip_i2s_driver = {
|
static struct platform_driver rockchip_i2s_driver = {
|
||||||
diff --git a/sound/soc/rockchip/rockchip_i2s_tdm.c b/sound/soc/rockchip/rockchip_i2s_tdm.c
|
diff --git a/sound/soc/rockchip/rockchip_i2s_tdm.c b/sound/soc/rockchip/rockchip_i2s_tdm.c
|
||||||
|
index 39c1b98f9593..499b991c3c1a 100644
|
||||||
--- a/sound/soc/rockchip/rockchip_i2s_tdm.c
|
--- a/sound/soc/rockchip/rockchip_i2s_tdm.c
|
||||||
+++ b/sound/soc/rockchip/rockchip_i2s_tdm.c
|
+++ b/sound/soc/rockchip/rockchip_i2s_tdm.c
|
||||||
@@ -15,9 +15,13 @@
|
@@ -15,9 +15,13 @@
|
||||||
|
@ -1850,6 +1862,7 @@ diff --git a/sound/soc/rockchip/rockchip_i2s_tdm.c b/sound/soc/rockchip/rockchip
|
||||||
if (ret) {
|
if (ret) {
|
||||||
dev_err(&pdev->dev, "Could not register PCM\n");
|
dev_err(&pdev->dev, "Could not register PCM\n");
|
||||||
diff --git a/sound/soc/rockchip/rockchip_i2s_tdm.h b/sound/soc/rockchip/rockchip_i2s_tdm.h
|
diff --git a/sound/soc/rockchip/rockchip_i2s_tdm.h b/sound/soc/rockchip/rockchip_i2s_tdm.h
|
||||||
|
index 1a28523cfd82..3a69fa276f8f 100644
|
||||||
--- a/sound/soc/rockchip/rockchip_i2s_tdm.h
|
--- a/sound/soc/rockchip/rockchip_i2s_tdm.h
|
||||||
+++ b/sound/soc/rockchip/rockchip_i2s_tdm.h
|
+++ b/sound/soc/rockchip/rockchip_i2s_tdm.h
|
||||||
@@ -18,6 +18,9 @@
|
@@ -18,6 +18,9 @@
|
||||||
|
|
3339
patch/kernel/rockpis-legacy/patch-4.4.228-229.patch
Normal file
3339
patch/kernel/rockpis-legacy/patch-4.4.228-229.patch
Normal file
File diff suppressed because it is too large
Load diff
679
patch/kernel/rockpis-legacy/patch-4.4.229-230.patch
Normal file
679
patch/kernel/rockpis-legacy/patch-4.4.229-230.patch
Normal file
|
@ -0,0 +1,679 @@
|
||||||
|
diff --git a/Makefile b/Makefile
|
||||||
|
index 99b211904ac5..847f2537d39d 100644
|
||||||
|
--- a/Makefile
|
||||||
|
+++ b/Makefile
|
||||||
|
@@ -1,6 +1,6 @@
|
||||||
|
VERSION = 4
|
||||||
|
PATCHLEVEL = 4
|
||||||
|
-SUBLEVEL = 229
|
||||||
|
+SUBLEVEL = 230
|
||||||
|
EXTRAVERSION =
|
||||||
|
NAME = Blurry Fish Butt
|
||||||
|
|
||||||
|
diff --git a/arch/mips/kernel/traps.c b/arch/mips/kernel/traps.c
|
||||||
|
index 6abd6b41c13d..36472fc266fd 100644
|
||||||
|
--- a/arch/mips/kernel/traps.c
|
||||||
|
+++ b/arch/mips/kernel/traps.c
|
||||||
|
@@ -2080,6 +2080,7 @@ static void configure_status(void)
|
||||||
|
|
||||||
|
change_c0_status(ST0_CU|ST0_MX|ST0_RE|ST0_FR|ST0_BEV|ST0_TS|ST0_KX|ST0_SX|ST0_UX,
|
||||||
|
status_set);
|
||||||
|
+ back_to_back_c0_hazard();
|
||||||
|
}
|
||||||
|
|
||||||
|
/* configure HWRENA register */
|
||||||
|
diff --git a/crypto/af_alg.c b/crypto/af_alg.c
|
||||||
|
index cf3975ee4fd8..c48ddeb6c328 100644
|
||||||
|
--- a/crypto/af_alg.c
|
||||||
|
+++ b/crypto/af_alg.c
|
||||||
|
@@ -130,21 +130,15 @@ EXPORT_SYMBOL_GPL(af_alg_release);
|
||||||
|
void af_alg_release_parent(struct sock *sk)
|
||||||
|
{
|
||||||
|
struct alg_sock *ask = alg_sk(sk);
|
||||||
|
- unsigned int nokey = ask->nokey_refcnt;
|
||||||
|
- bool last = nokey && !ask->refcnt;
|
||||||
|
+ unsigned int nokey = atomic_read(&ask->nokey_refcnt);
|
||||||
|
|
||||||
|
sk = ask->parent;
|
||||||
|
ask = alg_sk(sk);
|
||||||
|
|
||||||
|
- local_bh_disable();
|
||||||
|
- bh_lock_sock(sk);
|
||||||
|
- ask->nokey_refcnt -= nokey;
|
||||||
|
- if (!last)
|
||||||
|
- last = !--ask->refcnt;
|
||||||
|
- bh_unlock_sock(sk);
|
||||||
|
- local_bh_enable();
|
||||||
|
+ if (nokey)
|
||||||
|
+ atomic_dec(&ask->nokey_refcnt);
|
||||||
|
|
||||||
|
- if (last)
|
||||||
|
+ if (atomic_dec_and_test(&ask->refcnt))
|
||||||
|
sock_put(sk);
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL_GPL(af_alg_release_parent);
|
||||||
|
@@ -189,7 +183,7 @@ static int alg_bind(struct socket *sock, struct sockaddr *uaddr, int addr_len)
|
||||||
|
|
||||||
|
err = -EBUSY;
|
||||||
|
lock_sock(sk);
|
||||||
|
- if (ask->refcnt | ask->nokey_refcnt)
|
||||||
|
+ if (atomic_read(&ask->refcnt))
|
||||||
|
goto unlock;
|
||||||
|
|
||||||
|
swap(ask->type, type);
|
||||||
|
@@ -238,7 +232,7 @@ static int alg_setsockopt(struct socket *sock, int level, int optname,
|
||||||
|
int err = -EBUSY;
|
||||||
|
|
||||||
|
lock_sock(sk);
|
||||||
|
- if (ask->refcnt)
|
||||||
|
+ if (atomic_read(&ask->refcnt) != atomic_read(&ask->nokey_refcnt))
|
||||||
|
goto unlock;
|
||||||
|
|
||||||
|
type = ask->type;
|
||||||
|
@@ -305,12 +299,14 @@ int af_alg_accept(struct sock *sk, struct socket *newsock)
|
||||||
|
|
||||||
|
sk2->sk_family = PF_ALG;
|
||||||
|
|
||||||
|
- if (nokey || !ask->refcnt++)
|
||||||
|
+ if (atomic_inc_return_relaxed(&ask->refcnt) == 1)
|
||||||
|
sock_hold(sk);
|
||||||
|
- ask->nokey_refcnt += nokey;
|
||||||
|
+ if (nokey) {
|
||||||
|
+ atomic_inc(&ask->nokey_refcnt);
|
||||||
|
+ atomic_set(&alg_sk(sk2)->nokey_refcnt, 1);
|
||||||
|
+ }
|
||||||
|
alg_sk(sk2)->parent = sk;
|
||||||
|
alg_sk(sk2)->type = type;
|
||||||
|
- alg_sk(sk2)->nokey_refcnt = nokey;
|
||||||
|
|
||||||
|
newsock->ops = type->ops;
|
||||||
|
newsock->state = SS_CONNECTED;
|
||||||
|
diff --git a/crypto/algif_aead.c b/crypto/algif_aead.c
|
||||||
|
index faea9d728fd2..c50175ad5485 100644
|
||||||
|
--- a/crypto/algif_aead.c
|
||||||
|
+++ b/crypto/algif_aead.c
|
||||||
|
@@ -528,7 +528,7 @@ static int aead_check_key(struct socket *sock)
|
||||||
|
struct alg_sock *ask = alg_sk(sk);
|
||||||
|
|
||||||
|
lock_sock(sk);
|
||||||
|
- if (ask->refcnt)
|
||||||
|
+ if (!atomic_read(&ask->nokey_refcnt))
|
||||||
|
goto unlock_child;
|
||||||
|
|
||||||
|
psk = ask->parent;
|
||||||
|
@@ -540,11 +540,8 @@ static int aead_check_key(struct socket *sock)
|
||||||
|
if (!tfm->has_key)
|
||||||
|
goto unlock;
|
||||||
|
|
||||||
|
- if (!pask->refcnt++)
|
||||||
|
- sock_hold(psk);
|
||||||
|
-
|
||||||
|
- ask->refcnt = 1;
|
||||||
|
- sock_put(psk);
|
||||||
|
+ atomic_dec(&pask->nokey_refcnt);
|
||||||
|
+ atomic_set(&ask->nokey_refcnt, 0);
|
||||||
|
|
||||||
|
err = 0;
|
||||||
|
|
||||||
|
diff --git a/crypto/algif_hash.c b/crypto/algif_hash.c
|
||||||
|
index 8d8b3eeba725..fd23261f1d16 100644
|
||||||
|
--- a/crypto/algif_hash.c
|
||||||
|
+++ b/crypto/algif_hash.c
|
||||||
|
@@ -252,7 +252,7 @@ static int hash_check_key(struct socket *sock)
|
||||||
|
struct alg_sock *ask = alg_sk(sk);
|
||||||
|
|
||||||
|
lock_sock(sk);
|
||||||
|
- if (ask->refcnt)
|
||||||
|
+ if (!atomic_read(&ask->nokey_refcnt))
|
||||||
|
goto unlock_child;
|
||||||
|
|
||||||
|
psk = ask->parent;
|
||||||
|
@@ -264,11 +264,8 @@ static int hash_check_key(struct socket *sock)
|
||||||
|
if (!tfm->has_key)
|
||||||
|
goto unlock;
|
||||||
|
|
||||||
|
- if (!pask->refcnt++)
|
||||||
|
- sock_hold(psk);
|
||||||
|
-
|
||||||
|
- ask->refcnt = 1;
|
||||||
|
- sock_put(psk);
|
||||||
|
+ atomic_dec(&pask->nokey_refcnt);
|
||||||
|
+ atomic_set(&ask->nokey_refcnt, 0);
|
||||||
|
|
||||||
|
err = 0;
|
||||||
|
|
||||||
|
diff --git a/crypto/algif_skcipher.c b/crypto/algif_skcipher.c
|
||||||
|
index 9bd4691cc5c5..0e200bf5aa82 100644
|
||||||
|
--- a/crypto/algif_skcipher.c
|
||||||
|
+++ b/crypto/algif_skcipher.c
|
||||||
|
@@ -774,7 +774,7 @@ static int skcipher_check_key(struct socket *sock)
|
||||||
|
struct alg_sock *ask = alg_sk(sk);
|
||||||
|
|
||||||
|
lock_sock(sk);
|
||||||
|
- if (ask->refcnt)
|
||||||
|
+ if (!atomic_read(&ask->nokey_refcnt))
|
||||||
|
goto unlock_child;
|
||||||
|
|
||||||
|
psk = ask->parent;
|
||||||
|
@@ -786,11 +786,8 @@ static int skcipher_check_key(struct socket *sock)
|
||||||
|
if (!tfm->has_key)
|
||||||
|
goto unlock;
|
||||||
|
|
||||||
|
- if (!pask->refcnt++)
|
||||||
|
- sock_hold(psk);
|
||||||
|
-
|
||||||
|
- ask->refcnt = 1;
|
||||||
|
- sock_put(psk);
|
||||||
|
+ atomic_dec(&pask->nokey_refcnt);
|
||||||
|
+ atomic_set(&ask->nokey_refcnt, 0);
|
||||||
|
|
||||||
|
err = 0;
|
||||||
|
|
||||||
|
diff --git a/drivers/block/virtio_blk.c b/drivers/block/virtio_blk.c
|
||||||
|
index 1e5cd39d0cc2..bdc3efacd0d2 100644
|
||||||
|
--- a/drivers/block/virtio_blk.c
|
||||||
|
+++ b/drivers/block/virtio_blk.c
|
||||||
|
@@ -757,6 +757,7 @@ out_put_disk:
|
||||||
|
put_disk(vblk->disk);
|
||||||
|
out_free_vq:
|
||||||
|
vdev->config->del_vqs(vdev);
|
||||||
|
+ kfree(vblk->vqs);
|
||||||
|
out_free_vblk:
|
||||||
|
kfree(vblk);
|
||||||
|
out_free_index:
|
||||||
|
diff --git a/drivers/edac/amd64_edac.c b/drivers/edac/amd64_edac.c
|
||||||
|
index 932ba7676183..5f86075e34da 100644
|
||||||
|
--- a/drivers/edac/amd64_edac.c
|
||||||
|
+++ b/drivers/edac/amd64_edac.c
|
||||||
|
@@ -248,6 +248,8 @@ static int get_scrub_rate(struct mem_ctl_info *mci)
|
||||||
|
|
||||||
|
if (pvt->model == 0x60)
|
||||||
|
amd64_read_pci_cfg(pvt->F2, F15H_M60H_SCRCTRL, &scrubval);
|
||||||
|
+ else
|
||||||
|
+ amd64_read_pci_cfg(pvt->F3, SCRCTRL, &scrubval);
|
||||||
|
} else
|
||||||
|
amd64_read_pci_cfg(pvt->F3, SCRCTRL, &scrubval);
|
||||||
|
|
||||||
|
diff --git a/drivers/hwmon/acpi_power_meter.c b/drivers/hwmon/acpi_power_meter.c
|
||||||
|
index e27f7e12c05b..9b4ad6c74041 100644
|
||||||
|
--- a/drivers/hwmon/acpi_power_meter.c
|
||||||
|
+++ b/drivers/hwmon/acpi_power_meter.c
|
||||||
|
@@ -895,7 +895,7 @@ static int acpi_power_meter_add(struct acpi_device *device)
|
||||||
|
|
||||||
|
res = setup_attrs(resource);
|
||||||
|
if (res)
|
||||||
|
- goto exit_free;
|
||||||
|
+ goto exit_free_capability;
|
||||||
|
|
||||||
|
resource->hwmon_dev = hwmon_device_register(&device->dev);
|
||||||
|
if (IS_ERR(resource->hwmon_dev)) {
|
||||||
|
@@ -908,6 +908,8 @@ static int acpi_power_meter_add(struct acpi_device *device)
|
||||||
|
|
||||||
|
exit_remove:
|
||||||
|
remove_attrs(resource);
|
||||||
|
+exit_free_capability:
|
||||||
|
+ free_capabilities(resource);
|
||||||
|
exit_free:
|
||||||
|
kfree(resource);
|
||||||
|
exit:
|
||||||
|
diff --git a/drivers/hwmon/max6697.c b/drivers/hwmon/max6697.c
|
||||||
|
index f03a71722849..d4bb3d6aaf18 100644
|
||||||
|
--- a/drivers/hwmon/max6697.c
|
||||||
|
+++ b/drivers/hwmon/max6697.c
|
||||||
|
@@ -46,8 +46,9 @@ static const u8 MAX6697_REG_CRIT[] = {
|
||||||
|
* Map device tree / platform data register bit map to chip bit map.
|
||||||
|
* Applies to alert register and over-temperature register.
|
||||||
|
*/
|
||||||
|
-#define MAX6697_MAP_BITS(reg) ((((reg) & 0x7e) >> 1) | \
|
||||||
|
+#define MAX6697_ALERT_MAP_BITS(reg) ((((reg) & 0x7e) >> 1) | \
|
||||||
|
(((reg) & 0x01) << 6) | ((reg) & 0x80))
|
||||||
|
+#define MAX6697_OVERT_MAP_BITS(reg) (((reg) >> 1) | (((reg) & 0x01) << 7))
|
||||||
|
|
||||||
|
#define MAX6697_REG_STAT(n) (0x44 + (n))
|
||||||
|
|
||||||
|
@@ -586,12 +587,12 @@ static int max6697_init_chip(struct max6697_data *data,
|
||||||
|
return ret;
|
||||||
|
|
||||||
|
ret = i2c_smbus_write_byte_data(client, MAX6697_REG_ALERT_MASK,
|
||||||
|
- MAX6697_MAP_BITS(pdata->alert_mask));
|
||||||
|
+ MAX6697_ALERT_MAP_BITS(pdata->alert_mask));
|
||||||
|
if (ret < 0)
|
||||||
|
return ret;
|
||||||
|
|
||||||
|
ret = i2c_smbus_write_byte_data(client, MAX6697_REG_OVERT_MASK,
|
||||||
|
- MAX6697_MAP_BITS(pdata->over_temperature_mask));
|
||||||
|
+ MAX6697_OVERT_MAP_BITS(pdata->over_temperature_mask));
|
||||||
|
if (ret < 0)
|
||||||
|
return ret;
|
||||||
|
|
||||||
|
diff --git a/drivers/i2c/algos/i2c-algo-pca.c b/drivers/i2c/algos/i2c-algo-pca.c
|
||||||
|
index e370804ec8bc..3a9db4626cb6 100644
|
||||||
|
--- a/drivers/i2c/algos/i2c-algo-pca.c
|
||||||
|
+++ b/drivers/i2c/algos/i2c-algo-pca.c
|
||||||
|
@@ -326,7 +326,8 @@ static int pca_xfer(struct i2c_adapter *i2c_adap,
|
||||||
|
DEB2("BUS ERROR - SDA Stuck low\n");
|
||||||
|
pca_reset(adap);
|
||||||
|
goto out;
|
||||||
|
- case 0x90: /* Bus error - SCL stuck low */
|
||||||
|
+ case 0x78: /* Bus error - SCL stuck low (PCA9665) */
|
||||||
|
+ case 0x90: /* Bus error - SCL stuck low (PCA9564) */
|
||||||
|
DEB2("BUS ERROR - SCL Stuck low\n");
|
||||||
|
pca_reset(adap);
|
||||||
|
goto out;
|
||||||
|
diff --git a/drivers/usb/misc/usbtest.c b/drivers/usb/misc/usbtest.c
|
||||||
|
index bc92a498ec03..9f19aa950bb1 100644
|
||||||
|
--- a/drivers/usb/misc/usbtest.c
|
||||||
|
+++ b/drivers/usb/misc/usbtest.c
|
||||||
|
@@ -2703,6 +2703,7 @@ static void usbtest_disconnect(struct usb_interface *intf)
|
||||||
|
|
||||||
|
usb_set_intfdata(intf, NULL);
|
||||||
|
dev_dbg(&intf->dev, "disconnect\n");
|
||||||
|
+ kfree(dev->buf);
|
||||||
|
kfree(dev);
|
||||||
|
}
|
||||||
|
|
||||||
|
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c
|
||||||
|
index 972475eeb2dd..b1125778b908 100644
|
||||||
|
--- a/fs/btrfs/inode.c
|
||||||
|
+++ b/fs/btrfs/inode.c
|
||||||
|
@@ -926,7 +926,7 @@ static noinline int cow_file_range(struct inode *inode,
|
||||||
|
u64 alloc_hint = 0;
|
||||||
|
u64 num_bytes;
|
||||||
|
unsigned long ram_size;
|
||||||
|
- u64 disk_num_bytes;
|
||||||
|
+ u64 min_alloc_size;
|
||||||
|
u64 cur_alloc_size;
|
||||||
|
u64 blocksize = root->sectorsize;
|
||||||
|
struct btrfs_key ins;
|
||||||
|
@@ -942,7 +942,6 @@ static noinline int cow_file_range(struct inode *inode,
|
||||||
|
|
||||||
|
num_bytes = ALIGN(end - start + 1, blocksize);
|
||||||
|
num_bytes = max(blocksize, num_bytes);
|
||||||
|
- disk_num_bytes = num_bytes;
|
||||||
|
|
||||||
|
/* if this is a small write inside eof, kick off defrag */
|
||||||
|
if (num_bytes < 64 * 1024 &&
|
||||||
|
@@ -969,18 +968,33 @@ static noinline int cow_file_range(struct inode *inode,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
- BUG_ON(disk_num_bytes >
|
||||||
|
- btrfs_super_total_bytes(root->fs_info->super_copy));
|
||||||
|
+ BUG_ON(num_bytes > btrfs_super_total_bytes(root->fs_info->super_copy));
|
||||||
|
|
||||||
|
alloc_hint = get_extent_allocation_hint(inode, start, num_bytes);
|
||||||
|
btrfs_drop_extent_cache(inode, start, start + num_bytes - 1, 0);
|
||||||
|
|
||||||
|
- while (disk_num_bytes > 0) {
|
||||||
|
+ /*
|
||||||
|
+ * Relocation relies on the relocated extents to have exactly the same
|
||||||
|
+ * size as the original extents. Normally writeback for relocation data
|
||||||
|
+ * extents follows a NOCOW path because relocation preallocates the
|
||||||
|
+ * extents. However, due to an operation such as scrub turning a block
|
||||||
|
+ * group to RO mode, it may fallback to COW mode, so we must make sure
|
||||||
|
+ * an extent allocated during COW has exactly the requested size and can
|
||||||
|
+ * not be split into smaller extents, otherwise relocation breaks and
|
||||||
|
+ * fails during the stage where it updates the bytenr of file extent
|
||||||
|
+ * items.
|
||||||
|
+ */
|
||||||
|
+ if (root->root_key.objectid == BTRFS_DATA_RELOC_TREE_OBJECTID)
|
||||||
|
+ min_alloc_size = num_bytes;
|
||||||
|
+ else
|
||||||
|
+ min_alloc_size = root->sectorsize;
|
||||||
|
+
|
||||||
|
+ while (num_bytes > 0) {
|
||||||
|
unsigned long op;
|
||||||
|
|
||||||
|
- cur_alloc_size = disk_num_bytes;
|
||||||
|
+ cur_alloc_size = num_bytes;
|
||||||
|
ret = btrfs_reserve_extent(root, cur_alloc_size,
|
||||||
|
- root->sectorsize, 0, alloc_hint,
|
||||||
|
+ min_alloc_size, 0, alloc_hint,
|
||||||
|
&ins, 1, 1);
|
||||||
|
if (ret < 0)
|
||||||
|
goto out_unlock;
|
||||||
|
@@ -1033,7 +1047,7 @@ static noinline int cow_file_range(struct inode *inode,
|
||||||
|
goto out_drop_extent_cache;
|
||||||
|
}
|
||||||
|
|
||||||
|
- if (disk_num_bytes < cur_alloc_size)
|
||||||
|
+ if (num_bytes < cur_alloc_size)
|
||||||
|
break;
|
||||||
|
|
||||||
|
/* we're not doing compressed IO, don't unlock the first
|
||||||
|
@@ -1050,8 +1064,10 @@ static noinline int cow_file_range(struct inode *inode,
|
||||||
|
start + ram_size - 1, locked_page,
|
||||||
|
EXTENT_LOCKED | EXTENT_DELALLOC,
|
||||||
|
op);
|
||||||
|
- disk_num_bytes -= cur_alloc_size;
|
||||||
|
- num_bytes -= cur_alloc_size;
|
||||||
|
+ if (num_bytes < cur_alloc_size)
|
||||||
|
+ num_bytes = 0;
|
||||||
|
+ else
|
||||||
|
+ num_bytes -= cur_alloc_size;
|
||||||
|
alloc_hint = ins.objectid + ins.offset;
|
||||||
|
start += cur_alloc_size;
|
||||||
|
}
|
||||||
|
diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c
|
||||||
|
index 21ddfd77966e..f4ef8d6ea8ed 100644
|
||||||
|
--- a/fs/cifs/connect.c
|
||||||
|
+++ b/fs/cifs/connect.c
|
||||||
|
@@ -4203,9 +4203,12 @@ cifs_construct_tcon(struct cifs_sb_info *cifs_sb, kuid_t fsuid)
|
||||||
|
vol_info->retry = master_tcon->retry;
|
||||||
|
vol_info->nocase = master_tcon->nocase;
|
||||||
|
vol_info->local_lease = master_tcon->local_lease;
|
||||||
|
+ vol_info->resilient = master_tcon->use_resilient;
|
||||||
|
+ vol_info->persistent = master_tcon->use_persistent;
|
||||||
|
vol_info->no_linux_ext = !master_tcon->unix_ext;
|
||||||
|
vol_info->sectype = master_tcon->ses->sectype;
|
||||||
|
vol_info->sign = master_tcon->ses->sign;
|
||||||
|
+ vol_info->seal = master_tcon->seal;
|
||||||
|
|
||||||
|
rc = cifs_set_vol_auth(vol_info, master_tcon->ses);
|
||||||
|
if (rc) {
|
||||||
|
diff --git a/fs/cifs/inode.c b/fs/cifs/inode.c
|
||||||
|
index c18c26a78453..a002e289a544 100644
|
||||||
|
--- a/fs/cifs/inode.c
|
||||||
|
+++ b/fs/cifs/inode.c
|
||||||
|
@@ -1737,6 +1737,7 @@ cifs_rename2(struct inode *source_dir, struct dentry *source_dentry,
|
||||||
|
FILE_UNIX_BASIC_INFO *info_buf_target;
|
||||||
|
unsigned int xid;
|
||||||
|
int rc, tmprc;
|
||||||
|
+ bool new_target = d_really_is_negative(target_dentry);
|
||||||
|
|
||||||
|
if (flags & ~RENAME_NOREPLACE)
|
||||||
|
return -EINVAL;
|
||||||
|
@@ -1813,8 +1814,13 @@ cifs_rename2(struct inode *source_dir, struct dentry *source_dentry,
|
||||||
|
*/
|
||||||
|
|
||||||
|
unlink_target:
|
||||||
|
- /* Try unlinking the target dentry if it's not negative */
|
||||||
|
- if (d_really_is_positive(target_dentry) && (rc == -EACCES || rc == -EEXIST)) {
|
||||||
|
+ /*
|
||||||
|
+ * If the target dentry was created during the rename, try
|
||||||
|
+ * unlinking it if it's not negative
|
||||||
|
+ */
|
||||||
|
+ if (new_target &&
|
||||||
|
+ d_really_is_positive(target_dentry) &&
|
||||||
|
+ (rc == -EACCES || rc == -EEXIST)) {
|
||||||
|
if (d_is_dir(target_dentry))
|
||||||
|
tmprc = cifs_rmdir(target_dir, target_dentry);
|
||||||
|
else
|
||||||
|
diff --git a/include/crypto/if_alg.h b/include/crypto/if_alg.h
|
||||||
|
index a2bfd7843f18..4bb6b98782e9 100644
|
||||||
|
--- a/include/crypto/if_alg.h
|
||||||
|
+++ b/include/crypto/if_alg.h
|
||||||
|
@@ -30,8 +30,8 @@ struct alg_sock {
|
||||||
|
|
||||||
|
struct sock *parent;
|
||||||
|
|
||||||
|
- unsigned int refcnt;
|
||||||
|
- unsigned int nokey_refcnt;
|
||||||
|
+ atomic_t refcnt;
|
||||||
|
+ atomic_t nokey_refcnt;
|
||||||
|
|
||||||
|
const struct af_alg_type *type;
|
||||||
|
void *private;
|
||||||
|
diff --git a/include/linux/sched/sysctl.h b/include/linux/sched/sysctl.h
|
||||||
|
index c9e4731cf10b..7fc36ebc5de3 100644
|
||||||
|
--- a/include/linux/sched/sysctl.h
|
||||||
|
+++ b/include/linux/sched/sysctl.h
|
||||||
|
@@ -81,6 +81,7 @@ extern unsigned int sysctl_sched_cfs_bandwidth_slice;
|
||||||
|
extern unsigned int sysctl_sched_autogroup_enabled;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
+extern int sysctl_sched_rr_timeslice;
|
||||||
|
extern int sched_rr_timeslice;
|
||||||
|
|
||||||
|
extern int sched_rr_handler(struct ctl_table *table, int write,
|
||||||
|
diff --git a/kernel/debug/debug_core.c b/kernel/debug/debug_core.c
|
||||||
|
index 9c939c6bf21c..321ccdbb7364 100644
|
||||||
|
--- a/kernel/debug/debug_core.c
|
||||||
|
+++ b/kernel/debug/debug_core.c
|
||||||
|
@@ -488,6 +488,7 @@ static int kgdb_cpu_enter(struct kgdb_state *ks, struct pt_regs *regs,
|
||||||
|
arch_kgdb_ops.disable_hw_break(regs);
|
||||||
|
|
||||||
|
acquirelock:
|
||||||
|
+ rcu_read_lock();
|
||||||
|
/*
|
||||||
|
* Interrupts will be restored by the 'trap return' code, except when
|
||||||
|
* single stepping.
|
||||||
|
@@ -542,6 +543,7 @@ return_normal:
|
||||||
|
atomic_dec(&slaves_in_kgdb);
|
||||||
|
dbg_touch_watchdogs();
|
||||||
|
local_irq_restore(flags);
|
||||||
|
+ rcu_read_unlock();
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
cpu_relax();
|
||||||
|
@@ -560,6 +562,7 @@ return_normal:
|
||||||
|
raw_spin_unlock(&dbg_master_lock);
|
||||||
|
dbg_touch_watchdogs();
|
||||||
|
local_irq_restore(flags);
|
||||||
|
+ rcu_read_unlock();
|
||||||
|
|
||||||
|
goto acquirelock;
|
||||||
|
}
|
||||||
|
@@ -677,6 +680,7 @@ kgdb_restore:
|
||||||
|
raw_spin_unlock(&dbg_master_lock);
|
||||||
|
dbg_touch_watchdogs();
|
||||||
|
local_irq_restore(flags);
|
||||||
|
+ rcu_read_unlock();
|
||||||
|
|
||||||
|
return kgdb_info[cpu].ret_state;
|
||||||
|
}
|
||||||
|
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
|
||||||
|
index 14a87c1f3a3a..4a0a754f24c8 100644
|
||||||
|
--- a/kernel/sched/core.c
|
||||||
|
+++ b/kernel/sched/core.c
|
||||||
|
@@ -8266,8 +8266,9 @@ int sched_rr_handler(struct ctl_table *table, int write,
|
||||||
|
/* make sure that internally we keep jiffies */
|
||||||
|
/* also, writing zero resets timeslice to default */
|
||||||
|
if (!ret && write) {
|
||||||
|
- sched_rr_timeslice = sched_rr_timeslice <= 0 ?
|
||||||
|
- RR_TIMESLICE : msecs_to_jiffies(sched_rr_timeslice);
|
||||||
|
+ sched_rr_timeslice =
|
||||||
|
+ sysctl_sched_rr_timeslice <= 0 ? RR_TIMESLICE :
|
||||||
|
+ msecs_to_jiffies(sysctl_sched_rr_timeslice);
|
||||||
|
}
|
||||||
|
mutex_unlock(&mutex);
|
||||||
|
return ret;
|
||||||
|
diff --git a/kernel/sched/rt.c b/kernel/sched/rt.c
|
||||||
|
index 801b4ec40702..5ee5740635f3 100644
|
||||||
|
--- a/kernel/sched/rt.c
|
||||||
|
+++ b/kernel/sched/rt.c
|
||||||
|
@@ -9,6 +9,7 @@
|
||||||
|
#include <linux/irq_work.h>
|
||||||
|
|
||||||
|
int sched_rr_timeslice = RR_TIMESLICE;
|
||||||
|
+int sysctl_sched_rr_timeslice = (MSEC_PER_SEC / HZ) * RR_TIMESLICE;
|
||||||
|
|
||||||
|
static int do_sched_rt_period_timer(struct rt_bandwidth *rt_b, int overrun);
|
||||||
|
|
||||||
|
diff --git a/kernel/sysctl.c b/kernel/sysctl.c
|
||||||
|
index c2dddd335d06..ecbb1b764a82 100644
|
||||||
|
--- a/kernel/sysctl.c
|
||||||
|
+++ b/kernel/sysctl.c
|
||||||
|
@@ -412,7 +412,7 @@ static struct ctl_table kern_table[] = {
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.procname = "sched_rr_timeslice_ms",
|
||||||
|
- .data = &sched_rr_timeslice,
|
||||||
|
+ .data = &sysctl_sched_rr_timeslice,
|
||||||
|
.maxlen = sizeof(int),
|
||||||
|
.mode = 0644,
|
||||||
|
.proc_handler = sched_rr_handler,
|
||||||
|
diff --git a/mm/slub.c b/mm/slub.c
|
||||||
|
index bb5237c67cbc..a3870034bfcc 100644
|
||||||
|
--- a/mm/slub.c
|
||||||
|
+++ b/mm/slub.c
|
||||||
|
@@ -5305,7 +5305,8 @@ static void memcg_propagate_slab_attrs(struct kmem_cache *s)
|
||||||
|
*/
|
||||||
|
if (buffer)
|
||||||
|
buf = buffer;
|
||||||
|
- else if (root_cache->max_attr_size < ARRAY_SIZE(mbuf))
|
||||||
|
+ else if (root_cache->max_attr_size < ARRAY_SIZE(mbuf) &&
|
||||||
|
+ !IS_ENABLED(CONFIG_SLUB_STATS))
|
||||||
|
buf = mbuf;
|
||||||
|
else {
|
||||||
|
buffer = (char *) get_zeroed_page(GFP_KERNEL);
|
||||||
|
diff --git a/mm/swap_state.c b/mm/swap_state.c
|
||||||
|
index d504adb7fa5f..9e587464e634 100644
|
||||||
|
--- a/mm/swap_state.c
|
||||||
|
+++ b/mm/swap_state.c
|
||||||
|
@@ -19,6 +19,7 @@
|
||||||
|
#include <linux/migrate.h>
|
||||||
|
|
||||||
|
#include <asm/pgtable.h>
|
||||||
|
+#include "internal.h"
|
||||||
|
|
||||||
|
/*
|
||||||
|
* swapper_space is a fiction, retained to simplify the path through
|
||||||
|
@@ -319,7 +320,7 @@ struct page *__read_swap_cache_async(swp_entry_t entry, gfp_t gfp_mask,
|
||||||
|
/*
|
||||||
|
* call radix_tree_preload() while we can wait.
|
||||||
|
*/
|
||||||
|
- err = radix_tree_maybe_preload(gfp_mask & GFP_KERNEL);
|
||||||
|
+ err = radix_tree_maybe_preload(gfp_mask & GFP_RECLAIM_MASK);
|
||||||
|
if (err)
|
||||||
|
break;
|
||||||
|
|
||||||
|
diff --git a/net/netfilter/nf_conntrack_h323_main.c b/net/netfilter/nf_conntrack_h323_main.c
|
||||||
|
index 9511af04dc81..15495b956855 100644
|
||||||
|
--- a/net/netfilter/nf_conntrack_h323_main.c
|
||||||
|
+++ b/net/netfilter/nf_conntrack_h323_main.c
|
||||||
|
@@ -1225,6 +1225,7 @@ static struct nf_conntrack_helper nf_conntrack_helper_q931[] __read_mostly = {
|
||||||
|
{
|
||||||
|
.name = "Q.931",
|
||||||
|
.me = THIS_MODULE,
|
||||||
|
+ .data_len = sizeof(struct nf_ct_h323_master),
|
||||||
|
.tuple.src.l3num = AF_INET6,
|
||||||
|
.tuple.src.u.tcp.port = cpu_to_be16(Q931_PORT),
|
||||||
|
.tuple.dst.protonum = IPPROTO_TCP,
|
||||||
|
diff --git a/sound/usb/card.h b/sound/usb/card.h
|
||||||
|
index 844c68863810..71778ca4b26a 100644
|
||||||
|
--- a/sound/usb/card.h
|
||||||
|
+++ b/sound/usb/card.h
|
||||||
|
@@ -80,10 +80,6 @@ struct snd_usb_endpoint {
|
||||||
|
dma_addr_t sync_dma; /* DMA address of syncbuf */
|
||||||
|
|
||||||
|
unsigned int pipe; /* the data i/o pipe */
|
||||||
|
- unsigned int framesize[2]; /* small/large frame sizes in samples */
|
||||||
|
- unsigned int sample_rem; /* remainder from division fs/fps */
|
||||||
|
- unsigned int sample_accum; /* sample accumulator */
|
||||||
|
- unsigned int fps; /* frames per second */
|
||||||
|
unsigned int freqn; /* nominal sampling rate in fs/fps in Q16.16 format */
|
||||||
|
unsigned int freqm; /* momentary sampling rate in fs/fps in Q16.16 format */
|
||||||
|
int freqshift; /* how much to shift the feedback value to get Q16.16 */
|
||||||
|
diff --git a/sound/usb/endpoint.c b/sound/usb/endpoint.c
|
||||||
|
index 666731317b33..66648b4bdd28 100644
|
||||||
|
--- a/sound/usb/endpoint.c
|
||||||
|
+++ b/sound/usb/endpoint.c
|
||||||
|
@@ -137,12 +137,12 @@ int snd_usb_endpoint_implicit_feedback_sink(struct snd_usb_endpoint *ep)
|
||||||
|
|
||||||
|
/*
|
||||||
|
* For streaming based on information derived from sync endpoints,
|
||||||
|
- * prepare_outbound_urb_sizes() will call slave_next_packet_size() to
|
||||||
|
+ * prepare_outbound_urb_sizes() will call next_packet_size() to
|
||||||
|
* determine the number of samples to be sent in the next packet.
|
||||||
|
*
|
||||||
|
- * For implicit feedback, slave_next_packet_size() is unused.
|
||||||
|
+ * For implicit feedback, next_packet_size() is unused.
|
||||||
|
*/
|
||||||
|
-int snd_usb_endpoint_slave_next_packet_size(struct snd_usb_endpoint *ep)
|
||||||
|
+int snd_usb_endpoint_next_packet_size(struct snd_usb_endpoint *ep)
|
||||||
|
{
|
||||||
|
unsigned long flags;
|
||||||
|
int ret;
|
||||||
|
@@ -159,29 +159,6 @@ int snd_usb_endpoint_slave_next_packet_size(struct snd_usb_endpoint *ep)
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
-/*
|
||||||
|
- * For adaptive and synchronous endpoints, prepare_outbound_urb_sizes()
|
||||||
|
- * will call next_packet_size() to determine the number of samples to be
|
||||||
|
- * sent in the next packet.
|
||||||
|
- */
|
||||||
|
-int snd_usb_endpoint_next_packet_size(struct snd_usb_endpoint *ep)
|
||||||
|
-{
|
||||||
|
- int ret;
|
||||||
|
-
|
||||||
|
- if (ep->fill_max)
|
||||||
|
- return ep->maxframesize;
|
||||||
|
-
|
||||||
|
- ep->sample_accum += ep->sample_rem;
|
||||||
|
- if (ep->sample_accum >= ep->fps) {
|
||||||
|
- ep->sample_accum -= ep->fps;
|
||||||
|
- ret = ep->framesize[1];
|
||||||
|
- } else {
|
||||||
|
- ret = ep->framesize[0];
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- return ret;
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
static void retire_outbound_urb(struct snd_usb_endpoint *ep,
|
||||||
|
struct snd_urb_ctx *urb_ctx)
|
||||||
|
{
|
||||||
|
@@ -226,8 +203,6 @@ static void prepare_silent_urb(struct snd_usb_endpoint *ep,
|
||||||
|
|
||||||
|
if (ctx->packet_size[i])
|
||||||
|
counts = ctx->packet_size[i];
|
||||||
|
- else if (ep->sync_master)
|
||||||
|
- counts = snd_usb_endpoint_slave_next_packet_size(ep);
|
||||||
|
else
|
||||||
|
counts = snd_usb_endpoint_next_packet_size(ep);
|
||||||
|
|
||||||
|
@@ -904,17 +879,10 @@ int snd_usb_endpoint_set_params(struct snd_usb_endpoint *ep,
|
||||||
|
ep->maxpacksize = fmt->maxpacksize;
|
||||||
|
ep->fill_max = !!(fmt->attributes & UAC_EP_CS_ATTR_FILL_MAX);
|
||||||
|
|
||||||
|
- if (snd_usb_get_speed(ep->chip->dev) == USB_SPEED_FULL) {
|
||||||
|
+ if (snd_usb_get_speed(ep->chip->dev) == USB_SPEED_FULL)
|
||||||
|
ep->freqn = get_usb_full_speed_rate(rate);
|
||||||
|
- ep->fps = 1000;
|
||||||
|
- } else {
|
||||||
|
+ else
|
||||||
|
ep->freqn = get_usb_high_speed_rate(rate);
|
||||||
|
- ep->fps = 8000;
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- ep->sample_rem = rate % ep->fps;
|
||||||
|
- ep->framesize[0] = rate / ep->fps;
|
||||||
|
- ep->framesize[1] = (rate + (ep->fps - 1)) / ep->fps;
|
||||||
|
|
||||||
|
/* calculate the frequency in 16.16 format */
|
||||||
|
ep->freqm = ep->freqn;
|
||||||
|
@@ -973,7 +941,6 @@ int snd_usb_endpoint_start(struct snd_usb_endpoint *ep)
|
||||||
|
ep->active_mask = 0;
|
||||||
|
ep->unlink_mask = 0;
|
||||||
|
ep->phase = 0;
|
||||||
|
- ep->sample_accum = 0;
|
||||||
|
|
||||||
|
snd_usb_endpoint_start_quirk(ep);
|
||||||
|
|
||||||
|
diff --git a/sound/usb/endpoint.h b/sound/usb/endpoint.h
|
||||||
|
index 4aad49cbeb5f..584f295d7c77 100644
|
||||||
|
--- a/sound/usb/endpoint.h
|
||||||
|
+++ b/sound/usb/endpoint.h
|
||||||
|
@@ -27,7 +27,6 @@ void snd_usb_endpoint_release(struct snd_usb_endpoint *ep);
|
||||||
|
void snd_usb_endpoint_free(struct snd_usb_endpoint *ep);
|
||||||
|
|
||||||
|
int snd_usb_endpoint_implicit_feedback_sink(struct snd_usb_endpoint *ep);
|
||||||
|
-int snd_usb_endpoint_slave_next_packet_size(struct snd_usb_endpoint *ep);
|
||||||
|
int snd_usb_endpoint_next_packet_size(struct snd_usb_endpoint *ep);
|
||||||
|
|
||||||
|
void snd_usb_handle_sync_urb(struct snd_usb_endpoint *ep,
|
||||||
|
diff --git a/sound/usb/pcm.c b/sound/usb/pcm.c
|
||||||
|
index 53d91cae86f9..f84c55ecd0fb 100644
|
||||||
|
--- a/sound/usb/pcm.c
|
||||||
|
+++ b/sound/usb/pcm.c
|
||||||
|
@@ -1473,8 +1473,6 @@ static void prepare_playback_urb(struct snd_usb_substream *subs,
|
||||||
|
for (i = 0; i < ctx->packets; i++) {
|
||||||
|
if (ctx->packet_size[i])
|
||||||
|
counts = ctx->packet_size[i];
|
||||||
|
- else if (ep->sync_master)
|
||||||
|
- counts = snd_usb_endpoint_slave_next_packet_size(ep);
|
||||||
|
else
|
||||||
|
counts = snd_usb_endpoint_next_packet_size(ep);
|
||||||
|
|
1715
patch/kernel/rockpis-legacy/patch-4.4.230-231.patch
Normal file
1715
patch/kernel/rockpis-legacy/patch-4.4.230-231.patch
Normal file
File diff suppressed because it is too large
Load diff
1690
patch/kernel/rockpis-legacy/patch-4.4.231-232.patch
Normal file
1690
patch/kernel/rockpis-legacy/patch-4.4.231-232.patch
Normal file
File diff suppressed because it is too large
Load diff
4015
patch/kernel/rockpis-legacy/patch-4.4.232-233-changed.patch
Normal file
4015
patch/kernel/rockpis-legacy/patch-4.4.232-233-changed.patch
Normal file
File diff suppressed because it is too large
Load diff
934
patch/kernel/rockpis-legacy/patch-4.4.233-234.patch
Normal file
934
patch/kernel/rockpis-legacy/patch-4.4.233-234.patch
Normal file
|
@ -0,0 +1,934 @@
|
||||||
|
diff --git a/Makefile b/Makefile
|
||||||
|
index 8f363a3bcaf81..573b646a19936 100644
|
||||||
|
--- a/Makefile
|
||||||
|
+++ b/Makefile
|
||||||
|
@@ -1,6 +1,6 @@
|
||||||
|
VERSION = 4
|
||||||
|
PATCHLEVEL = 4
|
||||||
|
-SUBLEVEL = 233
|
||||||
|
+SUBLEVEL = 234
|
||||||
|
EXTRAVERSION =
|
||||||
|
NAME = Blurry Fish Butt
|
||||||
|
|
||||||
|
diff --git a/arch/alpha/include/asm/io.h b/arch/alpha/include/asm/io.h
|
||||||
|
index ff4049155c840..355aec0867f4d 100644
|
||||||
|
--- a/arch/alpha/include/asm/io.h
|
||||||
|
+++ b/arch/alpha/include/asm/io.h
|
||||||
|
@@ -491,10 +491,10 @@ extern inline void writeq(u64 b, volatile void __iomem *addr)
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
-#define ioread16be(p) be16_to_cpu(ioread16(p))
|
||||||
|
-#define ioread32be(p) be32_to_cpu(ioread32(p))
|
||||||
|
-#define iowrite16be(v,p) iowrite16(cpu_to_be16(v), (p))
|
||||||
|
-#define iowrite32be(v,p) iowrite32(cpu_to_be32(v), (p))
|
||||||
|
+#define ioread16be(p) swab16(ioread16(p))
|
||||||
|
+#define ioread32be(p) swab32(ioread32(p))
|
||||||
|
+#define iowrite16be(v,p) iowrite16(swab16(v), (p))
|
||||||
|
+#define iowrite32be(v,p) iowrite32(swab32(v), (p))
|
||||||
|
|
||||||
|
#define inb_p inb
|
||||||
|
#define inw_p inw
|
||||||
|
diff --git a/arch/arm/kvm/mmu.c b/arch/arm/kvm/mmu.c
|
||||||
|
index e0267532bd4e0..edd392fdc14bb 100644
|
||||||
|
--- a/arch/arm/kvm/mmu.c
|
||||||
|
+++ b/arch/arm/kvm/mmu.c
|
||||||
|
@@ -300,14 +300,6 @@ static void unmap_range(struct kvm *kvm, pgd_t *pgdp,
|
||||||
|
next = kvm_pgd_addr_end(addr, end);
|
||||||
|
if (!pgd_none(*pgd))
|
||||||
|
unmap_puds(kvm, pgd, addr, next);
|
||||||
|
- /*
|
||||||
|
- * If we are dealing with a large range in
|
||||||
|
- * stage2 table, release the kvm->mmu_lock
|
||||||
|
- * to prevent starvation and lockup detector
|
||||||
|
- * warnings.
|
||||||
|
- */
|
||||||
|
- if (kvm && (next != end))
|
||||||
|
- cond_resched_lock(&kvm->mmu_lock);
|
||||||
|
} while (pgd++, addr = next, addr != end);
|
||||||
|
}
|
||||||
|
|
||||||
|
diff --git a/arch/m68k/include/asm/m53xxacr.h b/arch/m68k/include/asm/m53xxacr.h
|
||||||
|
index 3177ce8331d69..baee0c77b9818 100644
|
||||||
|
--- a/arch/m68k/include/asm/m53xxacr.h
|
||||||
|
+++ b/arch/m68k/include/asm/m53xxacr.h
|
||||||
|
@@ -88,9 +88,9 @@
|
||||||
|
* coherency though in all cases. And for copyback caches we will need
|
||||||
|
* to push cached data as well.
|
||||||
|
*/
|
||||||
|
-#define CACHE_INIT CACR_CINVA
|
||||||
|
-#define CACHE_INVALIDATE CACR_CINVA
|
||||||
|
-#define CACHE_INVALIDATED CACR_CINVA
|
||||||
|
+#define CACHE_INIT (CACHE_MODE + CACR_CINVA - CACR_EC)
|
||||||
|
+#define CACHE_INVALIDATE (CACHE_MODE + CACR_CINVA)
|
||||||
|
+#define CACHE_INVALIDATED (CACHE_MODE + CACR_CINVA)
|
||||||
|
|
||||||
|
#define ACR0_MODE ((CONFIG_RAMBASE & 0xff000000) + \
|
||||||
|
(0x000f0000) + \
|
||||||
|
diff --git a/arch/powerpc/mm/fault.c b/arch/powerpc/mm/fault.c
|
||||||
|
index d1f860ca03ade..101c202c813c8 100644
|
||||||
|
--- a/arch/powerpc/mm/fault.c
|
||||||
|
+++ b/arch/powerpc/mm/fault.c
|
||||||
|
@@ -192,6 +192,9 @@ static int mm_fault_error(struct pt_regs *regs, unsigned long addr, int fault)
|
||||||
|
return MM_FAULT_CONTINUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
+// This comes from 64-bit struct rt_sigframe + __SIGNAL_FRAMESIZE
|
||||||
|
+#define SIGFRAME_MAX_SIZE (4096 + 128)
|
||||||
|
+
|
||||||
|
/*
|
||||||
|
* For 600- and 800-family processors, the error_code parameter is DSISR
|
||||||
|
* for a data fault, SRR1 for an instruction fault. For 400-family processors
|
||||||
|
@@ -341,7 +344,7 @@ retry:
|
||||||
|
/*
|
||||||
|
* N.B. The POWER/Open ABI allows programs to access up to
|
||||||
|
* 288 bytes below the stack pointer.
|
||||||
|
- * The kernel signal delivery code writes up to about 1.5kB
|
||||||
|
+ * The kernel signal delivery code writes up to about 4kB
|
||||||
|
* below the stack pointer (r1) before decrementing it.
|
||||||
|
* The exec code can write slightly over 640kB to the stack
|
||||||
|
* before setting the user r1. Thus we allow the stack to
|
||||||
|
@@ -365,7 +368,7 @@ retry:
|
||||||
|
* between the last mapped region and the stack will
|
||||||
|
* expand the stack rather than segfaulting.
|
||||||
|
*/
|
||||||
|
- if (address + 2048 < uregs->gpr[1] && !store_update_sp)
|
||||||
|
+ if (address + SIGFRAME_MAX_SIZE < uregs->gpr[1] && !store_update_sp)
|
||||||
|
goto bad_area;
|
||||||
|
}
|
||||||
|
if (expand_stack(vma, address))
|
||||||
|
diff --git a/drivers/gpu/drm/imx/imx-ldb.c b/drivers/gpu/drm/imx/imx-ldb.c
|
||||||
|
index 31ca56e593f58..b9dc2ef64ed88 100644
|
||||||
|
--- a/drivers/gpu/drm/imx/imx-ldb.c
|
||||||
|
+++ b/drivers/gpu/drm/imx/imx-ldb.c
|
||||||
|
@@ -305,6 +305,7 @@ static void imx_ldb_encoder_disable(struct drm_encoder *encoder)
|
||||||
|
{
|
||||||
|
struct imx_ldb_channel *imx_ldb_ch = enc_to_imx_ldb_ch(encoder);
|
||||||
|
struct imx_ldb *ldb = imx_ldb_ch->ldb;
|
||||||
|
+ int dual = ldb->ldb_ctrl & LDB_SPLIT_MODE_EN;
|
||||||
|
int mux, ret;
|
||||||
|
|
||||||
|
/*
|
||||||
|
@@ -321,14 +322,14 @@ static void imx_ldb_encoder_disable(struct drm_encoder *encoder)
|
||||||
|
|
||||||
|
drm_panel_disable(imx_ldb_ch->panel);
|
||||||
|
|
||||||
|
- if (imx_ldb_ch == &ldb->channel[0])
|
||||||
|
+ if (imx_ldb_ch == &ldb->channel[0] || dual)
|
||||||
|
ldb->ldb_ctrl &= ~LDB_CH0_MODE_EN_MASK;
|
||||||
|
- else if (imx_ldb_ch == &ldb->channel[1])
|
||||||
|
+ if (imx_ldb_ch == &ldb->channel[1] || dual)
|
||||||
|
ldb->ldb_ctrl &= ~LDB_CH1_MODE_EN_MASK;
|
||||||
|
|
||||||
|
regmap_write(ldb->regmap, IOMUXC_GPR2, ldb->ldb_ctrl);
|
||||||
|
|
||||||
|
- if (ldb->ldb_ctrl & LDB_SPLIT_MODE_EN) {
|
||||||
|
+ if (dual) {
|
||||||
|
clk_disable_unprepare(ldb->clk[0]);
|
||||||
|
clk_disable_unprepare(ldb->clk[1]);
|
||||||
|
}
|
||||||
|
diff --git a/drivers/input/mouse/psmouse-base.c b/drivers/input/mouse/psmouse-base.c
|
||||||
|
index ad18dab0ac476..5bd9633541b07 100644
|
||||||
|
--- a/drivers/input/mouse/psmouse-base.c
|
||||||
|
+++ b/drivers/input/mouse/psmouse-base.c
|
||||||
|
@@ -1911,7 +1911,7 @@ static int psmouse_get_maxproto(char *buffer, const struct kernel_param *kp)
|
||||||
|
{
|
||||||
|
int type = *((unsigned int *)kp->arg);
|
||||||
|
|
||||||
|
- return sprintf(buffer, "%s", psmouse_protocol_by_type(type)->name);
|
||||||
|
+ return sprintf(buffer, "%s\n", psmouse_protocol_by_type(type)->name);
|
||||||
|
}
|
||||||
|
|
||||||
|
static int __init psmouse_init(void)
|
||||||
|
diff --git a/drivers/media/pci/ttpci/budget-core.c b/drivers/media/pci/ttpci/budget-core.c
|
||||||
|
index e9674b40007c1..6107c469efa07 100644
|
||||||
|
--- a/drivers/media/pci/ttpci/budget-core.c
|
||||||
|
+++ b/drivers/media/pci/ttpci/budget-core.c
|
||||||
|
@@ -386,20 +386,25 @@ static int budget_register(struct budget *budget)
|
||||||
|
ret = dvbdemux->dmx.add_frontend(&dvbdemux->dmx, &budget->hw_frontend);
|
||||||
|
|
||||||
|
if (ret < 0)
|
||||||
|
- return ret;
|
||||||
|
+ goto err_release_dmx;
|
||||||
|
|
||||||
|
budget->mem_frontend.source = DMX_MEMORY_FE;
|
||||||
|
ret = dvbdemux->dmx.add_frontend(&dvbdemux->dmx, &budget->mem_frontend);
|
||||||
|
if (ret < 0)
|
||||||
|
- return ret;
|
||||||
|
+ goto err_release_dmx;
|
||||||
|
|
||||||
|
ret = dvbdemux->dmx.connect_frontend(&dvbdemux->dmx, &budget->hw_frontend);
|
||||||
|
if (ret < 0)
|
||||||
|
- return ret;
|
||||||
|
+ goto err_release_dmx;
|
||||||
|
|
||||||
|
dvb_net_init(&budget->dvb_adapter, &budget->dvb_net, &dvbdemux->dmx);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
+
|
||||||
|
+err_release_dmx:
|
||||||
|
+ dvb_dmxdev_release(&budget->dmxdev);
|
||||||
|
+ dvb_dmx_release(&budget->demux);
|
||||||
|
+ return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void budget_unregister(struct budget *budget)
|
||||||
|
diff --git a/drivers/media/platform/davinci/vpss.c b/drivers/media/platform/davinci/vpss.c
|
||||||
|
index c2c68988e38ac..9884b34d6f406 100644
|
||||||
|
--- a/drivers/media/platform/davinci/vpss.c
|
||||||
|
+++ b/drivers/media/platform/davinci/vpss.c
|
||||||
|
@@ -519,19 +519,31 @@ static void vpss_exit(void)
|
||||||
|
|
||||||
|
static int __init vpss_init(void)
|
||||||
|
{
|
||||||
|
+ int ret;
|
||||||
|
+
|
||||||
|
if (!request_mem_region(VPSS_CLK_CTRL, 4, "vpss_clock_control"))
|
||||||
|
return -EBUSY;
|
||||||
|
|
||||||
|
oper_cfg.vpss_regs_base2 = ioremap(VPSS_CLK_CTRL, 4);
|
||||||
|
if (unlikely(!oper_cfg.vpss_regs_base2)) {
|
||||||
|
- release_mem_region(VPSS_CLK_CTRL, 4);
|
||||||
|
- return -ENOMEM;
|
||||||
|
+ ret = -ENOMEM;
|
||||||
|
+ goto err_ioremap;
|
||||||
|
}
|
||||||
|
|
||||||
|
writel(VPSS_CLK_CTRL_VENCCLKEN |
|
||||||
|
- VPSS_CLK_CTRL_DACCLKEN, oper_cfg.vpss_regs_base2);
|
||||||
|
+ VPSS_CLK_CTRL_DACCLKEN, oper_cfg.vpss_regs_base2);
|
||||||
|
+
|
||||||
|
+ ret = platform_driver_register(&vpss_driver);
|
||||||
|
+ if (ret)
|
||||||
|
+ goto err_pd_register;
|
||||||
|
+
|
||||||
|
+ return 0;
|
||||||
|
|
||||||
|
- return platform_driver_register(&vpss_driver);
|
||||||
|
+err_pd_register:
|
||||||
|
+ iounmap(oper_cfg.vpss_regs_base2);
|
||||||
|
+err_ioremap:
|
||||||
|
+ release_mem_region(VPSS_CLK_CTRL, 4);
|
||||||
|
+ return ret;
|
||||||
|
}
|
||||||
|
subsys_initcall(vpss_init);
|
||||||
|
module_exit(vpss_exit);
|
||||||
|
diff --git a/drivers/scsi/libfc/fc_disc.c b/drivers/scsi/libfc/fc_disc.c
|
||||||
|
index 880a9068ca126..ef06af4e3611d 100644
|
||||||
|
--- a/drivers/scsi/libfc/fc_disc.c
|
||||||
|
+++ b/drivers/scsi/libfc/fc_disc.c
|
||||||
|
@@ -595,8 +595,12 @@ static void fc_disc_gpn_id_resp(struct fc_seq *sp, struct fc_frame *fp,
|
||||||
|
mutex_lock(&disc->disc_mutex);
|
||||||
|
if (PTR_ERR(fp) == -FC_EX_CLOSED)
|
||||||
|
goto out;
|
||||||
|
- if (IS_ERR(fp))
|
||||||
|
- goto redisc;
|
||||||
|
+ if (IS_ERR(fp)) {
|
||||||
|
+ mutex_lock(&disc->disc_mutex);
|
||||||
|
+ fc_disc_restart(disc);
|
||||||
|
+ mutex_unlock(&disc->disc_mutex);
|
||||||
|
+ goto out;
|
||||||
|
+ }
|
||||||
|
|
||||||
|
cp = fc_frame_payload_get(fp, sizeof(*cp));
|
||||||
|
if (!cp)
|
||||||
|
@@ -621,7 +625,7 @@ static void fc_disc_gpn_id_resp(struct fc_seq *sp, struct fc_frame *fp,
|
||||||
|
new_rdata->disc_id = disc->disc_id;
|
||||||
|
lport->tt.rport_login(new_rdata);
|
||||||
|
}
|
||||||
|
- goto out;
|
||||||
|
+ goto free_fp;
|
||||||
|
}
|
||||||
|
rdata->disc_id = disc->disc_id;
|
||||||
|
lport->tt.rport_login(rdata);
|
||||||
|
@@ -635,6 +639,8 @@ static void fc_disc_gpn_id_resp(struct fc_seq *sp, struct fc_frame *fp,
|
||||||
|
redisc:
|
||||||
|
fc_disc_restart(disc);
|
||||||
|
}
|
||||||
|
+free_fp:
|
||||||
|
+ fc_frame_free(fp);
|
||||||
|
out:
|
||||||
|
mutex_unlock(&disc->disc_mutex);
|
||||||
|
kref_put(&rdata->kref, lport->tt.rport_destroy);
|
||||||
|
diff --git a/drivers/video/fbdev/omap2/dss/dss.c b/drivers/video/fbdev/omap2/dss/dss.c
|
||||||
|
index 9200a8668b498..a57c3a5f4bf8b 100644
|
||||||
|
--- a/drivers/video/fbdev/omap2/dss/dss.c
|
||||||
|
+++ b/drivers/video/fbdev/omap2/dss/dss.c
|
||||||
|
@@ -843,7 +843,7 @@ static const struct dss_features omap34xx_dss_feats = {
|
||||||
|
};
|
||||||
|
|
||||||
|
static const struct dss_features omap3630_dss_feats = {
|
||||||
|
- .fck_div_max = 32,
|
||||||
|
+ .fck_div_max = 31,
|
||||||
|
.dss_fck_multiplier = 1,
|
||||||
|
.parent_clk_name = "dpll4_ck",
|
||||||
|
.dpi_select_source = &dss_dpi_select_source_omap2_omap3,
|
||||||
|
diff --git a/drivers/virtio/virtio_ring.c b/drivers/virtio/virtio_ring.c
|
||||||
|
index a01a41a412693..6b3565feddb21 100644
|
||||||
|
--- a/drivers/virtio/virtio_ring.c
|
||||||
|
+++ b/drivers/virtio/virtio_ring.c
|
||||||
|
@@ -603,6 +603,9 @@ bool virtqueue_poll(struct virtqueue *_vq, unsigned last_used_idx)
|
||||||
|
{
|
||||||
|
struct vring_virtqueue *vq = to_vvq(_vq);
|
||||||
|
|
||||||
|
+ if (unlikely(vq->broken))
|
||||||
|
+ return false;
|
||||||
|
+
|
||||||
|
virtio_mb(vq->weak_barriers);
|
||||||
|
return (u16)last_used_idx != virtio16_to_cpu(_vq->vdev, vq->vring.used->idx);
|
||||||
|
}
|
||||||
|
diff --git a/drivers/watchdog/f71808e_wdt.c b/drivers/watchdog/f71808e_wdt.c
|
||||||
|
index 2048aad91add8..2b12ef019ae02 100644
|
||||||
|
--- a/drivers/watchdog/f71808e_wdt.c
|
||||||
|
+++ b/drivers/watchdog/f71808e_wdt.c
|
||||||
|
@@ -642,9 +642,9 @@ static int __init watchdog_init(int sioaddr)
|
||||||
|
* into the module have been registered yet.
|
||||||
|
*/
|
||||||
|
watchdog.sioaddr = sioaddr;
|
||||||
|
- watchdog.ident.options = WDIOC_SETTIMEOUT
|
||||||
|
- | WDIOF_MAGICCLOSE
|
||||||
|
- | WDIOF_KEEPALIVEPING;
|
||||||
|
+ watchdog.ident.options = WDIOF_MAGICCLOSE
|
||||||
|
+ | WDIOF_KEEPALIVEPING
|
||||||
|
+ | WDIOF_CARDRESET;
|
||||||
|
|
||||||
|
snprintf(watchdog.ident.identity,
|
||||||
|
sizeof(watchdog.ident.identity), "%s watchdog",
|
||||||
|
diff --git a/drivers/xen/preempt.c b/drivers/xen/preempt.c
|
||||||
|
index 5f6b77ea34fb5..128375ff80b8c 100644
|
||||||
|
--- a/drivers/xen/preempt.c
|
||||||
|
+++ b/drivers/xen/preempt.c
|
||||||
|
@@ -31,7 +31,7 @@ EXPORT_SYMBOL_GPL(xen_in_preemptible_hcall);
|
||||||
|
asmlinkage __visible void xen_maybe_preempt_hcall(void)
|
||||||
|
{
|
||||||
|
if (unlikely(__this_cpu_read(xen_in_preemptible_hcall)
|
||||||
|
- && need_resched())) {
|
||||||
|
+ && need_resched() && !preempt_count())) {
|
||||||
|
/*
|
||||||
|
* Clear flag as we may be rescheduled on a different
|
||||||
|
* cpu.
|
||||||
|
diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h
|
||||||
|
index 0b06d4942da77..8fb9a1e0048be 100644
|
||||||
|
--- a/fs/btrfs/ctree.h
|
||||||
|
+++ b/fs/btrfs/ctree.h
|
||||||
|
@@ -4096,6 +4096,8 @@ ssize_t btrfs_listxattr(struct dentry *dentry, char *buffer, size_t size);
|
||||||
|
/* super.c */
|
||||||
|
int btrfs_parse_options(struct btrfs_root *root, char *options);
|
||||||
|
int btrfs_sync_fs(struct super_block *sb, int wait);
|
||||||
|
+char *btrfs_get_subvol_name_from_objectid(struct btrfs_fs_info *fs_info,
|
||||||
|
+ u64 subvol_objectid);
|
||||||
|
|
||||||
|
#ifdef CONFIG_PRINTK
|
||||||
|
__printf(2, 3)
|
||||||
|
diff --git a/fs/btrfs/export.c b/fs/btrfs/export.c
|
||||||
|
index 2513a7f533342..92f80ed642194 100644
|
||||||
|
--- a/fs/btrfs/export.c
|
||||||
|
+++ b/fs/btrfs/export.c
|
||||||
|
@@ -55,9 +55,9 @@ static int btrfs_encode_fh(struct inode *inode, u32 *fh, int *max_len,
|
||||||
|
return type;
|
||||||
|
}
|
||||||
|
|
||||||
|
-static struct dentry *btrfs_get_dentry(struct super_block *sb, u64 objectid,
|
||||||
|
- u64 root_objectid, u32 generation,
|
||||||
|
- int check_generation)
|
||||||
|
+struct dentry *btrfs_get_dentry(struct super_block *sb, u64 objectid,
|
||||||
|
+ u64 root_objectid, u32 generation,
|
||||||
|
+ int check_generation)
|
||||||
|
{
|
||||||
|
struct btrfs_fs_info *fs_info = btrfs_sb(sb);
|
||||||
|
struct btrfs_root *root;
|
||||||
|
@@ -150,7 +150,7 @@ static struct dentry *btrfs_fh_to_dentry(struct super_block *sb, struct fid *fh,
|
||||||
|
return btrfs_get_dentry(sb, objectid, root_objectid, generation, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
-static struct dentry *btrfs_get_parent(struct dentry *child)
|
||||||
|
+struct dentry *btrfs_get_parent(struct dentry *child)
|
||||||
|
{
|
||||||
|
struct inode *dir = d_inode(child);
|
||||||
|
struct btrfs_root *root = BTRFS_I(dir)->root;
|
||||||
|
diff --git a/fs/btrfs/export.h b/fs/btrfs/export.h
|
||||||
|
index 074348a95841f..7a305e5549991 100644
|
||||||
|
--- a/fs/btrfs/export.h
|
||||||
|
+++ b/fs/btrfs/export.h
|
||||||
|
@@ -16,4 +16,9 @@ struct btrfs_fid {
|
||||||
|
u64 parent_root_objectid;
|
||||||
|
} __attribute__ ((packed));
|
||||||
|
|
||||||
|
+struct dentry *btrfs_get_dentry(struct super_block *sb, u64 objectid,
|
||||||
|
+ u64 root_objectid, u32 generation,
|
||||||
|
+ int check_generation);
|
||||||
|
+struct dentry *btrfs_get_parent(struct dentry *child);
|
||||||
|
+
|
||||||
|
#endif
|
||||||
|
diff --git a/fs/btrfs/super.c b/fs/btrfs/super.c
|
||||||
|
index 404051bf5cba9..77e6ce0e1e351 100644
|
||||||
|
--- a/fs/btrfs/super.c
|
||||||
|
+++ b/fs/btrfs/super.c
|
||||||
|
@@ -843,8 +843,8 @@ out:
|
||||||
|
return error;
|
||||||
|
}
|
||||||
|
|
||||||
|
-static char *get_subvol_name_from_objectid(struct btrfs_fs_info *fs_info,
|
||||||
|
- u64 subvol_objectid)
|
||||||
|
+char *btrfs_get_subvol_name_from_objectid(struct btrfs_fs_info *fs_info,
|
||||||
|
+ u64 subvol_objectid)
|
||||||
|
{
|
||||||
|
struct btrfs_root *root = fs_info->tree_root;
|
||||||
|
struct btrfs_root *fs_root;
|
||||||
|
@@ -1120,6 +1120,7 @@ static int btrfs_show_options(struct seq_file *seq, struct dentry *dentry)
|
||||||
|
struct btrfs_fs_info *info = btrfs_sb(dentry->d_sb);
|
||||||
|
struct btrfs_root *root = info->tree_root;
|
||||||
|
char *compress_type;
|
||||||
|
+ const char *subvol_name;
|
||||||
|
|
||||||
|
if (btrfs_test_opt(root, DEGRADED))
|
||||||
|
seq_puts(seq, ",degraded");
|
||||||
|
@@ -1204,8 +1205,13 @@ static int btrfs_show_options(struct seq_file *seq, struct dentry *dentry)
|
||||||
|
#endif
|
||||||
|
seq_printf(seq, ",subvolid=%llu",
|
||||||
|
BTRFS_I(d_inode(dentry))->root->root_key.objectid);
|
||||||
|
- seq_puts(seq, ",subvol=");
|
||||||
|
- seq_dentry(seq, dentry, " \t\n\\");
|
||||||
|
+ subvol_name = btrfs_get_subvol_name_from_objectid(info,
|
||||||
|
+ BTRFS_I(d_inode(dentry))->root->root_key.objectid);
|
||||||
|
+ if (!IS_ERR(subvol_name)) {
|
||||||
|
+ seq_puts(seq, ",subvol=");
|
||||||
|
+ seq_escape(seq, subvol_name, " \t\n\\");
|
||||||
|
+ kfree(subvol_name);
|
||||||
|
+ }
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -1323,8 +1329,8 @@ static struct dentry *mount_subvol(const char *subvol_name, u64 subvol_objectid,
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
- subvol_name = get_subvol_name_from_objectid(btrfs_sb(mnt->mnt_sb),
|
||||||
|
- subvol_objectid);
|
||||||
|
+ subvol_name = btrfs_get_subvol_name_from_objectid(
|
||||||
|
+ btrfs_sb(mnt->mnt_sb), subvol_objectid);
|
||||||
|
if (IS_ERR(subvol_name)) {
|
||||||
|
root = ERR_CAST(subvol_name);
|
||||||
|
subvol_name = NULL;
|
||||||
|
diff --git a/fs/eventpoll.c b/fs/eventpoll.c
|
||||||
|
index 240d9ceb8d0c6..b8959d0d4c723 100644
|
||||||
|
--- a/fs/eventpoll.c
|
||||||
|
+++ b/fs/eventpoll.c
|
||||||
|
@@ -1719,9 +1719,11 @@ static int ep_loop_check_proc(void *priv, void *cookie, int call_nests)
|
||||||
|
* not already there, and calling reverse_path_check()
|
||||||
|
* during ep_insert().
|
||||||
|
*/
|
||||||
|
- if (list_empty(&epi->ffd.file->f_tfile_llink))
|
||||||
|
+ if (list_empty(&epi->ffd.file->f_tfile_llink)) {
|
||||||
|
+ get_file(epi->ffd.file);
|
||||||
|
list_add(&epi->ffd.file->f_tfile_llink,
|
||||||
|
&tfile_check_list);
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
mutex_unlock(&ep->mtx);
|
||||||
|
@@ -1765,6 +1767,7 @@ static void clear_tfile_check_list(void)
|
||||||
|
file = list_first_entry(&tfile_check_list, struct file,
|
||||||
|
f_tfile_llink);
|
||||||
|
list_del_init(&file->f_tfile_llink);
|
||||||
|
+ fput(file);
|
||||||
|
}
|
||||||
|
INIT_LIST_HEAD(&tfile_check_list);
|
||||||
|
}
|
||||||
|
@@ -1902,13 +1905,13 @@ SYSCALL_DEFINE4(epoll_ctl, int, epfd, int, op, int, fd,
|
||||||
|
mutex_lock(&epmutex);
|
||||||
|
if (is_file_epoll(tf.file)) {
|
||||||
|
error = -ELOOP;
|
||||||
|
- if (ep_loop_check(ep, tf.file) != 0) {
|
||||||
|
- clear_tfile_check_list();
|
||||||
|
+ if (ep_loop_check(ep, tf.file) != 0)
|
||||||
|
goto error_tgt_fput;
|
||||||
|
- }
|
||||||
|
- } else
|
||||||
|
+ } else {
|
||||||
|
+ get_file(tf.file);
|
||||||
|
list_add(&tf.file->f_tfile_llink,
|
||||||
|
&tfile_check_list);
|
||||||
|
+ }
|
||||||
|
mutex_lock_nested(&ep->mtx, 0);
|
||||||
|
if (is_file_epoll(tf.file)) {
|
||||||
|
tep = tf.file->private_data;
|
||||||
|
@@ -1932,8 +1935,6 @@ SYSCALL_DEFINE4(epoll_ctl, int, epfd, int, op, int, fd,
|
||||||
|
error = ep_insert(ep, &epds, tf.file, fd, full_check);
|
||||||
|
} else
|
||||||
|
error = -EEXIST;
|
||||||
|
- if (full_check)
|
||||||
|
- clear_tfile_check_list();
|
||||||
|
break;
|
||||||
|
case EPOLL_CTL_DEL:
|
||||||
|
if (epi)
|
||||||
|
@@ -1954,8 +1955,10 @@ SYSCALL_DEFINE4(epoll_ctl, int, epfd, int, op, int, fd,
|
||||||
|
mutex_unlock(&ep->mtx);
|
||||||
|
|
||||||
|
error_tgt_fput:
|
||||||
|
- if (full_check)
|
||||||
|
+ if (full_check) {
|
||||||
|
+ clear_tfile_check_list();
|
||||||
|
mutex_unlock(&epmutex);
|
||||||
|
+ }
|
||||||
|
|
||||||
|
fdput(tf);
|
||||||
|
error_fput:
|
||||||
|
diff --git a/fs/ext4/namei.c b/fs/ext4/namei.c
|
||||||
|
index 566a8b08ccdd6..061b026e464c5 100644
|
||||||
|
--- a/fs/ext4/namei.c
|
||||||
|
+++ b/fs/ext4/namei.c
|
||||||
|
@@ -1226,19 +1226,18 @@ static void dx_insert_block(struct dx_frame *frame, u32 hash, ext4_lblk_t block)
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
- * NOTE! unlike strncmp, ext4_match returns 1 for success, 0 for failure.
|
||||||
|
+ * Test whether a directory entry matches the filename being searched for.
|
||||||
|
*
|
||||||
|
- * `len <= EXT4_NAME_LEN' is guaranteed by caller.
|
||||||
|
- * `de != NULL' is guaranteed by caller.
|
||||||
|
+ * Return: %true if the directory entry matches, otherwise %false.
|
||||||
|
*/
|
||||||
|
-static inline int ext4_match(struct ext4_filename *fname,
|
||||||
|
- struct ext4_dir_entry_2 *de)
|
||||||
|
+static inline bool ext4_match(const struct ext4_filename *fname,
|
||||||
|
+ const struct ext4_dir_entry_2 *de)
|
||||||
|
{
|
||||||
|
const void *name = fname_name(fname);
|
||||||
|
u32 len = fname_len(fname);
|
||||||
|
|
||||||
|
if (!de->inode)
|
||||||
|
- return 0;
|
||||||
|
+ return false;
|
||||||
|
|
||||||
|
#ifdef CONFIG_EXT4_FS_ENCRYPTION
|
||||||
|
if (unlikely(!name)) {
|
||||||
|
@@ -1270,48 +1269,31 @@ int ext4_search_dir(struct buffer_head *bh, char *search_buf, int buf_size,
|
||||||
|
struct ext4_dir_entry_2 * de;
|
||||||
|
char * dlimit;
|
||||||
|
int de_len;
|
||||||
|
- int res;
|
||||||
|
|
||||||
|
de = (struct ext4_dir_entry_2 *)search_buf;
|
||||||
|
dlimit = search_buf + buf_size;
|
||||||
|
while ((char *) de < dlimit) {
|
||||||
|
/* this code is executed quadratically often */
|
||||||
|
/* do minimal checking `by hand' */
|
||||||
|
- if ((char *) de + de->name_len <= dlimit) {
|
||||||
|
- res = ext4_match(fname, de);
|
||||||
|
- if (res < 0) {
|
||||||
|
- res = -1;
|
||||||
|
- goto return_result;
|
||||||
|
- }
|
||||||
|
- if (res > 0) {
|
||||||
|
- /* found a match - just to be sure, do
|
||||||
|
- * a full check */
|
||||||
|
- if (ext4_check_dir_entry(dir, NULL, de, bh,
|
||||||
|
- bh->b_data,
|
||||||
|
- bh->b_size, offset)) {
|
||||||
|
- res = -1;
|
||||||
|
- goto return_result;
|
||||||
|
- }
|
||||||
|
- *res_dir = de;
|
||||||
|
- res = 1;
|
||||||
|
- goto return_result;
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
+ if ((char *) de + de->name_len <= dlimit &&
|
||||||
|
+ ext4_match(fname, de)) {
|
||||||
|
+ /* found a match - just to be sure, do
|
||||||
|
+ * a full check */
|
||||||
|
+ if (ext4_check_dir_entry(dir, NULL, de, bh, search_buf,
|
||||||
|
+ buf_size, offset))
|
||||||
|
+ return -1;
|
||||||
|
+ *res_dir = de;
|
||||||
|
+ return 1;
|
||||||
|
}
|
||||||
|
/* prevent looping on a bad block */
|
||||||
|
de_len = ext4_rec_len_from_disk(de->rec_len,
|
||||||
|
dir->i_sb->s_blocksize);
|
||||||
|
- if (de_len <= 0) {
|
||||||
|
- res = -1;
|
||||||
|
- goto return_result;
|
||||||
|
- }
|
||||||
|
+ if (de_len <= 0)
|
||||||
|
+ return -1;
|
||||||
|
offset += de_len;
|
||||||
|
de = (struct ext4_dir_entry_2 *) ((char *) de + de_len);
|
||||||
|
}
|
||||||
|
-
|
||||||
|
- res = 0;
|
||||||
|
-return_result:
|
||||||
|
- return res;
|
||||||
|
+ return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int is_dx_internal_node(struct inode *dir, ext4_lblk_t block,
|
||||||
|
@@ -1748,7 +1730,7 @@ static struct ext4_dir_entry_2 *do_split(handle_t *handle, struct inode *dir,
|
||||||
|
blocksize, hinfo, map);
|
||||||
|
map -= count;
|
||||||
|
dx_sort_map(map, count);
|
||||||
|
- /* Split the existing block in the middle, size-wise */
|
||||||
|
+ /* Ensure that neither split block is over half full */
|
||||||
|
size = 0;
|
||||||
|
move = 0;
|
||||||
|
for (i = count-1; i >= 0; i--) {
|
||||||
|
@@ -1758,8 +1740,18 @@ static struct ext4_dir_entry_2 *do_split(handle_t *handle, struct inode *dir,
|
||||||
|
size += map[i].size;
|
||||||
|
move++;
|
||||||
|
}
|
||||||
|
- /* map index at which we will split */
|
||||||
|
- split = count - move;
|
||||||
|
+ /*
|
||||||
|
+ * map index at which we will split
|
||||||
|
+ *
|
||||||
|
+ * If the sum of active entries didn't exceed half the block size, just
|
||||||
|
+ * split it in half by count; each resulting block will have at least
|
||||||
|
+ * half the space free.
|
||||||
|
+ */
|
||||||
|
+ if (i > 0)
|
||||||
|
+ split = count - move;
|
||||||
|
+ else
|
||||||
|
+ split = count/2;
|
||||||
|
+
|
||||||
|
hash2 = map[split].hash;
|
||||||
|
continued = hash2 == map[split - 1].hash;
|
||||||
|
dxtrace(printk(KERN_INFO "Split block %lu at %x, %i/%i\n",
|
||||||
|
@@ -1824,24 +1816,15 @@ int ext4_find_dest_de(struct inode *dir, struct inode *inode,
|
||||||
|
int nlen, rlen;
|
||||||
|
unsigned int offset = 0;
|
||||||
|
char *top;
|
||||||
|
- int res;
|
||||||
|
|
||||||
|
de = (struct ext4_dir_entry_2 *)buf;
|
||||||
|
top = buf + buf_size - reclen;
|
||||||
|
while ((char *) de <= top) {
|
||||||
|
if (ext4_check_dir_entry(dir, NULL, de, bh,
|
||||||
|
- buf, buf_size, offset)) {
|
||||||
|
- res = -EFSCORRUPTED;
|
||||||
|
- goto return_result;
|
||||||
|
- }
|
||||||
|
- /* Provide crypto context and crypto buffer to ext4 match */
|
||||||
|
- res = ext4_match(fname, de);
|
||||||
|
- if (res < 0)
|
||||||
|
- goto return_result;
|
||||||
|
- if (res > 0) {
|
||||||
|
- res = -EEXIST;
|
||||||
|
- goto return_result;
|
||||||
|
- }
|
||||||
|
+ buf, buf_size, offset))
|
||||||
|
+ return -EFSCORRUPTED;
|
||||||
|
+ if (ext4_match(fname, de))
|
||||||
|
+ return -EEXIST;
|
||||||
|
nlen = EXT4_DIR_REC_LEN(de->name_len);
|
||||||
|
rlen = ext4_rec_len_from_disk(de->rec_len, buf_size);
|
||||||
|
if ((de->inode ? rlen - nlen : rlen) >= reclen)
|
||||||
|
@@ -1849,15 +1832,11 @@ int ext4_find_dest_de(struct inode *dir, struct inode *inode,
|
||||||
|
de = (struct ext4_dir_entry_2 *)((char *)de + rlen);
|
||||||
|
offset += rlen;
|
||||||
|
}
|
||||||
|
-
|
||||||
|
if ((char *) de > top)
|
||||||
|
- res = -ENOSPC;
|
||||||
|
- else {
|
||||||
|
- *dest_de = de;
|
||||||
|
- res = 0;
|
||||||
|
- }
|
||||||
|
-return_result:
|
||||||
|
- return res;
|
||||||
|
+ return -ENOSPC;
|
||||||
|
+
|
||||||
|
+ *dest_de = de;
|
||||||
|
+ return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int ext4_insert_dentry(struct inode *dir,
|
||||||
|
@@ -2343,7 +2322,7 @@ int ext4_generic_delete_entry(handle_t *handle,
|
||||||
|
de = (struct ext4_dir_entry_2 *)entry_buf;
|
||||||
|
while (i < buf_size - csum_size) {
|
||||||
|
if (ext4_check_dir_entry(dir, NULL, de, bh,
|
||||||
|
- bh->b_data, bh->b_size, i))
|
||||||
|
+ entry_buf, buf_size, i))
|
||||||
|
return -EFSCORRUPTED;
|
||||||
|
if (de == de_del) {
|
||||||
|
if (pde)
|
||||||
|
diff --git a/fs/jffs2/dir.c b/fs/jffs2/dir.c
|
||||||
|
index e273171696972..7a3368929245d 100644
|
||||||
|
--- a/fs/jffs2/dir.c
|
||||||
|
+++ b/fs/jffs2/dir.c
|
||||||
|
@@ -588,10 +588,14 @@ static int jffs2_rmdir (struct inode *dir_i, struct dentry *dentry)
|
||||||
|
int ret;
|
||||||
|
uint32_t now = get_seconds();
|
||||||
|
|
||||||
|
+ mutex_lock(&f->sem);
|
||||||
|
for (fd = f->dents ; fd; fd = fd->next) {
|
||||||
|
- if (fd->ino)
|
||||||
|
+ if (fd->ino) {
|
||||||
|
+ mutex_unlock(&f->sem);
|
||||||
|
return -ENOTEMPTY;
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
+ mutex_unlock(&f->sem);
|
||||||
|
|
||||||
|
ret = jffs2_do_unlink(c, dir_f, dentry->d_name.name,
|
||||||
|
dentry->d_name.len, f, now);
|
||||||
|
diff --git a/fs/romfs/storage.c b/fs/romfs/storage.c
|
||||||
|
index f86f51f99aceb..1dcadd22b440d 100644
|
||||||
|
--- a/fs/romfs/storage.c
|
||||||
|
+++ b/fs/romfs/storage.c
|
||||||
|
@@ -221,10 +221,8 @@ int romfs_dev_read(struct super_block *sb, unsigned long pos,
|
||||||
|
size_t limit;
|
||||||
|
|
||||||
|
limit = romfs_maxsize(sb);
|
||||||
|
- if (pos >= limit)
|
||||||
|
+ if (pos >= limit || buflen > limit - pos)
|
||||||
|
return -EIO;
|
||||||
|
- if (buflen > limit - pos)
|
||||||
|
- buflen = limit - pos;
|
||||||
|
|
||||||
|
#ifdef CONFIG_ROMFS_ON_MTD
|
||||||
|
if (sb->s_mtd)
|
||||||
|
diff --git a/fs/xfs/xfs_sysfs.h b/fs/xfs/xfs_sysfs.h
|
||||||
|
index be692e59938db..c457b010c623d 100644
|
||||||
|
--- a/fs/xfs/xfs_sysfs.h
|
||||||
|
+++ b/fs/xfs/xfs_sysfs.h
|
||||||
|
@@ -44,9 +44,11 @@ xfs_sysfs_init(
|
||||||
|
struct xfs_kobj *parent_kobj,
|
||||||
|
const char *name)
|
||||||
|
{
|
||||||
|
+ struct kobject *parent;
|
||||||
|
+
|
||||||
|
+ parent = parent_kobj ? &parent_kobj->kobject : NULL;
|
||||||
|
init_completion(&kobj->complete);
|
||||||
|
- return kobject_init_and_add(&kobj->kobject, ktype,
|
||||||
|
- &parent_kobj->kobject, "%s", name);
|
||||||
|
+ return kobject_init_and_add(&kobj->kobject, ktype, parent, "%s", name);
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline void
|
||||||
|
diff --git a/fs/xfs/xfs_trans_dquot.c b/fs/xfs/xfs_trans_dquot.c
|
||||||
|
index ce78534a047ee..bb8de2dddabe2 100644
|
||||||
|
--- a/fs/xfs/xfs_trans_dquot.c
|
||||||
|
+++ b/fs/xfs/xfs_trans_dquot.c
|
||||||
|
@@ -662,7 +662,7 @@ xfs_trans_dqresv(
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (ninos > 0) {
|
||||||
|
- total_count = be64_to_cpu(dqp->q_core.d_icount) + ninos;
|
||||||
|
+ total_count = dqp->q_res_icount + ninos;
|
||||||
|
timer = be32_to_cpu(dqp->q_core.d_itimer);
|
||||||
|
warns = be16_to_cpu(dqp->q_core.d_iwarns);
|
||||||
|
warnlimit = dqp->q_mount->m_quotainfo->qi_iwarnlimit;
|
||||||
|
diff --git a/include/linux/mm.h b/include/linux/mm.h
|
||||||
|
index 03cf5526e4456..2b17d2fca4299 100644
|
||||||
|
--- a/include/linux/mm.h
|
||||||
|
+++ b/include/linux/mm.h
|
||||||
|
@@ -1123,6 +1123,10 @@ void unmap_vmas(struct mmu_gather *tlb, struct vm_area_struct *start_vma,
|
||||||
|
* followed by taking the mmap_sem for writing before modifying the
|
||||||
|
* vmas or anything the coredump pretends not to change from under it.
|
||||||
|
*
|
||||||
|
+ * It also has to be called when mmgrab() is used in the context of
|
||||||
|
+ * the process, but then the mm_count refcount is transferred outside
|
||||||
|
+ * the context of the process to run down_write() on that pinned mm.
|
||||||
|
+ *
|
||||||
|
* NOTE: find_extend_vma() called from GUP context is the only place
|
||||||
|
* that can modify the "mm" (notably the vm_start/end) under mmap_sem
|
||||||
|
* for reading and outside the context of the process, so it is also
|
||||||
|
diff --git a/include/net/sock.h b/include/net/sock.h
|
||||||
|
index 426a57874964c..31198b32d9122 100644
|
||||||
|
--- a/include/net/sock.h
|
||||||
|
+++ b/include/net/sock.h
|
||||||
|
@@ -779,6 +779,8 @@ static inline int sk_memalloc_socks(void)
|
||||||
|
{
|
||||||
|
return static_key_false(&memalloc_socks);
|
||||||
|
}
|
||||||
|
+
|
||||||
|
+void __receive_sock(struct file *file);
|
||||||
|
#else
|
||||||
|
|
||||||
|
static inline int sk_memalloc_socks(void)
|
||||||
|
@@ -786,6 +788,8 @@ static inline int sk_memalloc_socks(void)
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
+static inline void __receive_sock(struct file *file)
|
||||||
|
+{ }
|
||||||
|
#endif
|
||||||
|
|
||||||
|
static inline gfp_t sk_gfp_atomic(const struct sock *sk, gfp_t gfp_mask)
|
||||||
|
diff --git a/mm/huge_memory.c b/mm/huge_memory.c
|
||||||
|
index 465786cd6490e..f38d24bb8a1bc 100644
|
||||||
|
--- a/mm/huge_memory.c
|
||||||
|
+++ b/mm/huge_memory.c
|
||||||
|
@@ -2136,7 +2136,7 @@ static void insert_to_mm_slots_hash(struct mm_struct *mm,
|
||||||
|
|
||||||
|
static inline int khugepaged_test_exit(struct mm_struct *mm)
|
||||||
|
{
|
||||||
|
- return atomic_read(&mm->mm_users) == 0;
|
||||||
|
+ return atomic_read(&mm->mm_users) == 0 || !mmget_still_valid(mm);
|
||||||
|
}
|
||||||
|
|
||||||
|
int __khugepaged_enter(struct mm_struct *mm)
|
||||||
|
@@ -2149,7 +2149,7 @@ int __khugepaged_enter(struct mm_struct *mm)
|
||||||
|
return -ENOMEM;
|
||||||
|
|
||||||
|
/* __khugepaged_exit() must not run from under us */
|
||||||
|
- VM_BUG_ON_MM(khugepaged_test_exit(mm), mm);
|
||||||
|
+ VM_BUG_ON_MM(atomic_read(&mm->mm_users) == 0, mm);
|
||||||
|
if (unlikely(test_and_set_bit(MMF_VM_HUGEPAGE, &mm->flags))) {
|
||||||
|
free_mm_slot(mm_slot);
|
||||||
|
return 0;
|
||||||
|
diff --git a/mm/hugetlb.c b/mm/hugetlb.c
|
||||||
|
index 3a1501e854832..baac9a09ec0a1 100644
|
||||||
|
--- a/mm/hugetlb.c
|
||||||
|
+++ b/mm/hugetlb.c
|
||||||
|
@@ -4257,6 +4257,7 @@ static bool vma_shareable(struct vm_area_struct *vma, unsigned long addr)
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
+#define ALIGN_DOWN(x, a) __ALIGN_KERNEL((x) - ((a) - 1), (a))
|
||||||
|
/*
|
||||||
|
* Determine if start,end range within vma could be mapped by shared pmd.
|
||||||
|
* If yes, adjust start and end to cover range associated with possible
|
||||||
|
@@ -4265,25 +4266,21 @@ static bool vma_shareable(struct vm_area_struct *vma, unsigned long addr)
|
||||||
|
void adjust_range_if_pmd_sharing_possible(struct vm_area_struct *vma,
|
||||||
|
unsigned long *start, unsigned long *end)
|
||||||
|
{
|
||||||
|
- unsigned long check_addr = *start;
|
||||||
|
+ unsigned long a_start, a_end;
|
||||||
|
|
||||||
|
if (!(vma->vm_flags & VM_MAYSHARE))
|
||||||
|
return;
|
||||||
|
|
||||||
|
- for (check_addr = *start; check_addr < *end; check_addr += PUD_SIZE) {
|
||||||
|
- unsigned long a_start = check_addr & PUD_MASK;
|
||||||
|
- unsigned long a_end = a_start + PUD_SIZE;
|
||||||
|
+ /* Extend the range to be PUD aligned for a worst case scenario */
|
||||||
|
+ a_start = ALIGN_DOWN(*start, PUD_SIZE);
|
||||||
|
+ a_end = ALIGN(*end, PUD_SIZE);
|
||||||
|
|
||||||
|
- /*
|
||||||
|
- * If sharing is possible, adjust start/end if necessary.
|
||||||
|
- */
|
||||||
|
- if (range_in_vma(vma, a_start, a_end)) {
|
||||||
|
- if (a_start < *start)
|
||||||
|
- *start = a_start;
|
||||||
|
- if (a_end > *end)
|
||||||
|
- *end = a_end;
|
||||||
|
- }
|
||||||
|
- }
|
||||||
|
+ /*
|
||||||
|
+ * Intersect the range with the vma range, since pmd sharing won't be
|
||||||
|
+ * across vma after all
|
||||||
|
+ */
|
||||||
|
+ *start = max(vma->vm_start, a_start);
|
||||||
|
+ *end = min(vma->vm_end, a_end);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
|
||||||
|
index df589416ace6c..14bab5fa1b656 100644
|
||||||
|
--- a/mm/page_alloc.c
|
||||||
|
+++ b/mm/page_alloc.c
|
||||||
|
@@ -843,6 +843,11 @@ static void free_pcppages_bulk(struct zone *zone, int count,
|
||||||
|
if (nr_scanned)
|
||||||
|
__mod_zone_page_state(zone, NR_PAGES_SCANNED, -nr_scanned);
|
||||||
|
|
||||||
|
+ /*
|
||||||
|
+ * Ensure proper count is passed which otherwise would stuck in the
|
||||||
|
+ * below while (list_empty(list)) loop.
|
||||||
|
+ */
|
||||||
|
+ count = min(pcp->count, count);
|
||||||
|
while (to_free) {
|
||||||
|
struct page *page;
|
||||||
|
struct list_head *list;
|
||||||
|
@@ -6285,7 +6290,7 @@ int __meminit init_per_zone_wmark_min(void)
|
||||||
|
setup_per_zone_inactive_ratio();
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
-core_initcall(init_per_zone_wmark_min)
|
||||||
|
+postcore_initcall(init_per_zone_wmark_min)
|
||||||
|
|
||||||
|
/*
|
||||||
|
* min_free_kbytes_sysctl_handler - just a wrapper around proc_dointvec() so
|
||||||
|
diff --git a/net/compat.c b/net/compat.c
|
||||||
|
index d676840104556..20c5e5f215f23 100644
|
||||||
|
--- a/net/compat.c
|
||||||
|
+++ b/net/compat.c
|
||||||
|
@@ -284,6 +284,7 @@ void scm_detach_fds_compat(struct msghdr *kmsg, struct scm_cookie *scm)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
/* Bump the usage count and install the file. */
|
||||||
|
+ __receive_sock(fp[i]);
|
||||||
|
fd_install(new_fd, get_file(fp[i]));
|
||||||
|
}
|
||||||
|
|
||||||
|
diff --git a/net/core/sock.c b/net/core/sock.c
|
||||||
|
index 120d5058d81ae..82f9a7dbea6fe 100644
|
||||||
|
--- a/net/core/sock.c
|
||||||
|
+++ b/net/core/sock.c
|
||||||
|
@@ -2275,6 +2275,27 @@ int sock_no_mmap(struct file *file, struct socket *sock, struct vm_area_struct *
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL(sock_no_mmap);
|
||||||
|
|
||||||
|
+/*
|
||||||
|
+ * When a file is received (via SCM_RIGHTS, etc), we must bump the
|
||||||
|
+ * various sock-based usage counts.
|
||||||
|
+ */
|
||||||
|
+void __receive_sock(struct file *file)
|
||||||
|
+{
|
||||||
|
+ struct socket *sock;
|
||||||
|
+ int error;
|
||||||
|
+
|
||||||
|
+ /*
|
||||||
|
+ * The resulting value of "error" is ignored here since we only
|
||||||
|
+ * need to take action when the file is a socket and testing
|
||||||
|
+ * "sock" for NULL is sufficient.
|
||||||
|
+ */
|
||||||
|
+ sock = sock_from_file(file, &error);
|
||||||
|
+ if (sock) {
|
||||||
|
+ sock_update_netprioidx(sock->sk);
|
||||||
|
+ sock_update_classid(sock->sk);
|
||||||
|
+ }
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
ssize_t sock_no_sendpage(struct socket *sock, struct page *page, int offset, size_t size, int flags)
|
||||||
|
{
|
||||||
|
ssize_t res;
|
||||||
|
diff --git a/sound/soc/intel/atom/sst-mfld-platform-pcm.c b/sound/soc/intel/atom/sst-mfld-platform-pcm.c
|
||||||
|
index 1d9dfb92b3b48..edb244331e6e9 100644
|
||||||
|
--- a/sound/soc/intel/atom/sst-mfld-platform-pcm.c
|
||||||
|
+++ b/sound/soc/intel/atom/sst-mfld-platform-pcm.c
|
||||||
|
@@ -338,7 +338,7 @@ static int sst_media_open(struct snd_pcm_substream *substream,
|
||||||
|
|
||||||
|
ret_val = power_up_sst(stream);
|
||||||
|
if (ret_val < 0)
|
||||||
|
- return ret_val;
|
||||||
|
+ goto out_power_up;
|
||||||
|
|
||||||
|
/* Make sure, that the period size is always even */
|
||||||
|
snd_pcm_hw_constraint_step(substream->runtime, 0,
|
||||||
|
@@ -347,8 +347,9 @@ static int sst_media_open(struct snd_pcm_substream *substream,
|
||||||
|
return snd_pcm_hw_constraint_integer(runtime,
|
||||||
|
SNDRV_PCM_HW_PARAM_PERIODS);
|
||||||
|
out_ops:
|
||||||
|
- kfree(stream);
|
||||||
|
mutex_unlock(&sst_lock);
|
||||||
|
+out_power_up:
|
||||||
|
+ kfree(stream);
|
||||||
|
return ret_val;
|
||||||
|
}
|
||||||
|
|
||||||
|
diff --git a/tools/perf/util/probe-finder.c b/tools/perf/util/probe-finder.c
|
||||||
|
index c694f10d004cc..1b73537af91db 100644
|
||||||
|
--- a/tools/perf/util/probe-finder.c
|
||||||
|
+++ b/tools/perf/util/probe-finder.c
|
||||||
|
@@ -1274,7 +1274,7 @@ int debuginfo__find_trace_events(struct debuginfo *dbg,
|
||||||
|
tf.ntevs = 0;
|
||||||
|
|
||||||
|
ret = debuginfo__find_probes(dbg, &tf.pf);
|
||||||
|
- if (ret < 0) {
|
||||||
|
+ if (ret < 0 || tf.ntevs == 0) {
|
||||||
|
for (i = 0; i < tf.ntevs; i++)
|
||||||
|
clear_probe_trace_event(&tf.tevs[i]);
|
||||||
|
zfree(tevs);
|
2129
patch/kernel/rockpis-legacy/patch-4.4.234-235.patch
Normal file
2129
patch/kernel/rockpis-legacy/patch-4.4.234-235.patch
Normal file
File diff suppressed because it is too large
Load diff
2361
patch/kernel/rockpis-legacy/patch-4.4.235-236-changed.patch
Normal file
2361
patch/kernel/rockpis-legacy/patch-4.4.235-236-changed.patch
Normal file
File diff suppressed because it is too large
Load diff
2002
patch/kernel/rockpis-legacy/patch-4.4.236-237.patch
Normal file
2002
patch/kernel/rockpis-legacy/patch-4.4.236-237.patch
Normal file
File diff suppressed because it is too large
Load diff
2701
patch/kernel/rockpis-legacy/patch-4.4.237-238.patch
Normal file
2701
patch/kernel/rockpis-legacy/patch-4.4.237-238.patch
Normal file
File diff suppressed because it is too large
Load diff
1487
patch/kernel/rockpis-legacy/patch-4.4.238-239.patch
Normal file
1487
patch/kernel/rockpis-legacy/patch-4.4.238-239.patch
Normal file
File diff suppressed because it is too large
Load diff
555
patch/kernel/rockpis-legacy/patch-4.4.239-240.patch
Normal file
555
patch/kernel/rockpis-legacy/patch-4.4.239-240.patch
Normal file
|
@ -0,0 +1,555 @@
|
||||||
|
diff --git a/Makefile b/Makefile
|
||||||
|
index 74072b5a958b2..69e7cd30e6465 100644
|
||||||
|
--- a/Makefile
|
||||||
|
+++ b/Makefile
|
||||||
|
@@ -1,6 +1,6 @@
|
||||||
|
VERSION = 4
|
||||||
|
PATCHLEVEL = 4
|
||||||
|
-SUBLEVEL = 239
|
||||||
|
+SUBLEVEL = 240
|
||||||
|
EXTRAVERSION =
|
||||||
|
NAME = Blurry Fish Butt
|
||||||
|
|
||||||
|
diff --git a/drivers/crypto/qat/qat_common/qat_algs.c b/drivers/crypto/qat/qat_common/qat_algs.c
|
||||||
|
index 367b6661ee041..4dda526bd21b8 100644
|
||||||
|
--- a/drivers/crypto/qat/qat_common/qat_algs.c
|
||||||
|
+++ b/drivers/crypto/qat/qat_common/qat_algs.c
|
||||||
|
@@ -822,6 +822,11 @@ static int qat_alg_aead_dec(struct aead_request *areq)
|
||||||
|
struct icp_qat_fw_la_bulk_req *msg;
|
||||||
|
int digst_size = crypto_aead_authsize(aead_tfm);
|
||||||
|
int ret, ctr = 0;
|
||||||
|
+ u32 cipher_len;
|
||||||
|
+
|
||||||
|
+ cipher_len = areq->cryptlen - digst_size;
|
||||||
|
+ if (cipher_len % AES_BLOCK_SIZE != 0)
|
||||||
|
+ return -EINVAL;
|
||||||
|
|
||||||
|
ret = qat_alg_sgl_to_bufl(ctx->inst, areq->src, areq->dst, qat_req);
|
||||||
|
if (unlikely(ret))
|
||||||
|
@@ -836,7 +841,7 @@ static int qat_alg_aead_dec(struct aead_request *areq)
|
||||||
|
qat_req->req.comn_mid.src_data_addr = qat_req->buf.blp;
|
||||||
|
qat_req->req.comn_mid.dest_data_addr = qat_req->buf.bloutp;
|
||||||
|
cipher_param = (void *)&qat_req->req.serv_specif_rqpars;
|
||||||
|
- cipher_param->cipher_length = areq->cryptlen - digst_size;
|
||||||
|
+ cipher_param->cipher_length = cipher_len;
|
||||||
|
cipher_param->cipher_offset = areq->assoclen;
|
||||||
|
memcpy(cipher_param->u.cipher_IV_array, areq->iv, AES_BLOCK_SIZE);
|
||||||
|
auth_param = (void *)((uint8_t *)cipher_param + sizeof(*cipher_param));
|
||||||
|
@@ -865,6 +870,9 @@ static int qat_alg_aead_enc(struct aead_request *areq)
|
||||||
|
uint8_t *iv = areq->iv;
|
||||||
|
int ret, ctr = 0;
|
||||||
|
|
||||||
|
+ if (areq->cryptlen % AES_BLOCK_SIZE != 0)
|
||||||
|
+ return -EINVAL;
|
||||||
|
+
|
||||||
|
ret = qat_alg_sgl_to_bufl(ctx->inst, areq->src, areq->dst, qat_req);
|
||||||
|
if (unlikely(ret))
|
||||||
|
return ret;
|
||||||
|
diff --git a/drivers/media/usb/usbtv/usbtv-core.c b/drivers/media/usb/usbtv/usbtv-core.c
|
||||||
|
index a2eb87d74656f..8a1440a573a33 100644
|
||||||
|
--- a/drivers/media/usb/usbtv/usbtv-core.c
|
||||||
|
+++ b/drivers/media/usb/usbtv/usbtv-core.c
|
||||||
|
@@ -96,7 +96,8 @@ static int usbtv_probe(struct usb_interface *intf,
|
||||||
|
|
||||||
|
usbtv_audio_fail:
|
||||||
|
/* we must not free at this point */
|
||||||
|
- usb_get_dev(usbtv->udev);
|
||||||
|
+ v4l2_device_get(&usbtv->v4l2_dev);
|
||||||
|
+ /* this will undo the v4l2_device_get() */
|
||||||
|
usbtv_video_free(usbtv);
|
||||||
|
|
||||||
|
usbtv_video_fail:
|
||||||
|
diff --git a/drivers/spi/spi.c b/drivers/spi/spi.c
|
||||||
|
index 57001f8f727a3..6ed2959ce4dc0 100644
|
||||||
|
--- a/drivers/spi/spi.c
|
||||||
|
+++ b/drivers/spi/spi.c
|
||||||
|
@@ -1917,13 +1917,13 @@ static int __unregister(struct device *dev, void *null)
|
||||||
|
*/
|
||||||
|
void spi_unregister_master(struct spi_master *master)
|
||||||
|
{
|
||||||
|
+ device_for_each_child(&master->dev, NULL, __unregister);
|
||||||
|
+
|
||||||
|
if (master->queued) {
|
||||||
|
if (spi_destroy_queue(master))
|
||||||
|
dev_err(&master->dev, "queue remove failed\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
- device_for_each_child(&master->dev, NULL, __unregister);
|
||||||
|
-
|
||||||
|
mutex_lock(&board_lock);
|
||||||
|
list_del(&master->list);
|
||||||
|
mutex_unlock(&board_lock);
|
||||||
|
diff --git a/drivers/staging/comedi/drivers/vmk80xx.c b/drivers/staging/comedi/drivers/vmk80xx.c
|
||||||
|
index 95e53cfd76a41..51f9a7800edf5 100644
|
||||||
|
--- a/drivers/staging/comedi/drivers/vmk80xx.c
|
||||||
|
+++ b/drivers/staging/comedi/drivers/vmk80xx.c
|
||||||
|
@@ -676,6 +676,9 @@ static int vmk80xx_find_usb_endpoints(struct comedi_device *dev)
|
||||||
|
if (!devpriv->ep_rx || !devpriv->ep_tx)
|
||||||
|
return -ENODEV;
|
||||||
|
|
||||||
|
+ if (!usb_endpoint_maxp(devpriv->ep_rx) || !usb_endpoint_maxp(devpriv->ep_tx))
|
||||||
|
+ return -EINVAL;
|
||||||
|
+
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
diff --git a/drivers/usb/serial/ftdi_sio.c b/drivers/usb/serial/ftdi_sio.c
|
||||||
|
index 25e76d4c15054..5b42b8d760cb4 100644
|
||||||
|
--- a/drivers/usb/serial/ftdi_sio.c
|
||||||
|
+++ b/drivers/usb/serial/ftdi_sio.c
|
||||||
|
@@ -1032,6 +1032,11 @@ static const struct usb_device_id id_table_combined[] = {
|
||||||
|
/* U-Blox devices */
|
||||||
|
{ USB_DEVICE(UBLOX_VID, UBLOX_C099F9P_ZED_PID) },
|
||||||
|
{ USB_DEVICE(UBLOX_VID, UBLOX_C099F9P_ODIN_PID) },
|
||||||
|
+ /* FreeCalypso USB adapters */
|
||||||
|
+ { USB_DEVICE(FTDI_VID, FTDI_FALCONIA_JTAG_BUF_PID),
|
||||||
|
+ .driver_info = (kernel_ulong_t)&ftdi_jtag_quirk },
|
||||||
|
+ { USB_DEVICE(FTDI_VID, FTDI_FALCONIA_JTAG_UNBUF_PID),
|
||||||
|
+ .driver_info = (kernel_ulong_t)&ftdi_jtag_quirk },
|
||||||
|
{ } /* Terminating entry */
|
||||||
|
};
|
||||||
|
|
||||||
|
diff --git a/drivers/usb/serial/ftdi_sio_ids.h b/drivers/usb/serial/ftdi_sio_ids.h
|
||||||
|
index c33e06752b5f0..f3302516a1e4f 100644
|
||||||
|
--- a/drivers/usb/serial/ftdi_sio_ids.h
|
||||||
|
+++ b/drivers/usb/serial/ftdi_sio_ids.h
|
||||||
|
@@ -38,6 +38,13 @@
|
||||||
|
|
||||||
|
#define FTDI_LUMEL_PD12_PID 0x6002
|
||||||
|
|
||||||
|
+/*
|
||||||
|
+ * Custom USB adapters made by Falconia Partners LLC
|
||||||
|
+ * for FreeCalypso project, ID codes allocated to Falconia by FTDI.
|
||||||
|
+ */
|
||||||
|
+#define FTDI_FALCONIA_JTAG_BUF_PID 0x7150
|
||||||
|
+#define FTDI_FALCONIA_JTAG_UNBUF_PID 0x7151
|
||||||
|
+
|
||||||
|
/* Sienna Serial Interface by Secyourit GmbH */
|
||||||
|
#define FTDI_SIENNA_PID 0x8348
|
||||||
|
|
||||||
|
diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c
|
||||||
|
index 8cff50ef4fd14..5017d37afe392 100644
|
||||||
|
--- a/drivers/usb/serial/option.c
|
||||||
|
+++ b/drivers/usb/serial/option.c
|
||||||
|
@@ -529,6 +529,7 @@ static void option_instat_callback(struct urb *urb);
|
||||||
|
/* Cellient products */
|
||||||
|
#define CELLIENT_VENDOR_ID 0x2692
|
||||||
|
#define CELLIENT_PRODUCT_MEN200 0x9005
|
||||||
|
+#define CELLIENT_PRODUCT_MPL200 0x9025
|
||||||
|
|
||||||
|
/* Hyundai Petatel Inc. products */
|
||||||
|
#define PETATEL_VENDOR_ID 0x1ff4
|
||||||
|
@@ -1171,6 +1172,8 @@ static const struct usb_device_id option_ids[] = {
|
||||||
|
.driver_info = NCTRL(2) | RSVD(3) },
|
||||||
|
{ USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x1053, 0xff), /* Telit FN980 (ECM) */
|
||||||
|
.driver_info = NCTRL(0) | RSVD(1) },
|
||||||
|
+ { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x1054, 0xff), /* Telit FT980-KS */
|
||||||
|
+ .driver_info = NCTRL(2) | RSVD(3) },
|
||||||
|
{ USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_ME910),
|
||||||
|
.driver_info = NCTRL(0) | RSVD(1) | RSVD(3) },
|
||||||
|
{ USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_ME910_DUAL_MODEM),
|
||||||
|
@@ -1967,6 +1970,8 @@ static const struct usb_device_id option_ids[] = {
|
||||||
|
{ USB_DEVICE_AND_INTERFACE_INFO(MEDIATEK_VENDOR_ID, MEDIATEK_PRODUCT_DC_4COM2, 0xff, 0x02, 0x01) },
|
||||||
|
{ USB_DEVICE_AND_INTERFACE_INFO(MEDIATEK_VENDOR_ID, MEDIATEK_PRODUCT_DC_4COM2, 0xff, 0x00, 0x00) },
|
||||||
|
{ USB_DEVICE(CELLIENT_VENDOR_ID, CELLIENT_PRODUCT_MEN200) },
|
||||||
|
+ { USB_DEVICE(CELLIENT_VENDOR_ID, CELLIENT_PRODUCT_MPL200),
|
||||||
|
+ .driver_info = RSVD(1) | RSVD(4) },
|
||||||
|
{ USB_DEVICE(PETATEL_VENDOR_ID, PETATEL_PRODUCT_NP10T_600A) },
|
||||||
|
{ USB_DEVICE(PETATEL_VENDOR_ID, PETATEL_PRODUCT_NP10T_600E) },
|
||||||
|
{ USB_DEVICE_AND_INTERFACE_INFO(TPLINK_VENDOR_ID, TPLINK_PRODUCT_LTE, 0xff, 0x00, 0x00) }, /* TP-Link LTE Module */
|
||||||
|
diff --git a/drivers/usb/serial/pl2303.c b/drivers/usb/serial/pl2303.c
|
||||||
|
index 4fcded2971d1d..bf5533d6d83bd 100644
|
||||||
|
--- a/drivers/usb/serial/pl2303.c
|
||||||
|
+++ b/drivers/usb/serial/pl2303.c
|
||||||
|
@@ -89,6 +89,7 @@ static const struct usb_device_id id_table[] = {
|
||||||
|
{ USB_DEVICE(HP_VENDOR_ID, HP_LD220_PRODUCT_ID) },
|
||||||
|
{ USB_DEVICE(HP_VENDOR_ID, HP_LD220TA_PRODUCT_ID) },
|
||||||
|
{ USB_DEVICE(HP_VENDOR_ID, HP_LD381_PRODUCT_ID) },
|
||||||
|
+ { USB_DEVICE(HP_VENDOR_ID, HP_LD381GC_PRODUCT_ID) },
|
||||||
|
{ USB_DEVICE(HP_VENDOR_ID, HP_LD960_PRODUCT_ID) },
|
||||||
|
{ USB_DEVICE(HP_VENDOR_ID, HP_LD960TA_PRODUCT_ID) },
|
||||||
|
{ USB_DEVICE(HP_VENDOR_ID, HP_LCM220_PRODUCT_ID) },
|
||||||
|
diff --git a/drivers/usb/serial/pl2303.h b/drivers/usb/serial/pl2303.h
|
||||||
|
index 54d2fb974a418..9d27c076f477e 100644
|
||||||
|
--- a/drivers/usb/serial/pl2303.h
|
||||||
|
+++ b/drivers/usb/serial/pl2303.h
|
||||||
|
@@ -125,6 +125,7 @@
|
||||||
|
|
||||||
|
/* Hewlett-Packard POS Pole Displays */
|
||||||
|
#define HP_VENDOR_ID 0x03f0
|
||||||
|
+#define HP_LD381GC_PRODUCT_ID 0x0183
|
||||||
|
#define HP_LM920_PRODUCT_ID 0x026b
|
||||||
|
#define HP_TD620_PRODUCT_ID 0x0956
|
||||||
|
#define HP_LD960_PRODUCT_ID 0x0b39
|
||||||
|
diff --git a/fs/reiserfs/inode.c b/fs/reiserfs/inode.c
|
||||||
|
index 60ba35087d126..cfb4691d92741 100644
|
||||||
|
--- a/fs/reiserfs/inode.c
|
||||||
|
+++ b/fs/reiserfs/inode.c
|
||||||
|
@@ -1553,11 +1553,7 @@ void reiserfs_read_locked_inode(struct inode *inode,
|
||||||
|
* set version 1, version 2 could be used too, because stat data
|
||||||
|
* key is the same in both versions
|
||||||
|
*/
|
||||||
|
- key.version = KEY_FORMAT_3_5;
|
||||||
|
- key.on_disk_key.k_dir_id = dirino;
|
||||||
|
- key.on_disk_key.k_objectid = inode->i_ino;
|
||||||
|
- key.on_disk_key.k_offset = 0;
|
||||||
|
- key.on_disk_key.k_type = 0;
|
||||||
|
+ _make_cpu_key(&key, KEY_FORMAT_3_5, dirino, inode->i_ino, 0, 0, 3);
|
||||||
|
|
||||||
|
/* look for the object's stat data */
|
||||||
|
retval = search_item(inode->i_sb, &key, &path_to_sd);
|
||||||
|
diff --git a/fs/reiserfs/xattr.c b/fs/reiserfs/xattr.c
|
||||||
|
index d424b3d4bf3b4..92d39cbc2d64d 100644
|
||||||
|
--- a/fs/reiserfs/xattr.c
|
||||||
|
+++ b/fs/reiserfs/xattr.c
|
||||||
|
@@ -656,6 +656,13 @@ reiserfs_xattr_get(struct inode *inode, const char *name, void *buffer,
|
||||||
|
if (get_inode_sd_version(inode) == STAT_DATA_V1)
|
||||||
|
return -EOPNOTSUPP;
|
||||||
|
|
||||||
|
+ /*
|
||||||
|
+ * priv_root needn't be initialized during mount so allow initial
|
||||||
|
+ * lookups to succeed.
|
||||||
|
+ */
|
||||||
|
+ if (!REISERFS_SB(inode->i_sb)->priv_root)
|
||||||
|
+ return 0;
|
||||||
|
+
|
||||||
|
dentry = xattr_lookup(inode, name, XATTR_REPLACE);
|
||||||
|
if (IS_ERR(dentry)) {
|
||||||
|
err = PTR_ERR(dentry);
|
||||||
|
diff --git a/include/net/bluetooth/hci_core.h b/include/net/bluetooth/hci_core.h
|
||||||
|
index 7c0c83dfe86e3..5aaf6cdb121a1 100644
|
||||||
|
--- a/include/net/bluetooth/hci_core.h
|
||||||
|
+++ b/include/net/bluetooth/hci_core.h
|
||||||
|
@@ -1235,16 +1235,34 @@ static inline void hci_auth_cfm(struct hci_conn *conn, __u8 status)
|
||||||
|
conn->security_cfm_cb(conn, status);
|
||||||
|
}
|
||||||
|
|
||||||
|
-static inline void hci_encrypt_cfm(struct hci_conn *conn, __u8 status,
|
||||||
|
- __u8 encrypt)
|
||||||
|
+static inline void hci_encrypt_cfm(struct hci_conn *conn, __u8 status)
|
||||||
|
{
|
||||||
|
struct hci_cb *cb;
|
||||||
|
+ __u8 encrypt;
|
||||||
|
+
|
||||||
|
+ if (conn->state == BT_CONFIG) {
|
||||||
|
+ if (!status)
|
||||||
|
+ conn->state = BT_CONNECTED;
|
||||||
|
|
||||||
|
- if (conn->sec_level == BT_SECURITY_SDP)
|
||||||
|
- conn->sec_level = BT_SECURITY_LOW;
|
||||||
|
+ hci_connect_cfm(conn, status);
|
||||||
|
+ hci_conn_drop(conn);
|
||||||
|
+ return;
|
||||||
|
+ }
|
||||||
|
|
||||||
|
- if (conn->pending_sec_level > conn->sec_level)
|
||||||
|
- conn->sec_level = conn->pending_sec_level;
|
||||||
|
+ if (!test_bit(HCI_CONN_ENCRYPT, &conn->flags))
|
||||||
|
+ encrypt = 0x00;
|
||||||
|
+ else if (test_bit(HCI_CONN_AES_CCM, &conn->flags))
|
||||||
|
+ encrypt = 0x02;
|
||||||
|
+ else
|
||||||
|
+ encrypt = 0x01;
|
||||||
|
+
|
||||||
|
+ if (!status) {
|
||||||
|
+ if (conn->sec_level == BT_SECURITY_SDP)
|
||||||
|
+ conn->sec_level = BT_SECURITY_LOW;
|
||||||
|
+
|
||||||
|
+ if (conn->pending_sec_level > conn->sec_level)
|
||||||
|
+ conn->sec_level = conn->pending_sec_level;
|
||||||
|
+ }
|
||||||
|
|
||||||
|
mutex_lock(&hci_cb_list_lock);
|
||||||
|
list_for_each_entry(cb, &hci_cb_list, list) {
|
||||||
|
diff --git a/net/bluetooth/a2mp.c b/net/bluetooth/a2mp.c
|
||||||
|
index 5f123c3320a7b..8f918155685db 100644
|
||||||
|
--- a/net/bluetooth/a2mp.c
|
||||||
|
+++ b/net/bluetooth/a2mp.c
|
||||||
|
@@ -233,6 +233,9 @@ static int a2mp_discover_rsp(struct amp_mgr *mgr, struct sk_buff *skb,
|
||||||
|
struct a2mp_info_req req;
|
||||||
|
|
||||||
|
found = true;
|
||||||
|
+
|
||||||
|
+ memset(&req, 0, sizeof(req));
|
||||||
|
+
|
||||||
|
req.id = cl->id;
|
||||||
|
a2mp_send(mgr, A2MP_GETINFO_REQ, __next_ident(mgr),
|
||||||
|
sizeof(req), &req);
|
||||||
|
@@ -312,6 +315,8 @@ static int a2mp_getinfo_req(struct amp_mgr *mgr, struct sk_buff *skb,
|
||||||
|
if (!hdev || hdev->dev_type != HCI_AMP) {
|
||||||
|
struct a2mp_info_rsp rsp;
|
||||||
|
|
||||||
|
+ memset(&rsp, 0, sizeof(rsp));
|
||||||
|
+
|
||||||
|
rsp.id = req->id;
|
||||||
|
rsp.status = A2MP_STATUS_INVALID_CTRL_ID;
|
||||||
|
|
||||||
|
@@ -355,6 +360,8 @@ static int a2mp_getinfo_rsp(struct amp_mgr *mgr, struct sk_buff *skb,
|
||||||
|
if (!ctrl)
|
||||||
|
return -ENOMEM;
|
||||||
|
|
||||||
|
+ memset(&req, 0, sizeof(req));
|
||||||
|
+
|
||||||
|
req.id = rsp->id;
|
||||||
|
a2mp_send(mgr, A2MP_GETAMPASSOC_REQ, __next_ident(mgr), sizeof(req),
|
||||||
|
&req);
|
||||||
|
@@ -383,6 +390,8 @@ static int a2mp_getampassoc_req(struct amp_mgr *mgr, struct sk_buff *skb,
|
||||||
|
struct a2mp_amp_assoc_rsp rsp;
|
||||||
|
rsp.id = req->id;
|
||||||
|
|
||||||
|
+ memset(&rsp, 0, sizeof(rsp));
|
||||||
|
+
|
||||||
|
if (tmp) {
|
||||||
|
rsp.status = A2MP_STATUS_COLLISION_OCCURED;
|
||||||
|
amp_mgr_put(tmp);
|
||||||
|
@@ -471,7 +480,6 @@ static int a2mp_createphyslink_req(struct amp_mgr *mgr, struct sk_buff *skb,
|
||||||
|
struct a2mp_cmd *hdr)
|
||||||
|
{
|
||||||
|
struct a2mp_physlink_req *req = (void *) skb->data;
|
||||||
|
-
|
||||||
|
struct a2mp_physlink_rsp rsp;
|
||||||
|
struct hci_dev *hdev;
|
||||||
|
struct hci_conn *hcon;
|
||||||
|
@@ -482,6 +490,8 @@ static int a2mp_createphyslink_req(struct amp_mgr *mgr, struct sk_buff *skb,
|
||||||
|
|
||||||
|
BT_DBG("local_id %d, remote_id %d", req->local_id, req->remote_id);
|
||||||
|
|
||||||
|
+ memset(&rsp, 0, sizeof(rsp));
|
||||||
|
+
|
||||||
|
rsp.local_id = req->remote_id;
|
||||||
|
rsp.remote_id = req->local_id;
|
||||||
|
|
||||||
|
@@ -560,6 +570,8 @@ static int a2mp_discphyslink_req(struct amp_mgr *mgr, struct sk_buff *skb,
|
||||||
|
|
||||||
|
BT_DBG("local_id %d remote_id %d", req->local_id, req->remote_id);
|
||||||
|
|
||||||
|
+ memset(&rsp, 0, sizeof(rsp));
|
||||||
|
+
|
||||||
|
rsp.local_id = req->remote_id;
|
||||||
|
rsp.remote_id = req->local_id;
|
||||||
|
rsp.status = A2MP_STATUS_SUCCESS;
|
||||||
|
@@ -682,6 +694,8 @@ static int a2mp_chan_recv_cb(struct l2cap_chan *chan, struct sk_buff *skb)
|
||||||
|
if (err) {
|
||||||
|
struct a2mp_cmd_rej rej;
|
||||||
|
|
||||||
|
+ memset(&rej, 0, sizeof(rej));
|
||||||
|
+
|
||||||
|
rej.reason = cpu_to_le16(0);
|
||||||
|
hdr = (void *) skb->data;
|
||||||
|
|
||||||
|
@@ -905,6 +919,8 @@ void a2mp_send_getinfo_rsp(struct hci_dev *hdev)
|
||||||
|
|
||||||
|
BT_DBG("%s mgr %p", hdev->name, mgr);
|
||||||
|
|
||||||
|
+ memset(&rsp, 0, sizeof(rsp));
|
||||||
|
+
|
||||||
|
rsp.id = hdev->id;
|
||||||
|
rsp.status = A2MP_STATUS_INVALID_CTRL_ID;
|
||||||
|
|
||||||
|
@@ -1002,6 +1018,8 @@ void a2mp_send_create_phy_link_rsp(struct hci_dev *hdev, u8 status)
|
||||||
|
if (!mgr)
|
||||||
|
return;
|
||||||
|
|
||||||
|
+ memset(&rsp, 0, sizeof(rsp));
|
||||||
|
+
|
||||||
|
hs_hcon = hci_conn_hash_lookup_state(hdev, AMP_LINK, BT_CONNECT);
|
||||||
|
if (!hs_hcon) {
|
||||||
|
rsp.status = A2MP_STATUS_UNABLE_START_LINK_CREATION;
|
||||||
|
@@ -1034,6 +1052,8 @@ void a2mp_discover_amp(struct l2cap_chan *chan)
|
||||||
|
|
||||||
|
mgr->bredr_chan = chan;
|
||||||
|
|
||||||
|
+ memset(&req, 0, sizeof(req));
|
||||||
|
+
|
||||||
|
req.mtu = cpu_to_le16(L2CAP_A2MP_DEFAULT_MTU);
|
||||||
|
req.ext_feat = 0;
|
||||||
|
a2mp_send(mgr, A2MP_DISCOVER_REQ, 1, sizeof(req), &req);
|
||||||
|
diff --git a/net/bluetooth/hci_conn.c b/net/bluetooth/hci_conn.c
|
||||||
|
index 114bcf6ea9168..2c94e3cd3545f 100644
|
||||||
|
--- a/net/bluetooth/hci_conn.c
|
||||||
|
+++ b/net/bluetooth/hci_conn.c
|
||||||
|
@@ -1173,6 +1173,23 @@ int hci_conn_check_link_mode(struct hci_conn *conn)
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
+ /* AES encryption is required for Level 4:
|
||||||
|
+ *
|
||||||
|
+ * BLUETOOTH CORE SPECIFICATION Version 5.2 | Vol 3, Part C
|
||||||
|
+ * page 1319:
|
||||||
|
+ *
|
||||||
|
+ * 128-bit equivalent strength for link and encryption keys
|
||||||
|
+ * required using FIPS approved algorithms (E0 not allowed,
|
||||||
|
+ * SAFER+ not allowed, and P-192 not allowed; encryption key
|
||||||
|
+ * not shortened)
|
||||||
|
+ */
|
||||||
|
+ if (conn->sec_level == BT_SECURITY_FIPS &&
|
||||||
|
+ !test_bit(HCI_CONN_AES_CCM, &conn->flags)) {
|
||||||
|
+ bt_dev_err(conn->hdev,
|
||||||
|
+ "Invalid security: Missing AES-CCM usage");
|
||||||
|
+ return 0;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
if (hci_conn_ssp_enabled(conn) &&
|
||||||
|
!test_bit(HCI_CONN_ENCRYPT, &conn->flags))
|
||||||
|
return 0;
|
||||||
|
diff --git a/net/bluetooth/hci_event.c b/net/bluetooth/hci_event.c
|
||||||
|
index 03319ab8a7c6e..7cee89fddcd50 100644
|
||||||
|
--- a/net/bluetooth/hci_event.c
|
||||||
|
+++ b/net/bluetooth/hci_event.c
|
||||||
|
@@ -1133,6 +1133,9 @@ static void store_pending_adv_report(struct hci_dev *hdev, bdaddr_t *bdaddr,
|
||||||
|
{
|
||||||
|
struct discovery_state *d = &hdev->discovery;
|
||||||
|
|
||||||
|
+ if (len > HCI_MAX_AD_LENGTH)
|
||||||
|
+ return;
|
||||||
|
+
|
||||||
|
bacpy(&d->last_adv_addr, bdaddr);
|
||||||
|
d->last_adv_addr_type = bdaddr_type;
|
||||||
|
d->last_adv_rssi = rssi;
|
||||||
|
@@ -2479,7 +2482,7 @@ static void hci_auth_complete_evt(struct hci_dev *hdev, struct sk_buff *skb)
|
||||||
|
&cp);
|
||||||
|
} else {
|
||||||
|
clear_bit(HCI_CONN_ENCRYPT_PEND, &conn->flags);
|
||||||
|
- hci_encrypt_cfm(conn, ev->status, 0x00);
|
||||||
|
+ hci_encrypt_cfm(conn, ev->status);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -2565,22 +2568,7 @@ static void read_enc_key_size_complete(struct hci_dev *hdev, u8 status,
|
||||||
|
conn->enc_key_size = rp->key_size;
|
||||||
|
}
|
||||||
|
|
||||||
|
- if (conn->state == BT_CONFIG) {
|
||||||
|
- conn->state = BT_CONNECTED;
|
||||||
|
- hci_connect_cfm(conn, 0);
|
||||||
|
- hci_conn_drop(conn);
|
||||||
|
- } else {
|
||||||
|
- u8 encrypt;
|
||||||
|
-
|
||||||
|
- if (!test_bit(HCI_CONN_ENCRYPT, &conn->flags))
|
||||||
|
- encrypt = 0x00;
|
||||||
|
- else if (test_bit(HCI_CONN_AES_CCM, &conn->flags))
|
||||||
|
- encrypt = 0x02;
|
||||||
|
- else
|
||||||
|
- encrypt = 0x01;
|
||||||
|
-
|
||||||
|
- hci_encrypt_cfm(conn, 0, encrypt);
|
||||||
|
- }
|
||||||
|
+ hci_encrypt_cfm(conn, 0);
|
||||||
|
|
||||||
|
unlock:
|
||||||
|
hci_dev_unlock(hdev);
|
||||||
|
@@ -2627,24 +2615,20 @@ static void hci_encrypt_change_evt(struct hci_dev *hdev, struct sk_buff *skb)
|
||||||
|
|
||||||
|
clear_bit(HCI_CONN_ENCRYPT_PEND, &conn->flags);
|
||||||
|
|
||||||
|
+ /* Check link security requirements are met */
|
||||||
|
+ if (!hci_conn_check_link_mode(conn))
|
||||||
|
+ ev->status = HCI_ERROR_AUTH_FAILURE;
|
||||||
|
+
|
||||||
|
if (ev->status && conn->state == BT_CONNECTED) {
|
||||||
|
+ /* Notify upper layers so they can cleanup before
|
||||||
|
+ * disconnecting.
|
||||||
|
+ */
|
||||||
|
+ hci_encrypt_cfm(conn, ev->status);
|
||||||
|
hci_disconnect(conn, HCI_ERROR_AUTH_FAILURE);
|
||||||
|
hci_conn_drop(conn);
|
||||||
|
goto unlock;
|
||||||
|
}
|
||||||
|
|
||||||
|
- /* In Secure Connections Only mode, do not allow any connections
|
||||||
|
- * that are not encrypted with AES-CCM using a P-256 authenticated
|
||||||
|
- * combination key.
|
||||||
|
- */
|
||||||
|
- if (hci_dev_test_flag(hdev, HCI_SC_ONLY) &&
|
||||||
|
- (!test_bit(HCI_CONN_AES_CCM, &conn->flags) ||
|
||||||
|
- conn->key_type != HCI_LK_AUTH_COMBINATION_P256)) {
|
||||||
|
- hci_connect_cfm(conn, HCI_ERROR_AUTH_FAILURE);
|
||||||
|
- hci_conn_drop(conn);
|
||||||
|
- goto unlock;
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
/* Try reading the encryption key size for encrypted ACL links */
|
||||||
|
if (!ev->status && ev->encrypt && conn->type == ACL_LINK) {
|
||||||
|
struct hci_cp_read_enc_key_size cp;
|
||||||
|
@@ -2674,14 +2658,7 @@ static void hci_encrypt_change_evt(struct hci_dev *hdev, struct sk_buff *skb)
|
||||||
|
}
|
||||||
|
|
||||||
|
notify:
|
||||||
|
- if (conn->state == BT_CONFIG) {
|
||||||
|
- if (!ev->status)
|
||||||
|
- conn->state = BT_CONNECTED;
|
||||||
|
-
|
||||||
|
- hci_connect_cfm(conn, ev->status);
|
||||||
|
- hci_conn_drop(conn);
|
||||||
|
- } else
|
||||||
|
- hci_encrypt_cfm(conn, ev->status, ev->encrypt);
|
||||||
|
+ hci_encrypt_cfm(conn, ev->status);
|
||||||
|
|
||||||
|
unlock:
|
||||||
|
hci_dev_unlock(hdev);
|
||||||
|
@@ -4752,6 +4729,11 @@ static void process_adv_report(struct hci_dev *hdev, u8 type, bdaddr_t *bdaddr,
|
||||||
|
u32 flags;
|
||||||
|
u8 *ptr, real_len;
|
||||||
|
|
||||||
|
+ if (len > HCI_MAX_AD_LENGTH) {
|
||||||
|
+ pr_err_ratelimited("legacy adv larger than 31 bytes");
|
||||||
|
+ return;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
/* Find the end of the data in case the report contains padded zero
|
||||||
|
* bytes at the end causing an invalid length value.
|
||||||
|
*
|
||||||
|
@@ -4812,7 +4794,7 @@ static void process_adv_report(struct hci_dev *hdev, u8 type, bdaddr_t *bdaddr,
|
||||||
|
*/
|
||||||
|
conn = check_pending_le_conn(hdev, bdaddr, bdaddr_type, type,
|
||||||
|
direct_addr);
|
||||||
|
- if (conn && type == LE_ADV_IND) {
|
||||||
|
+ if (conn && type == LE_ADV_IND && len <= HCI_MAX_AD_LENGTH) {
|
||||||
|
/* Store report for later inclusion by
|
||||||
|
* mgmt_device_connected
|
||||||
|
*/
|
||||||
|
@@ -4937,10 +4919,14 @@ static void hci_le_adv_report_evt(struct hci_dev *hdev, struct sk_buff *skb)
|
||||||
|
struct hci_ev_le_advertising_info *ev = ptr;
|
||||||
|
s8 rssi;
|
||||||
|
|
||||||
|
- rssi = ev->data[ev->length];
|
||||||
|
- process_adv_report(hdev, ev->evt_type, &ev->bdaddr,
|
||||||
|
- ev->bdaddr_type, NULL, 0, rssi,
|
||||||
|
- ev->data, ev->length);
|
||||||
|
+ if (ev->length <= HCI_MAX_AD_LENGTH) {
|
||||||
|
+ rssi = ev->data[ev->length];
|
||||||
|
+ process_adv_report(hdev, ev->evt_type, &ev->bdaddr,
|
||||||
|
+ ev->bdaddr_type, NULL, 0, rssi,
|
||||||
|
+ ev->data, ev->length);
|
||||||
|
+ } else {
|
||||||
|
+ bt_dev_err(hdev, "Dropping invalid advertising data");
|
||||||
|
+ }
|
||||||
|
|
||||||
|
ptr += sizeof(*ev) + ev->length + 1;
|
||||||
|
}
|
||||||
|
diff --git a/net/bluetooth/mgmt.c b/net/bluetooth/mgmt.c
|
||||||
|
index ecc3da6a14a18..ee761fb095594 100644
|
||||||
|
--- a/net/bluetooth/mgmt.c
|
||||||
|
+++ b/net/bluetooth/mgmt.c
|
||||||
|
@@ -628,7 +628,8 @@ static u32 get_supported_settings(struct hci_dev *hdev)
|
||||||
|
|
||||||
|
if (lmp_ssp_capable(hdev)) {
|
||||||
|
settings |= MGMT_SETTING_SSP;
|
||||||
|
- settings |= MGMT_SETTING_HS;
|
||||||
|
+ if (IS_ENABLED(CONFIG_BT_HS))
|
||||||
|
+ settings |= MGMT_SETTING_HS;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (lmp_sc_capable(hdev))
|
||||||
|
@@ -2281,6 +2282,10 @@ static int set_link_security(struct sock *sk, struct hci_dev *hdev, void *data,
|
||||||
|
|
||||||
|
BT_DBG("request for %s", hdev->name);
|
||||||
|
|
||||||
|
+ if (!IS_ENABLED(CONFIG_BT_HS))
|
||||||
|
+ return mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_HS,
|
||||||
|
+ MGMT_STATUS_NOT_SUPPORTED);
|
||||||
|
+
|
||||||
|
status = mgmt_bredr_support(hdev);
|
||||||
|
if (status)
|
||||||
|
return mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_LINK_SECURITY,
|
3167
patch/kernel/rockpis-legacy/patch-4.4.240-241.patch
Normal file
3167
patch/kernel/rockpis-legacy/patch-4.4.240-241.patch
Normal file
File diff suppressed because it is too large
Load diff
2641
patch/kernel/rockpis-legacy/patch-4.4.241-242.patch
Normal file
2641
patch/kernel/rockpis-legacy/patch-4.4.241-242.patch
Normal file
File diff suppressed because it is too large
Load diff
28
patch/kernel/rockpis-legacy/patch-4.4.242-243.patch
Normal file
28
patch/kernel/rockpis-legacy/patch-4.4.242-243.patch
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
diff --git a/Makefile b/Makefile
|
||||||
|
index 0ba3fd9144264..99badda272d74 100644
|
||||||
|
--- a/Makefile
|
||||||
|
+++ b/Makefile
|
||||||
|
@@ -1,6 +1,6 @@
|
||||||
|
VERSION = 4
|
||||||
|
PATCHLEVEL = 4
|
||||||
|
-SUBLEVEL = 242
|
||||||
|
+SUBLEVEL = 243
|
||||||
|
EXTRAVERSION =
|
||||||
|
NAME = Blurry Fish Butt
|
||||||
|
|
||||||
|
diff --git a/drivers/powercap/powercap_sys.c b/drivers/powercap/powercap_sys.c
|
||||||
|
index fd12ccc11e262..2313bb93f5c2e 100644
|
||||||
|
--- a/drivers/powercap/powercap_sys.c
|
||||||
|
+++ b/drivers/powercap/powercap_sys.c
|
||||||
|
@@ -379,9 +379,9 @@ static void create_power_zone_common_attributes(
|
||||||
|
&dev_attr_max_energy_range_uj.attr;
|
||||||
|
if (power_zone->ops->get_energy_uj) {
|
||||||
|
if (power_zone->ops->reset_energy_uj)
|
||||||
|
- dev_attr_energy_uj.attr.mode = S_IWUSR | S_IRUGO;
|
||||||
|
+ dev_attr_energy_uj.attr.mode = S_IWUSR | S_IRUSR;
|
||||||
|
else
|
||||||
|
- dev_attr_energy_uj.attr.mode = S_IRUGO;
|
||||||
|
+ dev_attr_energy_uj.attr.mode = S_IRUSR;
|
||||||
|
power_zone->zone_dev_attrs[count++] =
|
||||||
|
&dev_attr_energy_uj.attr;
|
||||||
|
}
|
|
@ -1,13 +0,0 @@
|
||||||
diff --git a/Makefile b/Makefile
|
|
||||||
index 50e927f348532..0c8f0ba8c34f4 100644
|
|
||||||
--- a/Makefile
|
|
||||||
+++ b/Makefile
|
|
||||||
@@ -1,7 +1,7 @@
|
|
||||||
# SPDX-License-Identifier: GPL-2.0
|
|
||||||
VERSION = 5
|
|
||||||
PATCHLEVEL = 9
|
|
||||||
-SUBLEVEL = 3
|
|
||||||
+SUBLEVEL = 4
|
|
||||||
EXTRAVERSION =
|
|
||||||
NAME = Kleptomaniac Octopus
|
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -141,7 +141,7 @@ index 6c3b038e..f4166fbe 100755
|
||||||
+
|
+
|
||||||
+for file in /dev/* ; do
|
+for file in /dev/* ; do
|
||||||
+ CURRENT_DEVICE=\$(printf "%d:%d" \$(stat --printf="0x%t 0x%T" \$file))
|
+ CURRENT_DEVICE=\$(printf "%d:%d" \$(stat --printf="0x%t 0x%T" \$file))
|
||||||
+ if [[ "\$CURRENT_DEVICE" = "\$boot_device" ]]; then
|
+ if [ "\$CURRENT_DEVICE" = "\$boot_device" ]; then
|
||||||
+ boot_partition=\$file
|
+ boot_partition=\$file
|
||||||
+ break;
|
+ break;
|
||||||
+ fi
|
+ fi
|
||||||
|
|
|
@ -12,20 +12,21 @@ index 84462f3..3291f9f
|
||||||
select ENABLE_ARM_SOC_BOOT0_HOOK
|
select ENABLE_ARM_SOC_BOOT0_HOOK
|
||||||
imply CMD_FASTBOOT
|
imply CMD_FASTBOOT
|
||||||
diff --git a/include/configs/rk3328_common.h b/include/configs/rk3328_common.h
|
diff --git a/include/configs/rk3328_common.h b/include/configs/rk3328_common.h
|
||||||
index 513237e..a1bcebd
|
index 6be9ad7..f553425 100644
|
||||||
--- a/include/configs/rk3328_common.h
|
--- a/include/configs/rk3328_common.h
|
||||||
+++ b/include/configs/rk3328_common.h
|
+++ b/include/configs/rk3328_common.h
|
||||||
@@ -73,12 +73,13 @@
|
@@ -57,6 +57,7 @@
|
||||||
"fdt_addr_r=0x01f00000\0" \
|
"fdt_addr_r=0x08300000\0" \
|
||||||
"kernel_addr_r=0x02000000\0" \
|
"kernel_addr_r=0x00280000\0" \
|
||||||
"ramdisk_addr_r=0x04000000\0"
|
"ramdisk_addr_r=0x0a200000\0"
|
||||||
+#define FDTFILE "rockchip/" CONFIG_DEFAULT_DEVICE_TREE ".dtb"
|
+#define FDTFILE "rockchip/" CONFIG_DEFAULT_DEVICE_TREE ".dtb"
|
||||||
|
|
||||||
#include <config_distro_bootcmd.h>
|
#include <config_distro_bootcmd.h>
|
||||||
#define CONFIG_EXTRA_ENV_SETTINGS \
|
#define CONFIG_EXTRA_ENV_SETTINGS \
|
||||||
ENV_MEM_LAYOUT_SETTINGS \
|
@@ -64,6 +65,7 @@
|
||||||
- "fdtfile=" FDTFILE \
|
RKIMG_DET_BOOTDEV \
|
||||||
"partitions=" PARTS_DEFAULT \
|
"partitions=" PARTS_DEFAULT \
|
||||||
|
ROCKCHIP_DEVICE_SETTINGS \
|
||||||
+ "fdtfile=" FDTFILE "\0" \
|
+ "fdtfile=" FDTFILE "\0" \
|
||||||
BOOTENV
|
BOOTENV
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue