diff --git a/config b/config index 6769c2a..a61e226 100644 --- a/config +++ b/config @@ -1,18 +1,20 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/x86 4.4.8 Kernel Configuration +# Linux/x86 4.8.7 Kernel Configuration # CONFIG_64BIT=y CONFIG_X86_64=y CONFIG_X86=y CONFIG_INSTRUCTION_DECODER=y -CONFIG_PERF_EVENTS_INTEL_UNCORE=y CONFIG_OUTPUT_FORMAT="elf64-x86-64" CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig" CONFIG_LOCKDEP_SUPPORT=y CONFIG_STACKTRACE_SUPPORT=y -CONFIG_HAVE_LATENCYTOP_SUPPORT=y CONFIG_MMU=y +CONFIG_ARCH_MMAP_RND_BITS_MIN=28 +CONFIG_ARCH_MMAP_RND_BITS_MAX=32 +CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=8 +CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=16 CONFIG_NEED_DMA_MAP_STATE=y CONFIG_NEED_SG_DMA_LENGTH=y CONFIG_GENERIC_ISA_DMA=y @@ -37,9 +39,9 @@ CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y CONFIG_HAVE_INTEL_TXT=y CONFIG_X86_64_SMP=y -CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-rdi -fcall-saved-rsi -fcall-saved-rdx -fcall-saved-rcx -fcall-saved-r8 -fcall-saved-r9 -fcall-saved-r10 -fcall-saved-r11" CONFIG_ARCH_SUPPORTS_UPROBES=y CONFIG_FIX_EARLYCON_MEM=y +CONFIG_DEBUG_RODATA=y CONFIG_PGTABLE_LEVELS=4 CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" CONFIG_IRQ_WORK=y @@ -51,7 +53,7 @@ CONFIG_BUILDTIME_EXTABLE_SORT=y CONFIG_INIT_ENV_ARG_LIMIT=32 CONFIG_CROSS_COMPILE="" # CONFIG_COMPILE_TEST is not set -CONFIG_LOCALVERSION="-9.pvops.qubes.x86_64" +CONFIG_LOCALVERSION="-11.pvops.qubes.x86_64" # CONFIG_LOCALVERSION_AUTO is not set CONFIG_HAVE_KERNEL_GZIP=y CONFIG_HAVE_KERNEL_BZIP2=y @@ -120,6 +122,7 @@ CONFIG_HIGH_RES_TIMERS=y # CONFIG_VIRT_CPU_ACCOUNTING=y CONFIG_VIRT_CPU_ACCOUNTING_GEN=y +# CONFIG_IRQ_TIME_ACCOUNTING is not set CONFIG_BSD_PROCESS_ACCT=y CONFIG_BSD_PROCESS_ACCT_V3=y CONFIG_TASKSTATS=y @@ -148,6 +151,7 @@ CONFIG_IKCONFIG=y CONFIG_IKCONFIG_PROC=y CONFIG_LOG_BUF_SHIFT=18 CONFIG_LOG_CPU_MAX_BUF_SHIFT=12 +CONFIG_NMI_LOG_BUF_SHIFT=13 CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y CONFIG_ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH=y @@ -155,27 +159,26 @@ CONFIG_ARCH_SUPPORTS_INT128=y CONFIG_NUMA_BALANCING=y CONFIG_NUMA_BALANCING_DEFAULT_ENABLED=y CONFIG_CGROUPS=y -# CONFIG_CGROUP_DEBUG is not set -CONFIG_CGROUP_FREEZER=y -CONFIG_CGROUP_PIDS=y -CONFIG_CGROUP_DEVICE=y -CONFIG_CPUSETS=y -CONFIG_PROC_PID_CPUSET=y -CONFIG_CGROUP_CPUACCT=y CONFIG_PAGE_COUNTER=y CONFIG_MEMCG=y CONFIG_MEMCG_SWAP=y CONFIG_MEMCG_SWAP_ENABLED=y -CONFIG_MEMCG_KMEM=y -CONFIG_CGROUP_HUGETLB=y -CONFIG_CGROUP_PERF=y +CONFIG_BLK_CGROUP=y +# CONFIG_DEBUG_BLK_CGROUP is not set +CONFIG_CGROUP_WRITEBACK=y CONFIG_CGROUP_SCHED=y CONFIG_FAIR_GROUP_SCHED=y CONFIG_CFS_BANDWIDTH=y # CONFIG_RT_GROUP_SCHED is not set -CONFIG_BLK_CGROUP=y -# CONFIG_DEBUG_BLK_CGROUP is not set -CONFIG_CGROUP_WRITEBACK=y +CONFIG_CGROUP_PIDS=y +CONFIG_CGROUP_FREEZER=y +CONFIG_CGROUP_HUGETLB=y +CONFIG_CPUSETS=y +CONFIG_PROC_PID_CPUSET=y +CONFIG_CGROUP_DEVICE=y +CONFIG_CGROUP_CPUACCT=y +CONFIG_CGROUP_PERF=y +# CONFIG_CGROUP_DEBUG is not set # CONFIG_CHECKPOINT_RESTORE is not set CONFIG_NAMESPACES=y CONFIG_UTS_NS=y @@ -194,6 +197,7 @@ CONFIG_RD_LZMA=y CONFIG_RD_XZ=y CONFIG_RD_LZO=y CONFIG_RD_LZ4=y +CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set CONFIG_SYSCTL=y CONFIG_ANON_INODES=y @@ -209,7 +213,10 @@ CONFIG_SYSFS_SYSCALL=y # CONFIG_SYSCTL_SYSCALL is not set CONFIG_KALLSYMS=y CONFIG_KALLSYMS_ALL=y +CONFIG_KALLSYMS_ABSOLUTE_PERCPU=y +CONFIG_KALLSYMS_BASE_RELATIVE=y CONFIG_PRINTK=y +CONFIG_PRINTK_NMI=y CONFIG_BUG=y CONFIG_ELF_CORE=y CONFIG_PCSPKR_PLATFORM=y @@ -239,6 +246,7 @@ CONFIG_SLUB_DEBUG=y # CONFIG_COMPAT_BRK is not set # CONFIG_SLAB is not set CONFIG_SLUB=y +CONFIG_SLAB_FREELIST_RANDOM=y CONFIG_SLUB_CPU_PARTIAL=y # CONFIG_SYSTEM_DATA_VERIFICATION is not set CONFIG_PROFILING=y @@ -264,8 +272,8 @@ CONFIG_HAVE_KPROBES=y CONFIG_HAVE_KRETPROBES=y CONFIG_HAVE_OPTPROBES=y CONFIG_HAVE_KPROBES_ON_FTRACE=y +CONFIG_HAVE_NMI=y CONFIG_HAVE_ARCH_TRACEHOOK=y -CONFIG_HAVE_DMA_ATTRS=y CONFIG_HAVE_DMA_CONTIGUOUS=y CONFIG_GENERIC_SMP_IDLE_THREAD=y CONFIG_ARCH_WANTS_DYNAMIC_TASK_STRUCT=y @@ -287,11 +295,14 @@ CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION=y CONFIG_ARCH_WANT_OLD_COMPAT_IPC=y CONFIG_HAVE_ARCH_SECCOMP_FILTER=y CONFIG_SECCOMP_FILTER=y +CONFIG_HAVE_GCC_PLUGINS=y +# CONFIG_GCC_PLUGINS is not set CONFIG_HAVE_CC_STACKPROTECTOR=y CONFIG_CC_STACKPROTECTOR=y # CONFIG_CC_STACKPROTECTOR_NONE is not set # CONFIG_CC_STACKPROTECTOR_REGULAR is not set CONFIG_CC_STACKPROTECTOR_STRONG=y +CONFIG_HAVE_ARCH_WITHIN_STACK_FRAMES=y CONFIG_HAVE_CONTEXT_TRACKING=y CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y @@ -301,9 +312,18 @@ CONFIG_HAVE_ARCH_SOFT_DIRTY=y CONFIG_MODULES_USE_ELF_RELA=y CONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK=y CONFIG_ARCH_HAS_ELF_RANDOMIZE=y +CONFIG_HAVE_ARCH_MMAP_RND_BITS=y +CONFIG_HAVE_EXIT_THREAD=y +CONFIG_ARCH_MMAP_RND_BITS=28 +CONFIG_HAVE_ARCH_MMAP_RND_COMPAT_BITS=y +CONFIG_ARCH_MMAP_RND_COMPAT_BITS=8 CONFIG_HAVE_COPY_THREAD_TLS=y +CONFIG_HAVE_STACK_VALIDATION=y +# CONFIG_HAVE_ARCH_HASH is not set +# CONFIG_ISA_BUS_API is not set CONFIG_OLD_SIGSUSPEND3=y CONFIG_COMPAT_OLD_SIGACTION=y +# CONFIG_CPU_NO_EFFICIENT_FFS is not set # # GCOV-based kernel profiling @@ -391,16 +411,19 @@ CONFIG_FREEZER=y CONFIG_ZONE_DMA=y CONFIG_SMP=y CONFIG_X86_FEATURE_NAMES=y +CONFIG_X86_FAST_FEATURE_TESTS=y CONFIG_X86_X2APIC=y CONFIG_X86_MPPARSE=y +# CONFIG_GOLDFISH is not set CONFIG_X86_EXTENDED_PLATFORM=y # CONFIG_X86_NUMACHIP is not set # CONFIG_X86_VSMP is not set CONFIG_X86_UV=y # CONFIG_X86_GOLDFISH is not set +# CONFIG_X86_INTEL_MID is not set CONFIG_X86_INTEL_LPSS=y # CONFIG_X86_AMD_PLATFORM_DEVICE is not set -CONFIG_IOSF_MBI=m +CONFIG_IOSF_MBI=y # CONFIG_IOSF_MBI_DEBUG is not set CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y CONFIG_SCHED_OMIT_FRAME_POINTER=y @@ -408,6 +431,7 @@ CONFIG_HYPERVISOR_GUEST=y CONFIG_PARAVIRT=y # CONFIG_PARAVIRT_DEBUG is not set CONFIG_PARAVIRT_SPINLOCKS=y +# CONFIG_QUEUED_LOCK_STAT is not set CONFIG_XEN=y CONFIG_XEN_DOM0=y CONFIG_XEN_PVHVM=y @@ -458,6 +482,14 @@ CONFIG_X86_MCE_AMD=y CONFIG_X86_MCE_THRESHOLD=y CONFIG_X86_MCE_INJECT=m CONFIG_X86_THERMAL_VECTOR=y + +# +# Performance monitoring +# +CONFIG_PERF_EVENTS_INTEL_UNCORE=y +CONFIG_PERF_EVENTS_INTEL_RAPL=y +CONFIG_PERF_EVENTS_INTEL_CSTATE=y +CONFIG_PERF_EVENTS_AMD_POWER=m # CONFIG_VM86 is not set CONFIG_X86_16BIT=y CONFIG_X86_ESPFIX64=y @@ -501,6 +533,7 @@ CONFIG_MEMORY_ISOLATION=y # CONFIG_HAVE_BOOTMEM_INFO_NODE is not set CONFIG_MEMORY_HOTPLUG=y CONFIG_MEMORY_HOTPLUG_SPARSE=y +CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE=y # CONFIG_MEMORY_HOTREMOVE is not set CONFIG_SPLIT_PTLOCK_CPUS=4 CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y @@ -510,7 +543,6 @@ CONFIG_COMPACTION=y CONFIG_MIGRATION=y CONFIG_ARCH_ENABLE_HUGEPAGE_MIGRATION=y CONFIG_PHYS_ADDR_T_64BIT=y -CONFIG_ZONE_DMA_FLAG=1 CONFIG_BOUNCE=y CONFIG_VIRT_TO_BUS=y CONFIG_MMU_NOTIFIER=y @@ -522,12 +554,14 @@ CONFIG_HWPOISON_INJECT=m CONFIG_TRANSPARENT_HUGEPAGE=y # CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS is not set CONFIG_TRANSPARENT_HUGEPAGE_MADVISE=y +CONFIG_TRANSPARENT_HUGE_PAGECACHE=y CONFIG_CLEANCACHE=y CONFIG_FRONTSWAP=y # CONFIG_CMA is not set CONFIG_ZSWAP=y CONFIG_ZPOOL=y CONFIG_ZBUD=y +CONFIG_Z3FOLD=m CONFIG_ZSMALLOC=y # CONFIG_PGTABLE_MAPPING is not set # CONFIG_ZSMALLOC_STAT is not set @@ -536,6 +570,8 @@ CONFIG_ARCH_SUPPORTS_DEFERRED_STRUCT_PAGE_INIT=y # CONFIG_DEFERRED_STRUCT_PAGE_INIT is not set # CONFIG_IDLE_PAGE_TRACKING is not set CONFIG_FRAME_VECTOR=y +CONFIG_ARCH_USES_HIGH_VMA_FLAGS=y +CONFIG_ARCH_HAS_PKEYS=y CONFIG_X86_PMEM_LEGACY_DEVICE=y CONFIG_X86_PMEM_LEGACY=y CONFIG_X86_CHECK_BIOS_CORRUPTION=y @@ -550,6 +586,7 @@ CONFIG_ARCH_USES_PG_UNCACHED=y CONFIG_ARCH_RANDOM=y CONFIG_X86_SMAP=y # CONFIG_X86_INTEL_MPX is not set +CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS=y CONFIG_EFI=y CONFIG_EFI_STUB=y # CONFIG_EFI_MIXED is not set @@ -563,7 +600,6 @@ CONFIG_SCHED_HRTICK=y CONFIG_KEXEC=y CONFIG_KEXEC_FILE=y CONFIG_KEXEC_VERIFY_SIG=y -CONFIG_KEXEC_BZIMAGE_VERIFY_SIG=y CONFIG_CRASH_DUMP=y CONFIG_PHYSICAL_START=0x1000000 CONFIG_RELOCATABLE=y @@ -621,6 +657,7 @@ CONFIG_ACPI_VIDEO=m CONFIG_ACPI_FAN=y CONFIG_ACPI_DOCK=y CONFIG_ACPI_CPU_FREQ_PSS=y +CONFIG_ACPI_PROCESSOR_CSTATE=y CONFIG_ACPI_PROCESSOR_IDLE=y CONFIG_ACPI_PROCESSOR=y CONFIG_ACPI_IPMI=m @@ -629,7 +666,8 @@ CONFIG_ACPI_PROCESSOR_AGGREGATOR=m CONFIG_ACPI_THERMAL=y CONFIG_ACPI_NUMA=y # CONFIG_ACPI_CUSTOM_DSDT is not set -CONFIG_ACPI_INITRD_TABLE_OVERRIDE=y +CONFIG_ARCH_HAS_ACPI_TABLE_UPGRADE=y +CONFIG_ACPI_TABLE_UPGRADE=y # CONFIG_ACPI_DEBUG is not set CONFIG_ACPI_PCI_SLOT=y CONFIG_X86_PM_TIMER=y @@ -651,27 +689,31 @@ CONFIG_ACPI_APEI_PCIEAER=y CONFIG_ACPI_APEI_MEMORY_FAILURE=y # CONFIG_ACPI_APEI_EINJ is not set # CONFIG_ACPI_APEI_ERST_DEBUG is not set +CONFIG_DPTF_POWER=m # CONFIG_ACPI_EXTLOG is not set # CONFIG_PMIC_OPREGION is not set +CONFIG_ACPI_CONFIGFS=m CONFIG_SFI=y # # CPU Frequency scaling # CONFIG_CPU_FREQ=y +CONFIG_CPU_FREQ_GOV_ATTR_SET=y CONFIG_CPU_FREQ_GOV_COMMON=y -CONFIG_CPU_FREQ_STAT=m -CONFIG_CPU_FREQ_STAT_DETAILS=y +# CONFIG_CPU_FREQ_STAT is not set # CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set # CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set # CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y # CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL is not set CONFIG_CPU_FREQ_GOV_PERFORMANCE=y CONFIG_CPU_FREQ_GOV_POWERSAVE=y CONFIG_CPU_FREQ_GOV_USERSPACE=y CONFIG_CPU_FREQ_GOV_ONDEMAND=y CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y +# CONFIG_CPU_FREQ_GOV_SCHEDUTIL is not set # # CPU frequency scaling drivers @@ -714,7 +756,6 @@ CONFIG_PCI_MMCONFIG=y CONFIG_PCI_XEN=y CONFIG_PCI_DOMAINS=y CONFIG_PCIEPORTBUS=y -# CONFIG_HOTPLUG_PCI_PCIE is not set CONFIG_PCIEAER=y CONFIG_PCIE_ECRC=y CONFIG_PCIEAER_INJECT=m @@ -724,6 +765,7 @@ CONFIG_PCIEASPM_DEFAULT=y # CONFIG_PCIEASPM_POWERSAVE is not set # CONFIG_PCIEASPM_PERFORMANCE is not set CONFIG_PCIE_PME=y +# CONFIG_PCIE_DPC is not set CONFIG_PCI_BUS_ADDR_T_64BIT=y CONFIG_PCI_MSI=y CONFIG_PCI_MSI_IRQ_DOMAIN=y @@ -737,10 +779,13 @@ CONFIG_PCI_IOV=y CONFIG_PCI_PRI=y CONFIG_PCI_PASID=y CONFIG_PCI_LABEL=y +CONFIG_PCI_HYPERV=m +# CONFIG_HOTPLUG_PCI is not set # # PCI host controller drivers # +# CONFIG_PCIE_DW_PLAT is not set CONFIG_ISA_DMA_API=y CONFIG_AMD_NB=y CONFIG_PCCARD=y @@ -760,7 +805,6 @@ CONFIG_YENTA_TOSHIBA=y CONFIG_PD6729=m CONFIG_I82092=m CONFIG_PCCARD_NONSTATIC=y -# CONFIG_HOTPLUG_PCI is not set # CONFIG_RAPIDIO is not set # CONFIG_X86_SYSFB is not set @@ -769,6 +813,7 @@ CONFIG_PCCARD_NONSTATIC=y # CONFIG_BINFMT_ELF=y CONFIG_COMPAT_BINFMT_ELF=y +CONFIG_ELFCORE=y CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y CONFIG_BINFMT_SCRIPT=y # CONFIG_HAVE_AOUT is not set @@ -783,9 +828,11 @@ CONFIG_SYSVIPC_COMPAT=y CONFIG_KEYS_COMPAT=y CONFIG_X86_DEV_DMA_OPS=y CONFIG_PMC_ATOM=y +CONFIG_VMD=m CONFIG_NET=y CONFIG_COMPAT_NETLINK_MESSAGES=y CONFIG_NET_INGRESS=y +CONFIG_NET_EGRESS=y # # Networking options @@ -834,10 +881,10 @@ CONFIG_INET_TUNNEL=m CONFIG_INET_XFRM_MODE_TRANSPORT=m CONFIG_INET_XFRM_MODE_TUNNEL=m CONFIG_INET_XFRM_MODE_BEET=m -CONFIG_INET_LRO=y CONFIG_INET_DIAG=m CONFIG_INET_TCP_DIAG=m CONFIG_INET_UDP_DIAG=m +CONFIG_INET_DIAG_DESTROY=y CONFIG_TCP_CONG_ADVANCED=y CONFIG_TCP_CONG_BIC=m CONFIG_TCP_CONG_CUBIC=y @@ -846,6 +893,7 @@ CONFIG_TCP_CONG_HTCP=m CONFIG_TCP_CONG_HSTCP=m CONFIG_TCP_CONG_HYBLA=m CONFIG_TCP_CONG_VEGAS=m +CONFIG_TCP_CONG_NV=m CONFIG_TCP_CONG_SCALABLE=m CONFIG_TCP_CONG_LP=m CONFIG_TCP_CONG_VENO=m @@ -878,6 +926,8 @@ CONFIG_IPV6_SIT_6RD=y CONFIG_IPV6_NDISC_NODETYPE=y CONFIG_IPV6_TUNNEL=m # CONFIG_IPV6_GRE is not set +CONFIG_IPV6_FOU=m +CONFIG_IPV6_FOU_TUNNEL=m CONFIG_IPV6_MULTIPLE_TABLES=y CONFIG_IPV6_SUBTREES=y CONFIG_IPV6_MROUTE=y @@ -959,6 +1009,9 @@ CONFIG_NFT_QUEUE=m CONFIG_NFT_REJECT=m CONFIG_NFT_REJECT_INET=m CONFIG_NFT_COMPAT=m +CONFIG_NF_DUP_NETDEV=m +CONFIG_NFT_DUP_NETDEV=m +CONFIG_NFT_FWD_NETDEV=m CONFIG_NETFILTER_XTABLES=y # @@ -1239,6 +1292,7 @@ CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=y # CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set CONFIG_SCTP_COOKIE_HMAC_MD5=y CONFIG_SCTP_COOKIE_HMAC_SHA1=y +CONFIG_INET_SCTP_DIAG=m CONFIG_RDS=m CONFIG_RDS_RDMA=m CONFIG_RDS_TCP=m @@ -1268,7 +1322,6 @@ CONFIG_HAVE_NET_DSA=y CONFIG_NET_DSA=m CONFIG_NET_DSA_HWMON=y CONFIG_NET_DSA_TAG_BRCM=y -CONFIG_NET_DSA_TAG_DSA=y CONFIG_NET_DSA_TAG_EDSA=y CONFIG_NET_DSA_TAG_TRAILER=y CONFIG_VLAN_8021Q=m @@ -1287,6 +1340,7 @@ CONFIG_IPDDP_ENCAP=y # CONFIG_LAPB is not set # CONFIG_PHONET is not set CONFIG_6LOWPAN=m +# CONFIG_6LOWPAN_DEBUGFS is not set CONFIG_6LOWPAN_NHC=m CONFIG_6LOWPAN_NHC_DEST=m CONFIG_6LOWPAN_NHC_FRAGMENT=m @@ -1295,6 +1349,12 @@ CONFIG_6LOWPAN_NHC_IPV6=m CONFIG_6LOWPAN_NHC_MOBILITY=m CONFIG_6LOWPAN_NHC_ROUTING=m CONFIG_6LOWPAN_NHC_UDP=m +CONFIG_6LOWPAN_GHC_EXT_HDR_HOP=m +CONFIG_6LOWPAN_GHC_UDP=m +CONFIG_6LOWPAN_GHC_ICMPV6=m +CONFIG_6LOWPAN_GHC_EXT_HDR_DEST=m +CONFIG_6LOWPAN_GHC_EXT_HDR_FRAG=m +CONFIG_6LOWPAN_GHC_EXT_HDR_ROUTE=m CONFIG_IEEE802154=m # CONFIG_IEEE802154_NL802154_EXPERIMENTAL is not set CONFIG_IEEE802154_SOCKET=m @@ -1348,6 +1408,7 @@ CONFIG_NET_CLS_FLOW=m CONFIG_NET_CLS_CGROUP=y CONFIG_NET_CLS_BPF=m CONFIG_NET_CLS_FLOWER=m +CONFIG_NET_CLS_MATCHALL=m CONFIG_NET_EMATCH=y CONFIG_NET_EMATCH_STACK=32 CONFIG_NET_EMATCH_CMP=m @@ -1371,11 +1432,15 @@ CONFIG_NET_ACT_CSUM=m CONFIG_NET_ACT_VLAN=m CONFIG_NET_ACT_BPF=m CONFIG_NET_ACT_CONNMARK=m +CONFIG_NET_ACT_IFE=m +CONFIG_NET_IFE_SKBMARK=m +CONFIG_NET_IFE_SKBPRIO=m CONFIG_NET_CLS_IND=y CONFIG_NET_SCH_FIFO=y CONFIG_DCB=y CONFIG_DNS_RESOLVER=m CONFIG_BATMAN_ADV=m +# CONFIG_BATMAN_ADV_BATMAN_V is not set CONFIG_BATMAN_ADV_BLA=y CONFIG_BATMAN_ADV_DAT=y CONFIG_BATMAN_ADV_NC=y @@ -1387,7 +1452,8 @@ CONFIG_OPENVSWITCH_VXLAN=m CONFIG_OPENVSWITCH_GENEVE=m CONFIG_VSOCKETS=m CONFIG_VMWARE_VMCI_VSOCKETS=m -CONFIG_NETLINK_MMAP=y +CONFIG_VIRTIO_VSOCKETS=m +CONFIG_VIRTIO_VSOCKETS_COMMON=m CONFIG_NETLINK_DIAG=m CONFIG_MPLS=y CONFIG_NET_MPLS_GSO=m @@ -1396,9 +1462,11 @@ CONFIG_MPLS_IPTUNNEL=m # CONFIG_HSR is not set CONFIG_NET_SWITCHDEV=y # CONFIG_NET_L3_MASTER_DEV is not set +# CONFIG_NET_NCSI is not set CONFIG_RPS=y CONFIG_RFS_ACCEL=y CONFIG_XPS=y +CONFIG_SOCK_CGROUP_DATA=y CONFIG_CGROUP_NET_PRIO=y CONFIG_CGROUP_NET_CLASSID=y CONFIG_NET_RX_BUSY_POLL=y @@ -1445,6 +1513,14 @@ CONFIG_CAN_SLCAN=m CONFIG_CAN_DEV=m CONFIG_CAN_CALC_BITTIMING=y CONFIG_CAN_LEDS=y +CONFIG_CAN_C_CAN=m +# CONFIG_CAN_C_CAN_PLATFORM is not set +# CONFIG_CAN_C_CAN_PCI is not set +CONFIG_CAN_CC770=m +# CONFIG_CAN_CC770_ISA is not set +# CONFIG_CAN_CC770_PLATFORM is not set +# CONFIG_CAN_IFI_CANFD is not set +CONFIG_CAN_M_CAN=m CONFIG_CAN_SJA1000=m # CONFIG_CAN_SJA1000_ISA is not set # CONFIG_CAN_SJA1000_PLATFORM is not set @@ -1454,13 +1530,8 @@ CONFIG_CAN_SJA1000=m # CONFIG_CAN_PEAK_PCI is not set # CONFIG_CAN_KVASER_PCI is not set # CONFIG_CAN_PLX_PCI is not set -CONFIG_CAN_C_CAN=m -# CONFIG_CAN_C_CAN_PLATFORM is not set -# CONFIG_CAN_C_CAN_PCI is not set -CONFIG_CAN_M_CAN=m -CONFIG_CAN_CC770=m -# CONFIG_CAN_CC770_ISA is not set -# CONFIG_CAN_CC770_PLATFORM is not set +CONFIG_CAN_SOFTING=m +CONFIG_CAN_SOFTING_CS=m # # CAN USB interfaces @@ -1471,8 +1542,6 @@ CONFIG_CAN_GS_USB=m CONFIG_CAN_KVASER_USB=m CONFIG_CAN_PEAK_USB=m CONFIG_CAN_8DEV_USB=m -CONFIG_CAN_SOFTING=m -CONFIG_CAN_SOFTING_CS=m # CONFIG_CAN_DEBUG_DEVICES is not set CONFIG_IRDA=m @@ -1542,6 +1611,7 @@ CONFIG_BT_HIDP=m CONFIG_BT_HS=y CONFIG_BT_LE=y CONFIG_BT_6LOWPAN=m +CONFIG_BT_LEDS=y # CONFIG_BT_SELFTEST is not set # CONFIG_BT_DEBUGFS is not set @@ -1565,6 +1635,7 @@ CONFIG_BT_HCIUART_3WIRE=y CONFIG_BT_HCIUART_INTEL=y CONFIG_BT_HCIUART_BCM=y CONFIG_BT_HCIUART_QCA=y +CONFIG_BT_HCIUART_AG6XX=y CONFIG_BT_HCIBCM203X=m CONFIG_BT_HCIBPA10X=m CONFIG_BT_HCIBFUSB=m @@ -1578,6 +1649,7 @@ CONFIG_BT_MRVL_SDIO=m CONFIG_BT_ATH3K=m # CONFIG_BT_WILINK is not set # CONFIG_AF_RXRPC is not set +CONFIG_AF_KCM=m CONFIG_FIB_RULES=y CONFIG_WIRELESS=y CONFIG_WIRELESS_EXT=y @@ -1588,7 +1660,6 @@ CONFIG_WEXT_PRIV=y CONFIG_CFG80211=m # CONFIG_NL80211_TESTMODE is not set # CONFIG_CFG80211_DEVELOPER_WARNINGS is not set -# CONFIG_CFG80211_REG_DEBUG is not set CONFIG_CFG80211_DEFAULT_PS=y CONFIG_CFG80211_DEBUGFS=y # CONFIG_CFG80211_INTERNAL_REGDB is not set @@ -1636,7 +1707,6 @@ CONFIG_NFC_SHDLC=y # # Near Field Communication (NFC) devices # -CONFIG_NFC_PN533=m # CONFIG_NFC_WILINK is not set CONFIG_NFC_MEI_PHY=m CONFIG_NFC_SIM=m @@ -1646,6 +1716,9 @@ CONFIG_NFC_FDP_I2C=m CONFIG_NFC_PN544=m CONFIG_NFC_PN544_I2C=m CONFIG_NFC_PN544_MEI=m +CONFIG_NFC_PN533=m +CONFIG_NFC_PN533_USB=m +CONFIG_NFC_PN533_I2C=m CONFIG_NFC_MICROREAD=m CONFIG_NFC_MICROREAD_I2C=m CONFIG_NFC_MICROREAD_MEI=m @@ -1662,7 +1735,10 @@ CONFIG_NFC_NXP_NCI_I2C=m CONFIG_NFC_S3FWRN5=m CONFIG_NFC_S3FWRN5_I2C=m CONFIG_LWTUNNEL=y -CONFIG_HAVE_BPF_JIT=y +CONFIG_DST_CACHE=y +CONFIG_NET_DEVLINK=m +CONFIG_MAY_USE_DEVLINK=m +CONFIG_HAVE_EBPF_JIT=y # # Device Drivers @@ -1690,8 +1766,7 @@ CONFIG_SYS_HYPERVISOR=y # CONFIG_GENERIC_CPU_DEVICES is not set CONFIG_GENERIC_CPU_AUTOPROBE=y CONFIG_REGMAP=y -CONFIG_REGMAP_I2C=m -CONFIG_REGMAP_MMIO=m +CONFIG_REGMAP_I2C=y CONFIG_REGMAP_IRQ=y CONFIG_DMA_SHARED_BUFFER=y # CONFIG_FENCE_TRACE is not set @@ -1801,7 +1876,6 @@ CONFIG_BLK_DEV_FD=m # CONFIG_PARIDE is not set CONFIG_BLK_DEV_PCIESSD_MTIP32XX=m CONFIG_ZRAM=m -# CONFIG_ZRAM_LZ4_COMPRESS is not set CONFIG_BLK_CPQ_CISS_DA=m CONFIG_CISS_SCSI_TAPE=y CONFIG_BLK_DEV_DAC960=m @@ -1829,7 +1903,14 @@ CONFIG_VIRTIO_BLK=m # CONFIG_BLK_DEV_HD is not set CONFIG_BLK_DEV_RBD=m # CONFIG_BLK_DEV_RSXX is not set +CONFIG_NVME_CORE=m CONFIG_BLK_DEV_NVME=m +CONFIG_BLK_DEV_NVME_SCSI=y +CONFIG_NVME_FABRICS=m +CONFIG_NVME_RDMA=m +CONFIG_NVME_TARGET=m +CONFIG_NVME_TARGET_LOOP=m +CONFIG_NVME_TARGET_RDMA=m # # Misc devices @@ -1852,7 +1933,6 @@ CONFIG_APDS9802ALS=m CONFIG_ISL29003=m CONFIG_ISL29020=m CONFIG_SENSORS_TSL2550=m -# CONFIG_SENSORS_BH1780 is not set CONFIG_SENSORS_BH1770=m CONFIG_SENSORS_APDS990X=m CONFIG_HMC6352=m @@ -1862,6 +1942,7 @@ CONFIG_BMP085=m CONFIG_BMP085_I2C=m CONFIG_USB_SWITCH_FSA9480=m # CONFIG_SRAM is not set +# CONFIG_PANEL is not set # CONFIG_C2PORT is not set # @@ -1900,6 +1981,11 @@ CONFIG_INTEL_MIC_BUS=m # # CONFIG_SCIF_BUS is not set +# +# VOP Bus Driver +# +CONFIG_VOP_BUS=m + # # Intel MIC Host Driver # @@ -1915,11 +2001,16 @@ CONFIG_INTEL_MIC_BUS=m # # Intel MIC Coprocessor State Management (COSM) Drivers # + +# +# VOP Driver +# +CONFIG_VOP=m +CONFIG_VHOST_RING=m # CONFIG_GENWQE is not set CONFIG_ECHO=m # CONFIG_CXL_BASE is not set -# CONFIG_CXL_KERNEL_API is not set -# CONFIG_CXL_EEH is not set +# CONFIG_CXL_AFU_DRIVER_OPS is not set CONFIG_HAVE_IDE=y # CONFIG_IDE is not set @@ -2006,6 +2097,7 @@ CONFIG_SCSI_MPT3SAS_MAX_SGE=128 CONFIG_SCSI_MPT2SAS=m CONFIG_SCSI_UFSHCD=m CONFIG_SCSI_UFSHCD_PCI=m +# CONFIG_SCSI_UFS_DWC_TC_PCI is not set # CONFIG_SCSI_UFSHCD_PLATFORM is not set CONFIG_SCSI_HPTIOP=m CONFIG_SCSI_BUSLOGIC=m @@ -2041,6 +2133,7 @@ CONFIG_SCSI_IPR_DUMP=y CONFIG_SCSI_QLOGIC_1280=m CONFIG_SCSI_QLA_FC=m CONFIG_TCM_QLA2XXX=m +# CONFIG_TCM_QLA2XXX_DEBUG is not set CONFIG_SCSI_QLA_ISCSI=m CONFIG_SCSI_LPFC=m # CONFIG_SCSI_LPFC_DEBUG_FS is not set @@ -2092,6 +2185,7 @@ CONFIG_ATA_BMDMA=y # SATA SFF controllers with BMDMA # CONFIG_ATA_PIIX=y +# CONFIG_SATA_DWC is not set CONFIG_SATA_MV=m CONFIG_SATA_NV=m CONFIG_SATA_PROMISE=m @@ -2175,14 +2269,13 @@ CONFIG_BLK_DEV_DM=y # CONFIG_DM_MQ_DEFAULT is not set CONFIG_DM_DEBUG=y CONFIG_DM_BUFIO=y +# CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set CONFIG_DM_BIO_PRISON=m CONFIG_DM_PERSISTENT_DATA=m -# CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set CONFIG_DM_CRYPT=m CONFIG_DM_SNAPSHOT=y CONFIG_DM_THIN_PROVISIONING=m CONFIG_DM_CACHE=m -CONFIG_DM_CACHE_MQ=m CONFIG_DM_CACHE_SMQ=m CONFIG_DM_CACHE_CLEANER=m # CONFIG_DM_ERA is not set @@ -2197,6 +2290,7 @@ CONFIG_DM_DELAY=m CONFIG_DM_UEVENT=y CONFIG_DM_FLAKEY=m CONFIG_DM_VERITY=m +# CONFIG_DM_VERITY_FEC is not set CONFIG_DM_SWITCH=m CONFIG_DM_LOG_WRITES=m CONFIG_TARGET_CORE=m @@ -2207,6 +2301,7 @@ CONFIG_TCM_USER2=m CONFIG_LOOPBACK_TARGET=m CONFIG_TCM_FC=m CONFIG_ISCSI_TARGET=m +CONFIG_ISCSI_TARGET_CXGB4=m CONFIG_SBP_TARGET=m CONFIG_FUSION=y CONFIG_FUSION_SPI=m @@ -2246,6 +2341,8 @@ CONFIG_MACVTAP=m CONFIG_IPVLAN=m CONFIG_VXLAN=m CONFIG_GENEVE=m +CONFIG_GTP=m +CONFIG_MACSEC=m CONFIG_NETCONSOLE=m CONFIG_NETCONSOLE_DYNAMIC=y CONFIG_NETPOLL=y @@ -2281,23 +2378,17 @@ CONFIG_ATM_SOLOS=m # # CAIF transport drivers # -CONFIG_VHOST_NET=m -CONFIG_VHOST_SCSI=m -CONFIG_VHOST_RING=m -CONFIG_VHOST=m -# CONFIG_VHOST_CROSS_ENDIAN_LEGACY is not set # # Distributed Switch Architecture drivers # -CONFIG_NET_DSA_MV88E6XXX=m CONFIG_NET_DSA_MV88E6060=m -CONFIG_NET_DSA_MV88E6XXX_NEED_PPU=y -CONFIG_NET_DSA_MV88E6131=m -CONFIG_NET_DSA_MV88E6123_61_65=m -CONFIG_NET_DSA_MV88E6171=m -CONFIG_NET_DSA_MV88E6352=m CONFIG_NET_DSA_BCM_SF2=m +CONFIG_B53=m +CONFIG_B53_MDIO_DRIVER=m +CONFIG_B53_MMAP_DRIVER=m +CONFIG_B53_SRAB_DRIVER=m +CONFIG_NET_DSA_MV88E6XXX=m CONFIG_ETHERNET=y CONFIG_MDIO=m CONFIG_NET_VENDOR_3COM=y @@ -2339,7 +2430,6 @@ CONFIG_CNIC=m CONFIG_TIGON3=m CONFIG_BNX2X=m CONFIG_BNX2X_SRIOV=y -CONFIG_BNX2X_VXLAN=y CONFIG_BNXT=m CONFIG_BNXT_SRIOV=y CONFIG_NET_VENDOR_BROCADE=y @@ -2356,6 +2446,7 @@ CONFIG_CHELSIO_T3=m CONFIG_CHELSIO_T4=m # CONFIG_CHELSIO_T4_DCB is not set CONFIG_CHELSIO_T4VF=m +CONFIG_CHELSIO_LIB=m CONFIG_NET_VENDOR_CISCO=y CONFIG_ENIC=m # CONFIG_CX_ECAT is not set @@ -2380,7 +2471,6 @@ CONFIG_SUNDANCE=m CONFIG_NET_VENDOR_EMULEX=y CONFIG_BE2NET=m CONFIG_BE2NET_HWMON=y -CONFIG_BE2NET_VXLAN=y CONFIG_NET_VENDOR_EZCHIP=y CONFIG_NET_VENDOR_EXAR=y CONFIG_S2IO=m @@ -2392,28 +2482,27 @@ CONFIG_NET_VENDOR_INTEL=y CONFIG_E100=m CONFIG_E1000=m CONFIG_E1000E=m +CONFIG_E1000E_HWTS=y CONFIG_IGB=m CONFIG_IGB_HWMON=y CONFIG_IGB_DCA=y CONFIG_IGBVF=m CONFIG_IXGB=m CONFIG_IXGBE=m -CONFIG_IXGBE_VXLAN=y CONFIG_IXGBE_HWMON=y CONFIG_IXGBE_DCA=y CONFIG_IXGBE_DCB=y CONFIG_IXGBEVF=m CONFIG_I40E=m -CONFIG_I40E_VXLAN=y # CONFIG_I40E_DCB is not set # CONFIG_I40E_FCOE is not set CONFIG_I40EVF=m CONFIG_FM10K=m -# CONFIG_FM10K_VXLAN is not set # CONFIG_NET_VENDOR_I825XX is not set CONFIG_JME=m CONFIG_NET_VENDOR_MARVELL=y CONFIG_MVMDIO=m +# CONFIG_MVNETA_BM is not set CONFIG_SKGE=m # CONFIG_SKGE_DEBUG is not set CONFIG_SKGE_GENESIS=y @@ -2422,15 +2511,17 @@ CONFIG_SKY2=m CONFIG_NET_VENDOR_MELLANOX=y CONFIG_MLX4_EN=m CONFIG_MLX4_EN_DCB=y -CONFIG_MLX4_EN_VXLAN=y CONFIG_MLX4_CORE=m CONFIG_MLX4_DEBUG=y CONFIG_MLX5_CORE=m CONFIG_MLX5_CORE_EN=y +CONFIG_MLX5_CORE_EN_DCB=y CONFIG_MLXSW_CORE=m +CONFIG_MLXSW_CORE_HWMON=y CONFIG_MLXSW_PCI=m CONFIG_MLXSW_SWITCHX2=m CONFIG_MLXSW_SPECTRUM=m +CONFIG_MLXSW_SPECTRUM_DCB=y CONFIG_NET_VENDOR_MICREL=y # CONFIG_KS8842 is not set # CONFIG_KS8851_MLL is not set @@ -2442,6 +2533,9 @@ CONFIG_FEALNX=m CONFIG_NET_VENDOR_NATSEMI=y CONFIG_NATSEMI=m CONFIG_NS83820=m +CONFIG_NET_VENDOR_NETRONOME=y +CONFIG_NFP_NETVF=m +# CONFIG_NFP_NET_DEBUG is not set CONFIG_NET_VENDOR_8390=y CONFIG_PCMCIA_AXNET=m CONFIG_NE2K_PCI=m @@ -2458,11 +2552,11 @@ CONFIG_QLA3XXX=m CONFIG_QLCNIC=m CONFIG_QLCNIC_SRIOV=y CONFIG_QLCNIC_DCB=y -CONFIG_QLCNIC_VXLAN=y CONFIG_QLCNIC_HWMON=y CONFIG_QLGE=m CONFIG_NETXEN_NIC=m CONFIG_QED=m +CONFIG_QED_SRIOV=y CONFIG_QEDE=m # CONFIG_NET_VENDOR_QUALCOMM is not set CONFIG_NET_VENDOR_REALTEK=y @@ -2529,6 +2623,7 @@ CONFIG_PCMCIA_XIRC2PS=m # CONFIG_HIPPI is not set # CONFIG_NET_SB1000 is not set CONFIG_PHYLIB=y +CONFIG_SWPHY=y # # MII PHY device drivers @@ -2560,8 +2655,11 @@ CONFIG_MICROCHIP_PHY=m CONFIG_FIXED_PHY=y CONFIG_MDIO_BITBANG=m # CONFIG_MDIO_GPIO is not set +CONFIG_MDIO_CAVIUM=m CONFIG_MDIO_OCTEON=m +CONFIG_MDIO_THUNDER=m CONFIG_MDIO_BCM_UNIMAC=m +CONFIG_INTEL_XWAY_PHY=m # CONFIG_PLIP is not set CONFIG_PPP=m CONFIG_PPP_BSDCOMP=m @@ -2605,6 +2703,7 @@ CONFIG_USB_NET_NET1080=m CONFIG_USB_NET_PLUSB=m CONFIG_USB_NET_MCS7830=m CONFIG_USB_NET_RNDIS_HOST=m +CONFIG_USB_NET_CDC_SUBSET_ENABLE=m CONFIG_USB_NET_CDC_SUBSET=m CONFIG_USB_ALI_M5632=y CONFIG_USB_AN2720=y @@ -2623,28 +2722,10 @@ CONFIG_USB_SIERRA_NET=m CONFIG_USB_VL600=m CONFIG_USB_NET_CH9200=m CONFIG_WLAN=y -CONFIG_PCMCIA_RAYCS=m -CONFIG_LIBERTAS_THINFIRM=m -# CONFIG_LIBERTAS_THINFIRM_DEBUG is not set -# CONFIG_LIBERTAS_THINFIRM_USB is not set -CONFIG_AIRO=m -CONFIG_ATMEL=m -CONFIG_PCI_ATMEL=m -CONFIG_PCMCIA_ATMEL=m -CONFIG_AT76C50X_USB=m -CONFIG_AIRO_CS=m -CONFIG_PCMCIA_WL3501=m -CONFIG_PRISM54=m -CONFIG_USB_ZD1201=m -CONFIG_USB_NET_RNDIS_WLAN=m +CONFIG_WLAN_VENDOR_ADMTEK=y CONFIG_ADM8211=m -CONFIG_RTL8180=m -CONFIG_RTL8187=m -CONFIG_RTL8187_LEDS=y -CONFIG_MAC80211_HWSIM=m -CONFIG_MWL8K=m CONFIG_ATH_COMMON=m -CONFIG_ATH_CARDS=m +CONFIG_WLAN_VENDOR_ATH=y # CONFIG_ATH_DEBUG is not set CONFIG_ATH5K=m CONFIG_ATH5K_DEBUG=y @@ -2665,6 +2746,7 @@ CONFIG_ATH9K_RFKILL=y CONFIG_ATH9K_PCOEM=y CONFIG_ATH9K_HTC=m # CONFIG_ATH9K_HTC_DEBUGFS is not set +CONFIG_ATH9K_HWRNG=y CONFIG_CARL9170=m CONFIG_CARL9170_LEDS=y # CONFIG_CARL9170_DEBUGFS is not set @@ -2686,6 +2768,12 @@ CONFIG_ATH10K_DEBUGFS=y # CONFIG_ATH10K_TRACING is not set CONFIG_WCN36XX=m # CONFIG_WCN36XX_DEBUGFS is not set +CONFIG_WLAN_VENDOR_ATMEL=y +CONFIG_ATMEL=m +CONFIG_PCI_ATMEL=m +CONFIG_PCMCIA_ATMEL=m +CONFIG_AT76C50X_USB=m +CONFIG_WLAN_VENDOR_BROADCOM=y CONFIG_B43=m CONFIG_B43_BCMA=y CONFIG_B43_SSB=y @@ -2725,12 +2813,10 @@ CONFIG_BRCMFMAC_USB=y CONFIG_BRCMFMAC_PCIE=y # CONFIG_BRCM_TRACING is not set # CONFIG_BRCMDBG is not set -CONFIG_HOSTAP=m -CONFIG_HOSTAP_FIRMWARE=y -# CONFIG_HOSTAP_FIRMWARE_NVRAM is not set -CONFIG_HOSTAP_PLX=m -CONFIG_HOSTAP_PCI=m -CONFIG_HOSTAP_CS=m +CONFIG_WLAN_VENDOR_CISCO=y +CONFIG_AIRO=m +CONFIG_AIRO_CS=m +CONFIG_WLAN_VENDOR_INTEL=y CONFIG_IPW2100=m CONFIG_IPW2100_MONITOR=y # CONFIG_IPW2100_DEBUG is not set @@ -2742,36 +2828,36 @@ CONFIG_IPW2200_QOS=y # CONFIG_IPW2200_DEBUG is not set CONFIG_LIBIPW=m # CONFIG_LIBIPW_DEBUG is not set +CONFIG_IWLEGACY=m +CONFIG_IWL4965=m +CONFIG_IWL3945=m + +# +# iwl3945 / iwl4965 Debugging Options +# +CONFIG_IWLEGACY_DEBUG=y +CONFIG_IWLEGACY_DEBUGFS=y CONFIG_IWLWIFI=m CONFIG_IWLWIFI_LEDS=y CONFIG_IWLDVM=m CONFIG_IWLMVM=m CONFIG_IWLWIFI_OPMODE_MODULAR=y # CONFIG_IWLWIFI_BCAST_FILTERING is not set -# CONFIG_IWLWIFI_UAPSD is not set +CONFIG_IWLWIFI_PCIE_RTPM=y # # Debugging Options # CONFIG_IWLWIFI_DEBUG=y CONFIG_IWLWIFI_DEBUGFS=y -# CONFIG_IWLWIFI_DEBUG_EXPERIMENTAL_UCODE is not set # CONFIG_IWLWIFI_DEVICE_TRACING is not set -CONFIG_IWLEGACY=m -CONFIG_IWL4965=m -CONFIG_IWL3945=m - -# -# iwl3945 / iwl4965 Debugging Options -# -CONFIG_IWLEGACY_DEBUG=y -CONFIG_IWLEGACY_DEBUGFS=y -CONFIG_LIBERTAS=m -CONFIG_LIBERTAS_USB=m -CONFIG_LIBERTAS_CS=m -CONFIG_LIBERTAS_SDIO=m -# CONFIG_LIBERTAS_DEBUG is not set -CONFIG_LIBERTAS_MESH=y +CONFIG_WLAN_VENDOR_INTERSIL=y +CONFIG_HOSTAP=m +CONFIG_HOSTAP_FIRMWARE=y +# CONFIG_HOSTAP_FIRMWARE_NVRAM is not set +CONFIG_HOSTAP_PLX=m +CONFIG_HOSTAP_PCI=m +CONFIG_HOSTAP_CS=m CONFIG_HERMES=m CONFIG_HERMES_PRISM=y CONFIG_HERMES_CACHE_FW_ON_INIT=y @@ -2786,6 +2872,25 @@ CONFIG_P54_COMMON=m CONFIG_P54_USB=m CONFIG_P54_PCI=m CONFIG_P54_LEDS=y +CONFIG_PRISM54=m +CONFIG_WLAN_VENDOR_MARVELL=y +CONFIG_LIBERTAS=m +CONFIG_LIBERTAS_USB=m +CONFIG_LIBERTAS_CS=m +CONFIG_LIBERTAS_SDIO=m +# CONFIG_LIBERTAS_DEBUG is not set +CONFIG_LIBERTAS_MESH=y +CONFIG_LIBERTAS_THINFIRM=m +# CONFIG_LIBERTAS_THINFIRM_DEBUG is not set +# CONFIG_LIBERTAS_THINFIRM_USB is not set +CONFIG_MWIFIEX=m +CONFIG_MWIFIEX_SDIO=m +CONFIG_MWIFIEX_PCIE=m +CONFIG_MWIFIEX_USB=m +CONFIG_MWL8K=m +CONFIG_WLAN_VENDOR_MEDIATEK=y +CONFIG_MT7601U=m +CONFIG_WLAN_VENDOR_RALINK=y CONFIG_RT2X00=m CONFIG_RT2400PCI=m CONFIG_RT2500PCI=m @@ -2815,8 +2920,10 @@ CONFIG_RT2X00_LIB_CRYPTO=y CONFIG_RT2X00_LIB_LEDS=y CONFIG_RT2X00_LIB_DEBUGFS=y # CONFIG_RT2X00_DEBUG is not set -CONFIG_WL_MEDIATEK=y -CONFIG_MT7601U=m +CONFIG_WLAN_VENDOR_REALTEK=y +CONFIG_RTL8180=m +CONFIG_RTL8187=m +CONFIG_RTL8187_LEDS=y CONFIG_RTL_CARDS=m CONFIG_RTL8192CE=m CONFIG_RTL8192SE=m @@ -2836,7 +2943,15 @@ CONFIG_RTL8723_COMMON=m CONFIG_RTLBTCOEXIST=m CONFIG_RTL8XXXU=m # CONFIG_RTL8XXXU_UNTESTED is not set -CONFIG_WL_TI=y +CONFIG_WLAN_VENDOR_RSI=y +CONFIG_RSI_91X=m +CONFIG_RSI_DEBUGFS=y +CONFIG_RSI_SDIO=m +CONFIG_RSI_USB=m +CONFIG_WLAN_VENDOR_ST=y +CONFIG_CW1200=m +CONFIG_CW1200_WLAN_SDIO=m +CONFIG_WLAN_VENDOR_TI=y CONFIG_WL1251=m CONFIG_WL1251_SDIO=m CONFIG_WL12XX=m @@ -2844,18 +2959,14 @@ CONFIG_WL18XX=m CONFIG_WLCORE=m CONFIG_WLCORE_SDIO=m CONFIG_WILINK_PLATFORM_DATA=y +CONFIG_WLAN_VENDOR_ZYDAS=y +CONFIG_USB_ZD1201=m CONFIG_ZD1211RW=m # CONFIG_ZD1211RW_DEBUG is not set -CONFIG_MWIFIEX=m -CONFIG_MWIFIEX_SDIO=m -CONFIG_MWIFIEX_PCIE=m -CONFIG_MWIFIEX_USB=m -CONFIG_CW1200=m -CONFIG_CW1200_WLAN_SDIO=m -CONFIG_RSI_91X=m -CONFIG_RSI_DEBUGFS=y -CONFIG_RSI_SDIO=m -CONFIG_RSI_USB=m +CONFIG_PCMCIA_RAYCS=m +CONFIG_PCMCIA_WL3501=m +CONFIG_MAC80211_HWSIM=m +CONFIG_USB_NET_RNDIS_WLAN=m # # Enable WiMAX (Networking options) to see the WiMAX drivers @@ -2943,10 +3054,6 @@ CONFIG_HISAX_ST5481=m # CONFIG_HISAX_HFCUSB is not set CONFIG_HISAX_HFC4S8S=m CONFIG_HISAX_FRITZ_PCIPNP=m - -# -# Active cards -# CONFIG_ISDN_CAPI=m # CONFIG_CAPI_TRACE is not set CONFIG_ISDN_CAPI_CAPI20=m @@ -3054,6 +3161,7 @@ CONFIG_KEYBOARD_XTKBD=m CONFIG_INPUT_MOUSE=y CONFIG_MOUSE_PS2=m CONFIG_MOUSE_PS2_ALPS=y +CONFIG_MOUSE_PS2_BYD=y CONFIG_MOUSE_PS2_LOGIPS2PP=y CONFIG_MOUSE_PS2_SYNAPTICS=y CONFIG_MOUSE_PS2_CYPRESS=y @@ -3064,7 +3172,6 @@ CONFIG_MOUSE_PS2_SENTELIC=y # CONFIG_MOUSE_PS2_TOUCHKIT is not set CONFIG_MOUSE_PS2_FOCALTECH=y # CONFIG_MOUSE_PS2_VMMOUSE is not set -CONFIG_MOUSE_PS2_BYD=y CONFIG_MOUSE_SERIAL=m CONFIG_MOUSE_APPLETOUCH=m CONFIG_MOUSE_BCM5974=m @@ -3113,6 +3220,7 @@ CONFIG_TABLET_USB_AIPTEK=m CONFIG_TABLET_USB_GTCO=m CONFIG_TABLET_USB_HANWANG=m CONFIG_TABLET_USB_KBTAB=m +CONFIG_TABLET_USB_PEGASUS=m CONFIG_TABLET_SERIAL_WACOM4=m CONFIG_INPUT_TOUCHSCREEN=y CONFIG_TOUCHSCREEN_PROPERTIES=y @@ -3128,6 +3236,7 @@ CONFIG_TOUCHSCREEN_CYTTSP4_I2C=m CONFIG_TOUCHSCREEN_DYNAPRO=m CONFIG_TOUCHSCREEN_HAMPSHIRE=m CONFIG_TOUCHSCREEN_EETI=m +CONFIG_TOUCHSCREEN_EGALAX_SERIAL=m CONFIG_TOUCHSCREEN_FT6236=m CONFIG_TOUCHSCREEN_FUJITSU=m CONFIG_TOUCHSCREEN_GOODIX=m @@ -3140,6 +3249,7 @@ CONFIG_TOUCHSCREEN_WACOM_I2C=m CONFIG_TOUCHSCREEN_MAX11801=m CONFIG_TOUCHSCREEN_MCS5000=m CONFIG_TOUCHSCREEN_MMS114=m +CONFIG_TOUCHSCREEN_MELFAS_MIP4=m CONFIG_TOUCHSCREEN_MTOUCH=m CONFIG_TOUCHSCREEN_INEXIO=m CONFIG_TOUCHSCREEN_MK712=m @@ -3177,6 +3287,9 @@ CONFIG_TOUCHSCREEN_TSC_SERIO=m CONFIG_TOUCHSCREEN_TSC200X_CORE=m CONFIG_TOUCHSCREEN_TSC2004=m CONFIG_TOUCHSCREEN_TSC2007=m +CONFIG_TOUCHSCREEN_RM_TS=m +CONFIG_TOUCHSCREEN_SILEAD=m +CONFIG_TOUCHSCREEN_SIS_I2C=m CONFIG_TOUCHSCREEN_ST1232=m CONFIG_TOUCHSCREEN_SUR40=m CONFIG_TOUCHSCREEN_SX8654=m @@ -3203,6 +3316,7 @@ CONFIG_INPUT_KXTJ9=m CONFIG_INPUT_POWERMATE=m CONFIG_INPUT_YEALINK=m CONFIG_INPUT_CM109=m +CONFIG_INPUT_AXP20X_PEK=m CONFIG_INPUT_UINPUT=m CONFIG_INPUT_PCF8574=m CONFIG_INPUT_GPIO_ROTARY_ENCODER=m @@ -3217,6 +3331,12 @@ CONFIG_INPUT_SOC_BUTTON_ARRAY=m CONFIG_INPUT_DRV260X_HAPTICS=m CONFIG_INPUT_DRV2665_HAPTICS=m CONFIG_INPUT_DRV2667_HAPTICS=m +CONFIG_RMI4_CORE=m +CONFIG_RMI4_I2C=m +CONFIG_RMI4_2D_SENSOR=y +CONFIG_RMI4_F11=y +CONFIG_RMI4_F12=y +CONFIG_RMI4_F30=y # # Hardware I/O ports @@ -3252,7 +3372,6 @@ CONFIG_VT_CONSOLE_SLEEP=y CONFIG_HW_CONSOLE=y CONFIG_VT_HW_CONSOLE_BINDING=y CONFIG_UNIX98_PTYS=y -CONFIG_DEVPTS_MULTIPLE_INSTANCES=y # CONFIG_LEGACY_PTYS is not set CONFIG_SERIAL_NONSTANDARD=y CONFIG_ROCKETPORT=m @@ -3278,6 +3397,7 @@ CONFIG_SERIAL_EARLYCON=y CONFIG_SERIAL_8250=y # CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set CONFIG_SERIAL_8250_PNP=y +# CONFIG_SERIAL_8250_FINTEK is not set CONFIG_SERIAL_8250_CONSOLE=y CONFIG_SERIAL_8250_DMA=y CONFIG_SERIAL_8250_PCI=y @@ -3292,8 +3412,8 @@ CONFIG_SERIAL_8250_RSA=y # CONFIG_SERIAL_8250_FSL is not set # CONFIG_SERIAL_8250_DW is not set # CONFIG_SERIAL_8250_RT288X is not set -# CONFIG_SERIAL_8250_FINTEK is not set -CONFIG_SERIAL_8250_MID=m +CONFIG_SERIAL_8250_MID=y +CONFIG_SERIAL_8250_MOXA=m # # Non-8250 serial port support @@ -3324,7 +3444,6 @@ CONFIG_IPMI_HANDLER=m # CONFIG_IPMI_PANIC_EVENT is not set CONFIG_IPMI_DEVICE_INTERFACE=m CONFIG_IPMI_SI=m -# CONFIG_IPMI_SI_PROBE_DEFAULTS is not set CONFIG_IPMI_SSIF=m CONFIG_IPMI_WATCHDOG=m CONFIG_IPMI_POWEROFF=m @@ -3354,6 +3473,7 @@ CONFIG_HPET=y CONFIG_HANGCHECK_TIMER=m CONFIG_UV_MMTIMER=m CONFIG_TCG_TPM=m +CONFIG_TCG_TIS_CORE=m CONFIG_TCG_TIS=m CONFIG_TCG_TIS_I2C_ATMEL=m CONFIG_TCG_TIS_I2C_INFINEON=m @@ -3363,6 +3483,7 @@ CONFIG_TCG_ATMEL=m CONFIG_TCG_INFINEON=m CONFIG_TCG_XEN=m CONFIG_TCG_CRB=m +CONFIG_TCG_VTPM_PROXY=m CONFIG_TCG_TIS_ST33ZP24=m CONFIG_TCG_TIS_ST33ZP24_I2C=m CONFIG_TELCLOCK=m @@ -3430,6 +3551,7 @@ CONFIG_I2C_SCMI=m CONFIG_I2C_DESIGNWARE_CORE=m CONFIG_I2C_DESIGNWARE_PLATFORM=m CONFIG_I2C_DESIGNWARE_PCI=m +# CONFIG_I2C_DESIGNWARE_BAYTRAIL is not set CONFIG_I2C_EMEV2=m CONFIG_I2C_GPIO=m CONFIG_I2C_OCORES=m @@ -3501,13 +3623,13 @@ CONFIG_PINCTRL_CHERRYVIEW=m CONFIG_PINCTRL_INTEL=m CONFIG_PINCTRL_BROXTON=m CONFIG_PINCTRL_SUNRISEPOINT=m -CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y CONFIG_GPIOLIB=y CONFIG_GPIO_DEVRES=y CONFIG_GPIO_ACPI=y CONFIG_GPIOLIB_IRQCHIP=y # CONFIG_DEBUG_GPIO is not set CONFIG_GPIO_SYSFS=y +CONFIG_GPIO_GENERIC=m # # Memory mapped GPIO drivers @@ -3523,7 +3645,6 @@ CONFIG_GPIO_ICH=m # # Port-mapped I/O GPIO drivers # -CONFIG_GPIO_104_IDIO_16=m # CONFIG_GPIO_F7188X is not set CONFIG_GPIO_IT87=m # CONFIG_GPIO_SCH is not set @@ -3538,24 +3659,24 @@ CONFIG_GPIO_IT87=m # CONFIG_GPIO_PCA953X is not set # CONFIG_GPIO_PCF857X is not set # CONFIG_GPIO_SX150X is not set +# CONFIG_GPIO_TPIC2810 is not set # # MFD GPIO expanders # CONFIG_GPIO_DLN2=m +CONFIG_GPIO_TPS65086=m # # PCI GPIO expanders # # CONFIG_GPIO_AMD8111 is not set -# CONFIG_GPIO_INTEL_MID is not set # CONFIG_GPIO_ML_IOH is not set # CONFIG_GPIO_RDC321X is not set # # SPI or I2C GPIO expanders # -CONFIG_GPIO_MCP23S08=m # # USB GPIO expanders @@ -3604,6 +3725,7 @@ CONFIG_POWER_SUPPLY=y # CONFIG_BATTERY_BQ27XXX is not set # CONFIG_CHARGER_DA9150 is not set # CONFIG_BATTERY_DA9150 is not set +# CONFIG_AXP288_FUEL_GAUGE is not set # CONFIG_BATTERY_MAX17040 is not set # CONFIG_BATTERY_MAX17042 is not set # CONFIG_CHARGER_ISP1704 is not set @@ -3619,6 +3741,7 @@ CONFIG_POWER_SUPPLY=y # CONFIG_BATTERY_GAUGE_LTC2941 is not set # CONFIG_BATTERY_RT5033 is not set # CONFIG_CHARGER_RT9455 is not set +# CONFIG_AXP20X_POWER is not set CONFIG_POWER_RESET=y # CONFIG_POWER_RESET_RESTART is not set # CONFIG_POWER_AVS is not set @@ -3660,6 +3783,7 @@ CONFIG_SENSORS_F71805F=m CONFIG_SENSORS_F71882FG=m CONFIG_SENSORS_F75375S=m CONFIG_SENSORS_FSCHMD=m +CONFIG_SENSORS_FTSTEUTATES=m CONFIG_SENSORS_GL518SM=m CONFIG_SENSORS_GL520SM=m CONFIG_SENSORS_G760A=m @@ -3676,6 +3800,7 @@ CONFIG_SENSORS_JC42=m CONFIG_SENSORS_POWR1220=m CONFIG_SENSORS_LINEAGE=m CONFIG_SENSORS_LTC2945=m +CONFIG_SENSORS_LTC2990=m CONFIG_SENSORS_LTC4151=m CONFIG_SENSORS_LTC4215=m CONFIG_SENSORS_LTC4222=m @@ -3691,7 +3816,6 @@ CONFIG_SENSORS_MAX6642=m CONFIG_SENSORS_MAX6650=m CONFIG_SENSORS_MAX6697=m CONFIG_SENSORS_MAX31790=m -CONFIG_SENSORS_HTU21=m CONFIG_SENSORS_MCP3021=m CONFIG_SENSORS_LM63=m CONFIG_SENSORS_LM73=m @@ -3721,6 +3845,7 @@ CONFIG_SENSORS_PMBUS=m CONFIG_SENSORS_ADM1275=m CONFIG_SENSORS_LM25066=m CONFIG_SENSORS_LTC2978=m +CONFIG_SENSORS_LTC3815=m CONFIG_SENSORS_MAX16064=m CONFIG_SENSORS_MAX20751=m CONFIG_SENSORS_MAX34440=m @@ -3731,6 +3856,7 @@ CONFIG_SENSORS_UCD9200=m CONFIG_SENSORS_ZL6100=m CONFIG_SENSORS_SHT15=m CONFIG_SENSORS_SHT21=m +CONFIG_SENSORS_SHT3x=m CONFIG_SENSORS_SHTC1=m CONFIG_SENSORS_SIS5595=m CONFIG_SENSORS_DME1737=m @@ -3750,6 +3876,7 @@ CONFIG_SENSORS_ADS7828=m CONFIG_SENSORS_AMC6821=m CONFIG_SENSORS_INA209=m CONFIG_SENSORS_INA2XX=m +CONFIG_SENSORS_INA3221=m CONFIG_SENSORS_TC74=m CONFIG_SENSORS_THMC50=m CONFIG_SENSORS_TMP102=m @@ -3793,18 +3920,26 @@ CONFIG_THERMAL_GOV_POWER_ALLOCATOR=y CONFIG_X86_PKG_TEMP_THERMAL=m CONFIG_INTEL_SOC_DTS_IOSF_CORE=m CONFIG_INTEL_SOC_DTS_THERMAL=m + +# +# ACPI INT340X thermal drivers +# CONFIG_INT340X_THERMAL=m CONFIG_ACPI_THERMAL_REL=m +CONFIG_INT3406_THERMAL=m CONFIG_INTEL_PCH_THERMAL=m +CONFIG_GENERIC_ADC_THERMAL=m CONFIG_WATCHDOG=y CONFIG_WATCHDOG_CORE=y # CONFIG_WATCHDOG_NOWAYOUT is not set +# CONFIG_WATCHDOG_SYSFS is not set # # Watchdog Device Drivers # CONFIG_SOFT_WATCHDOG=m CONFIG_XILINX_WATCHDOG=m +CONFIG_ZIIRAVE_WATCHDOG=m CONFIG_CADENCE_WATCHDOG=m CONFIG_DW_WATCHDOG=m CONFIG_MAX63XX_WATCHDOG=m @@ -3840,7 +3975,8 @@ CONFIG_W83877F_WDT=m CONFIG_W83977F_WDT=m CONFIG_MACHZ_WDT=m CONFIG_SBC_EPX_C3_WATCHDOG=m -CONFIG_BCM7038_WDT=m +CONFIG_INTEL_MEI_WDT=m +CONFIG_NI903X_WDT=m CONFIG_MEN_A21_WDT=m CONFIG_XEN_WDT=m @@ -3869,7 +4005,6 @@ CONFIG_SSB_PCMCIAHOST_POSSIBLE=y # CONFIG_SSB_PCMCIAHOST is not set CONFIG_SSB_SDIOHOST_POSSIBLE=y CONFIG_SSB_SDIOHOST=y -# CONFIG_SSB_HOST_SOC is not set # CONFIG_SSB_DEBUG is not set CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y CONFIG_SSB_DRIVER_PCICORE=y @@ -3897,7 +4032,8 @@ CONFIG_MFD_CORE=m # CONFIG_PMIC_ADP5520 is not set # CONFIG_MFD_AAT2870_CORE is not set # CONFIG_MFD_BCM590XX is not set -# CONFIG_MFD_AXP20X is not set +CONFIG_MFD_AXP20X=m +CONFIG_MFD_AXP20X_I2C=m # CONFIG_MFD_CROS_EC is not set # CONFIG_PMIC_DA903X is not set # CONFIG_MFD_DA9052_I2C is not set @@ -3939,7 +4075,6 @@ CONFIG_MFD_RTSX_PCI=m CONFIG_MFD_RT5033=m CONFIG_MFD_RTSX_USB=m # CONFIG_MFD_RC5T583 is not set -# CONFIG_MFD_RN5T618 is not set # CONFIG_MFD_SEC_CORE is not set # CONFIG_MFD_SI476X_CORE is not set CONFIG_MFD_SM501=m @@ -3955,12 +4090,12 @@ CONFIG_MFD_SKY81452=m # CONFIG_TPS6105X is not set # CONFIG_TPS65010 is not set # CONFIG_TPS6507X is not set +CONFIG_MFD_TPS65086=m # CONFIG_MFD_TPS65090 is not set # CONFIG_MFD_TPS65217 is not set # CONFIG_MFD_TPS65218 is not set # CONFIG_MFD_TPS6586X is not set # CONFIG_MFD_TPS65910 is not set -# CONFIG_MFD_TPS65912 is not set # CONFIG_MFD_TPS65912_I2C is not set # CONFIG_MFD_TPS80031 is not set # CONFIG_TWL4030_CORE is not set @@ -3987,6 +4122,7 @@ CONFIG_MEDIA_RADIO_SUPPORT=y # CONFIG_MEDIA_SDR_SUPPORT is not set CONFIG_MEDIA_RC_SUPPORT=y CONFIG_MEDIA_CONTROLLER=y +# CONFIG_MEDIA_CONTROLLER_DVB is not set CONFIG_VIDEO_DEV=m CONFIG_VIDEO_V4L2_SUBDEV_API=y CONFIG_VIDEO_V4L2=m @@ -4205,6 +4341,7 @@ CONFIG_MEDIA_PCI_SUPPORT=y CONFIG_VIDEO_MEYE=m CONFIG_VIDEO_SOLO6X10=m # CONFIG_VIDEO_TW68 is not set +CONFIG_VIDEO_TW686X=m CONFIG_VIDEO_ZORAN=m CONFIG_VIDEO_ZORAN_DC30=m CONFIG_VIDEO_ZORAN_ZR36060=m @@ -4345,6 +4482,7 @@ CONFIG_VIDEO_TDA9840=m CONFIG_VIDEO_TEA6415C=m CONFIG_VIDEO_TEA6420=m CONFIG_VIDEO_MSP3400=m +CONFIG_VIDEO_CS3308=m CONFIG_VIDEO_CS5345=m CONFIG_VIDEO_CS53L32A=m CONFIG_VIDEO_WM8775=m @@ -4443,6 +4581,7 @@ CONFIG_MEDIA_TUNER_TUA9001=m CONFIG_MEDIA_TUNER_SI2157=m CONFIG_MEDIA_TUNER_IT913X=m CONFIG_MEDIA_TUNER_R820T=m +CONFIG_MEDIA_TUNER_QM1D1C0042=m # # Multistandard (satellite) frontends @@ -4459,6 +4598,8 @@ CONFIG_DVB_M88DS3103=m CONFIG_DVB_DRXK=m CONFIG_DVB_TDA18271C2DD=m CONFIG_DVB_SI2165=m +CONFIG_DVB_MN88472=m +CONFIG_DVB_MN88473=m # # DVB-S (satellite) frontends @@ -4553,6 +4694,7 @@ CONFIG_DVB_MB86A20S=m # # ISDB-S (satellite) & ISDB-T (terrestrial) frontends # +CONFIG_DVB_TC90522=m # # Digital terrestrial only tuners/PLL @@ -4598,6 +4740,7 @@ CONFIG_VGA_ARB_MAX_GPUS=16 CONFIG_VGA_SWITCHEROO=y CONFIG_DRM=m CONFIG_DRM_MIPI_DSI=y +# CONFIG_DRM_DP_AUX_CHARDEV is not set CONFIG_DRM_KMS_HELPER=m CONFIG_DRM_KMS_FB_HELPER=y CONFIG_DRM_FBDEV_EMULATION=y @@ -4607,7 +4750,6 @@ CONFIG_DRM_TTM=m # # I2C encoder or helper chips # -CONFIG_DRM_I2C_ADV7511=m CONFIG_DRM_I2C_CH7006=m CONFIG_DRM_I2C_SIL164=m CONFIG_DRM_I2C_NXP_TDA998X=m @@ -4615,10 +4757,16 @@ CONFIG_DRM_I2C_NXP_TDA998X=m # CONFIG_DRM_R128 is not set CONFIG_DRM_RADEON=m CONFIG_DRM_RADEON_USERPTR=y -# CONFIG_DRM_RADEON_UMS is not set CONFIG_DRM_AMDGPU=m CONFIG_DRM_AMDGPU_CIK=y CONFIG_DRM_AMDGPU_USERPTR=y +# CONFIG_DRM_AMDGPU_GART_DEBUGFS is not set +# CONFIG_DRM_AMD_POWERPLAY is not set + +# +# ACP (Audio CoProcessor) Configuration +# +# CONFIG_DRM_AMD_ACP is not set CONFIG_DRM_NOUVEAU=m CONFIG_NOUVEAU_DEBUG=5 CONFIG_NOUVEAU_DEBUG_DEFAULT=3 @@ -4626,6 +4774,8 @@ CONFIG_DRM_NOUVEAU_BACKLIGHT=y # CONFIG_DRM_I810 is not set CONFIG_DRM_I915=m # CONFIG_DRM_I915_PRELIMINARY_HW_SUPPORT is not set +CONFIG_DRM_I915_USERPTR=y +# CONFIG_DRM_I915_GVT is not set # CONFIG_DRM_MGA is not set # CONFIG_DRM_SIS is not set CONFIG_DRM_VIA=m @@ -4653,6 +4803,7 @@ CONFIG_DRM_BRIDGE=y # # Display Interface Bridges # +CONFIG_DRM_ANALOGIX_ANX78XX=m CONFIG_HSA_AMD=m # @@ -4661,6 +4812,7 @@ CONFIG_HSA_AMD=m CONFIG_FB=y # CONFIG_FIRMWARE_EDID is not set CONFIG_FB_CMDLINE=y +CONFIG_FB_NOTIFY=y # CONFIG_FB_DDC is not set CONFIG_FB_BOOT_VESA_SUPPORT=y CONFIG_FB_CFB_FILLRECT=y @@ -4770,11 +4922,10 @@ CONFIG_SOUND_OSS_CORE_PRECLAIM=y CONFIG_SND=m CONFIG_SND_TIMER=m CONFIG_SND_PCM=m -CONFIG_SND_DMAENGINE_PCM=m CONFIG_SND_HWDEP=m CONFIG_SND_RAWMIDI=m -CONFIG_SND_COMPRESS_OFFLOAD=m CONFIG_SND_JACK=y +CONFIG_SND_JACK_INPUT_DEV=y CONFIG_SND_SEQUENCER=m CONFIG_SND_SEQ_DUMMY=m CONFIG_SND_OSSEMUL=y @@ -4918,7 +5069,6 @@ CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0 CONFIG_SND_HDA_CORE=m CONFIG_SND_HDA_DSP_LOADER=y CONFIG_SND_HDA_I915=y -CONFIG_SND_HDA_EXT_CORE=m CONFIG_SND_HDA_PREALLOC_SIZE=4096 CONFIG_SND_USB=y CONFIG_SND_USB_AUDIO=m @@ -4940,125 +5090,12 @@ CONFIG_SND_FIREWIRE_LIB=m CONFIG_SND_DICE=m CONFIG_SND_OXFW=m CONFIG_SND_ISIGHT=m -CONFIG_SND_SCS1X=m CONFIG_SND_FIREWORKS=m CONFIG_SND_BEBOB=m CONFIG_SND_FIREWIRE_DIGI00X=m CONFIG_SND_FIREWIRE_TASCAM=m # CONFIG_SND_PCMCIA is not set -CONFIG_SND_SOC=m -CONFIG_SND_SOC_AC97_BUS=y -CONFIG_SND_SOC_GENERIC_DMAENGINE_PCM=y -CONFIG_SND_SOC_COMPRESS=y -CONFIG_SND_SOC_TOPOLOGY=y -# CONFIG_SND_ATMEL_SOC is not set -CONFIG_SND_DESIGNWARE_I2S=m - -# -# SoC Audio for Freescale CPUs -# - -# -# Common SoC Audio options for Freescale CPUs: -# -# CONFIG_SND_SOC_FSL_ASRC is not set -# CONFIG_SND_SOC_FSL_SAI is not set -# CONFIG_SND_SOC_FSL_SSI is not set -# CONFIG_SND_SOC_FSL_SPDIF is not set -# CONFIG_SND_SOC_FSL_ESAI is not set -# CONFIG_SND_SOC_IMX_AUDMUX is not set -CONFIG_SND_SST_MFLD_PLATFORM=m -CONFIG_SND_SST_IPC=m -CONFIG_SND_SST_IPC_ACPI=m -CONFIG_SND_SOC_INTEL_SST=m -CONFIG_SND_SOC_INTEL_SST_ACPI=m -CONFIG_SND_SOC_INTEL_HASWELL=m -CONFIG_SND_SOC_INTEL_BAYTRAIL=m -CONFIG_SND_SOC_INTEL_HASWELL_MACH=m -CONFIG_SND_SOC_INTEL_BYT_RT5640_MACH=m -CONFIG_SND_SOC_INTEL_BYT_MAX98090_MACH=m -CONFIG_SND_SOC_INTEL_BROADWELL_MACH=m -CONFIG_SND_SOC_INTEL_BYTCR_RT5640_MACH=m -CONFIG_SND_SOC_INTEL_CHT_BSW_RT5672_MACH=m -CONFIG_SND_SOC_INTEL_CHT_BSW_RT5645_MACH=m -CONFIG_SND_SOC_INTEL_CHT_BSW_MAX98090_TI_MACH=m -CONFIG_SND_SOC_INTEL_SKYLAKE=m -CONFIG_SND_SOC_INTEL_SKL_RT286_MACH=m - -# -# Allwinner SoC Audio support -# -CONFIG_SND_SUN4I_CODEC=m -# CONFIG_SND_SOC_XTFPGA_I2S is not set -CONFIG_SND_SOC_I2C_AND_SPI=m - -# -# CODEC drivers -# -CONFIG_SND_SOC_AC97_CODEC=m -# CONFIG_SND_SOC_ADAU1701 is not set -# CONFIG_SND_SOC_AK4554 is not set -CONFIG_SND_SOC_AK4613=m -# CONFIG_SND_SOC_AK4642 is not set -# CONFIG_SND_SOC_AK5386 is not set -# CONFIG_SND_SOC_ALC5623 is not set -# CONFIG_SND_SOC_CS35L32 is not set -# CONFIG_SND_SOC_CS42L51_I2C is not set -# CONFIG_SND_SOC_CS42L52 is not set -# CONFIG_SND_SOC_CS42L56 is not set -# CONFIG_SND_SOC_CS42L73 is not set -# CONFIG_SND_SOC_CS4265 is not set -# CONFIG_SND_SOC_CS4270 is not set -# CONFIG_SND_SOC_CS4271_I2C is not set -# CONFIG_SND_SOC_CS42XX8_I2C is not set -CONFIG_SND_SOC_CS4349=m -CONFIG_SND_SOC_DMIC=m -# CONFIG_SND_SOC_ES8328 is not set -CONFIG_SND_SOC_GTM601=m -CONFIG_SND_SOC_MAX98090=m -# CONFIG_SND_SOC_PCM1681 is not set -# CONFIG_SND_SOC_PCM512x_I2C is not set -CONFIG_SND_SOC_RL6231=m -CONFIG_SND_SOC_RL6347A=m -CONFIG_SND_SOC_RT286=m -# CONFIG_SND_SOC_RT5631 is not set -CONFIG_SND_SOC_RT5640=m -CONFIG_SND_SOC_RT5645=m -CONFIG_SND_SOC_RT5670=m -# CONFIG_SND_SOC_RT5677_SPI is not set -# CONFIG_SND_SOC_SGTL5000 is not set -# CONFIG_SND_SOC_SIRF_AUDIO_CODEC is not set -CONFIG_SND_SOC_SPDIF=m -# CONFIG_SND_SOC_SSM2602_I2C is not set -# CONFIG_SND_SOC_SSM4567 is not set -# CONFIG_SND_SOC_STA32X is not set -# CONFIG_SND_SOC_STA350 is not set -CONFIG_SND_SOC_STI_SAS=m -# CONFIG_SND_SOC_TAS2552 is not set -# CONFIG_SND_SOC_TAS5086 is not set -CONFIG_SND_SOC_TAS571X=m -# CONFIG_SND_SOC_TFA9879 is not set -# CONFIG_SND_SOC_TLV320AIC23_I2C is not set -# CONFIG_SND_SOC_TLV320AIC31XX is not set -# CONFIG_SND_SOC_TLV320AIC3X is not set -CONFIG_SND_SOC_TS3A227E=m -# CONFIG_SND_SOC_WM8510 is not set -# CONFIG_SND_SOC_WM8523 is not set -# CONFIG_SND_SOC_WM8580 is not set -# CONFIG_SND_SOC_WM8711 is not set -# CONFIG_SND_SOC_WM8728 is not set -# CONFIG_SND_SOC_WM8731 is not set -# CONFIG_SND_SOC_WM8737 is not set -# CONFIG_SND_SOC_WM8741 is not set -# CONFIG_SND_SOC_WM8750 is not set -# CONFIG_SND_SOC_WM8753 is not set -# CONFIG_SND_SOC_WM8776 is not set -# CONFIG_SND_SOC_WM8804_I2C is not set -# CONFIG_SND_SOC_WM8903 is not set -# CONFIG_SND_SOC_WM8962 is not set -# CONFIG_SND_SOC_WM8978 is not set -# CONFIG_SND_SOC_TPA6130A2 is not set -CONFIG_SND_SIMPLE_CARD=m +# CONFIG_SND_SOC is not set # CONFIG_SOUND_PRIME is not set CONFIG_AC97_BUS=m @@ -5079,6 +5116,7 @@ CONFIG_HID_ACRUX=m CONFIG_HID_ACRUX_FF=y CONFIG_HID_APPLE=m CONFIG_HID_APPLEIR=m +CONFIG_HID_ASUS=m CONFIG_HID_AUREAL=m CONFIG_HID_BELKIN=m CONFIG_HID_BETOP_FF=m @@ -5086,6 +5124,7 @@ CONFIG_HID_CHERRY=m CONFIG_HID_CHICONY=m CONFIG_HID_CORSAIR=m CONFIG_HID_PRODIKEYS=m +CONFIG_HID_CMEDIA=m # CONFIG_HID_CP2112 is not set CONFIG_HID_CYPRESS=m CONFIG_HID_DRAGONRISE=m @@ -5108,6 +5147,7 @@ CONFIG_HID_ICADE=m CONFIG_HID_TWINHAN=m CONFIG_HID_KENSINGTON=m CONFIG_HID_LCPOWER=m +CONFIG_HID_LED=m CONFIG_HID_LENOVO=m CONFIG_HID_LOGITECH=m CONFIG_HID_LOGITECH_DJ=m @@ -5161,6 +5201,7 @@ CONFIG_ZEROPLUS_FF=y CONFIG_HID_ZYDACRON=m CONFIG_HID_SENSOR_HUB=m CONFIG_HID_SENSOR_CUSTOM_SENSOR=m +CONFIG_HID_ALPS=m # # USB HID support @@ -5266,6 +5307,7 @@ CONFIG_USB_MICROTEK=m CONFIG_USBIP_CORE=m CONFIG_USBIP_VHCI_HCD=m CONFIG_USBIP_HOST=m +CONFIG_USBIP_VUDC=m # CONFIG_USBIP_DEBUG is not set # CONFIG_USB_MUSB_HDRC is not set # CONFIG_USB_DWC3 is not set @@ -5348,7 +5390,6 @@ CONFIG_USB_SEVSEG=m # CONFIG_USB_RIO500 is not set CONFIG_USB_LEGOTOWER=m CONFIG_USB_LCD=m -CONFIG_USB_LED=m # CONFIG_USB_CYPRESS_CY7C63 is not set # CONFIG_USB_CYTHERM is not set CONFIG_USB_IDMOUSE=m @@ -5367,6 +5408,7 @@ CONFIG_USB_EZUSB_FX2=m CONFIG_USB_HSIC_USB3503=m # CONFIG_USB_LINK_LAYER_TEST is not set CONFIG_USB_CHAOSKEY=m +CONFIG_UCSI=m CONFIG_USB_ATM=m CONFIG_USB_SPEEDTOUCH=m CONFIG_USB_CXACRU=m @@ -5386,6 +5428,7 @@ CONFIG_USB_GADGET=m # CONFIG_USB_GADGET_DEBUG_FS is not set CONFIG_USB_GADGET_VBUS_DRAW=2 CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2 +# CONFIG_U_SERIAL_CONSOLE is not set # # USB Peripheral Controller @@ -5429,6 +5472,7 @@ CONFIG_USB_F_UVC=m CONFIG_USB_F_MIDI=m CONFIG_USB_F_HID=m CONFIG_USB_F_PRINTER=m +CONFIG_USB_F_TCM=m CONFIG_USB_CONFIGFS=m CONFIG_USB_CONFIGFS_SERIAL=y CONFIG_USB_CONFIGFS_ACM=y @@ -5447,6 +5491,7 @@ CONFIG_USB_CONFIGFS_F_MIDI=y CONFIG_USB_CONFIGFS_F_HID=y CONFIG_USB_CONFIGFS_F_UVC=y CONFIG_USB_CONFIGFS_F_PRINTER=y +CONFIG_USB_CONFIGFS_F_TCM=y # CONFIG_USB_ZERO is not set CONFIG_USB_AUDIO=m # CONFIG_GADGET_UAC1 is not set @@ -5541,6 +5586,7 @@ CONFIG_LEDS_LM3530=m # CONFIG_LEDS_PCA9532 is not set # CONFIG_LEDS_GPIO is not set CONFIG_LEDS_LP3944=m +CONFIG_LEDS_LP3952=m CONFIG_LEDS_LP55XX_COMMON=m CONFIG_LEDS_LP5521=m CONFIG_LEDS_LP5523=m @@ -5569,6 +5615,8 @@ CONFIG_LEDS_BLINKM=m CONFIG_LEDS_TRIGGERS=y CONFIG_LEDS_TRIGGER_TIMER=m CONFIG_LEDS_TRIGGER_ONESHOT=m +CONFIG_LEDS_TRIGGER_DISK=y +# CONFIG_LEDS_TRIGGER_MTD is not set CONFIG_LEDS_TRIGGER_HEARTBEAT=m CONFIG_LEDS_TRIGGER_BACKLIGHT=m # CONFIG_LEDS_TRIGGER_CPU is not set @@ -5580,6 +5628,7 @@ CONFIG_LEDS_TRIGGER_DEFAULT_ON=m # CONFIG_LEDS_TRIGGER_TRANSIENT=m CONFIG_LEDS_TRIGGER_CAMERA=m +CONFIG_LEDS_TRIGGER_PANIC=y CONFIG_ACCESSIBILITY=y CONFIG_A11Y_BRAILLE_CONSOLE=y CONFIG_INFINIBAND=m @@ -5588,6 +5637,7 @@ CONFIG_INFINIBAND_USER_ACCESS=m CONFIG_INFINIBAND_USER_MEM=y CONFIG_INFINIBAND_ON_DEMAND_PAGING=y CONFIG_INFINIBAND_ADDR_TRANS=y +CONFIG_INFINIBAND_ADDR_TRANS_CONFIGFS=y CONFIG_INFINIBAND_MTHCA=m CONFIG_INFINIBAND_MTHCA_DEBUG=y CONFIG_INFINIBAND_QIB=m @@ -5595,6 +5645,7 @@ CONFIG_INFINIBAND_QIB_DCA=y CONFIG_INFINIBAND_CXGB3=m # CONFIG_INFINIBAND_CXGB3_DEBUG is not set CONFIG_INFINIBAND_CXGB4=m +CONFIG_INFINIBAND_I40IW=m CONFIG_MLX4_INFINIBAND=m CONFIG_MLX5_INFINIBAND=m CONFIG_INFINIBAND_NES=m @@ -5609,6 +5660,9 @@ CONFIG_INFINIBAND_SRP=m CONFIG_INFINIBAND_SRPT=m CONFIG_INFINIBAND_ISER=m CONFIG_INFINIBAND_ISERT=m +CONFIG_INFINIBAND_RDMAVT=m +CONFIG_RDMA_RXE=m +# CONFIG_INFINIBAND_HFI1 is not set CONFIG_EDAC_ATOMIC_SCRUB=y CONFIG_EDAC_SUPPORT=y CONFIG_EDAC=y @@ -5630,7 +5684,9 @@ CONFIG_EDAC_I5000=m CONFIG_EDAC_I5100=m CONFIG_EDAC_I7300=m CONFIG_EDAC_SBRIDGE=m +CONFIG_EDAC_SKX=m CONFIG_RTC_LIB=y +CONFIG_RTC_MC146818_LIB=y CONFIG_RTC_CLASS=y CONFIG_RTC_HCTOSYS=y CONFIG_RTC_HCTOSYS_DEVICE="rtc0" @@ -5652,35 +5708,43 @@ CONFIG_RTC_INTF_DEV=y CONFIG_RTC_DRV_ABB5ZES3=m CONFIG_RTC_DRV_ABX80X=m CONFIG_RTC_DRV_DS1307=m +CONFIG_RTC_DRV_DS1307_HWMON=y CONFIG_RTC_DRV_DS1374=m CONFIG_RTC_DRV_DS1374_WDT=y CONFIG_RTC_DRV_DS1672=m -CONFIG_RTC_DRV_DS3232=m CONFIG_RTC_DRV_MAX6900=m CONFIG_RTC_DRV_RS5C372=m CONFIG_RTC_DRV_ISL1208=m CONFIG_RTC_DRV_ISL12022=m # CONFIG_RTC_DRV_ISL12057 is not set CONFIG_RTC_DRV_X1205=m -CONFIG_RTC_DRV_PCF2127=m CONFIG_RTC_DRV_PCF8523=m -CONFIG_RTC_DRV_PCF8563=m CONFIG_RTC_DRV_PCF85063=m +CONFIG_RTC_DRV_PCF8563=m CONFIG_RTC_DRV_PCF8583=m CONFIG_RTC_DRV_M41T80=m CONFIG_RTC_DRV_M41T80_WDT=y CONFIG_RTC_DRV_BQ32K=m # CONFIG_RTC_DRV_S35390A is not set CONFIG_RTC_DRV_FM3130=m +CONFIG_RTC_DRV_RX8010=m CONFIG_RTC_DRV_RX8581=m CONFIG_RTC_DRV_RX8025=m CONFIG_RTC_DRV_EM3027=m -CONFIG_RTC_DRV_RV3029C2=m CONFIG_RTC_DRV_RV8803=m # # SPI RTC drivers # +CONFIG_RTC_I2C_AND_SPI=y + +# +# SPI and I2C RTC drivers +# +CONFIG_RTC_DRV_DS3232=m +CONFIG_RTC_DRV_PCF2127=m +CONFIG_RTC_DRV_RV3029C2=m +CONFIG_RTC_DRV_RV3029_HWMON=y # # Platform RTC drivers @@ -5729,10 +5793,12 @@ CONFIG_DMA_ACPI=y CONFIG_INTEL_IDMA64=y CONFIG_INTEL_IOATDMA=m CONFIG_INTEL_MIC_X100_DMA=m +CONFIG_QCOM_HIDMA_MGMT=m +CONFIG_QCOM_HIDMA=m CONFIG_DW_DMAC_CORE=m CONFIG_DW_DMAC=m CONFIG_DW_DMAC_PCI=m -CONFIG_HSU_DMA=m +CONFIG_HSU_DMA=y # # DMA Clients @@ -5740,6 +5806,11 @@ CONFIG_HSU_DMA=m CONFIG_ASYNC_TX_DMA=y # CONFIG_DMATEST is not set CONFIG_DMA_ENGINE_RAID=y + +# +# DMABUF options +# +# CONFIG_SYNC_FILE is not set CONFIG_DCA=m CONFIG_AUXDISPLAY=y CONFIG_KS0108=m @@ -5760,10 +5831,12 @@ CONFIG_UIO_PCI_GENERIC=m CONFIG_VFIO_IOMMU_TYPE1=m CONFIG_VFIO_VIRQFD=m CONFIG_VFIO=m +# CONFIG_VFIO_NOIOMMU is not set CONFIG_VFIO_PCI=m CONFIG_VFIO_PCI_VGA=y CONFIG_VFIO_PCI_MMAP=y CONFIG_VFIO_PCI_INTX=y +CONFIG_VFIO_PCI_IGD=y CONFIG_IRQ_BYPASS_MANAGER=m CONFIG_VIRT_DRIVERS=y CONFIG_VIRTIO=m @@ -5817,7 +5890,6 @@ CONFIG_STAGING=y # CONFIG_SLICOSS is not set # CONFIG_PRISM2_USB is not set # CONFIG_COMEDI is not set -# CONFIG_PANEL is not set # CONFIG_RTL8192U is not set CONFIG_RTLLIB=m CONFIG_RTLLIB_CRYPTO_CCMP=m @@ -5879,11 +5951,6 @@ CONFIG_R8723AU=m # CONFIG_TSL2583 is not set # CONFIG_TSL2x7x is not set -# -# Magnetometer sensors -# -# CONFIG_SENSORS_HMC5843_I2C is not set - # # Active energy metering IC # @@ -5896,8 +5963,6 @@ CONFIG_R8723AU=m # # Triggers - standalone # -# CONFIG_IIO_PERIODIC_RTC_TRIGGER is not set -# CONFIG_IIO_SIMPLE_DUMMY is not set # CONFIG_FB_SM750 is not set # CONFIG_FB_XGI is not set @@ -5905,12 +5970,10 @@ CONFIG_R8723AU=m # Speakup console speech # # CONFIG_SPEAKUP is not set -# CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4 is not set CONFIG_STAGING_MEDIA=y # CONFIG_I2C_BCM2048 is not set +# CONFIG_MEDIA_CEC is not set # CONFIG_DVB_CXD2099 is not set -CONFIG_DVB_MN88472=m -CONFIG_DVB_MN88473=m CONFIG_LIRC_STAGING=y CONFIG_LIRC_BT829=m CONFIG_LIRC_IMON=m @@ -5920,27 +5983,36 @@ CONFIG_LIRC_SERIAL=m CONFIG_LIRC_SERIAL_TRANSMITTER=y CONFIG_LIRC_SIR=m CONFIG_LIRC_ZILOG=m -# CONFIG_STAGING_RDMA is not set # # Android # -# CONFIG_WIMAX_GDM72XX is not set # CONFIG_LTE_GDM724X is not set # CONFIG_FIREWIRE_SERIAL is not set +CONFIG_LNET=m +CONFIG_LNET_MAX_PAYLOAD=1048576 +# CONFIG_LNET_SELFTEST is not set +CONFIG_LNET_XPRT_IB=m # CONFIG_LUSTRE_FS is not set # CONFIG_DGNC is not set -# CONFIG_DGAP is not set # CONFIG_GS_FPGABOOT is not set # CONFIG_CRYPTO_SKEIN is not set # CONFIG_UNISYSSPAR is not set -# CONFIG_WILC1000_DRIVER is not set +CONFIG_WILC1000=m +CONFIG_WILC1000_SDIO=m +# CONFIG_WILC1000_HW_OOB_INTR is not set # CONFIG_MOST is not set + +# +# Old ISDN4Linux (deprecated) +# +CONFIG_KS7010=m CONFIG_X86_PLATFORM_DEVICES=y CONFIG_ACER_WMI=m CONFIG_ACERHDF=m CONFIG_ALIENWARE_WMI=m CONFIG_ASUS_LAPTOP=m +CONFIG_DELL_SMBIOS=m CONFIG_DELL_LAPTOP=m CONFIG_DELL_WMI=m CONFIG_DELL_WMI_AIO=m @@ -5968,6 +6040,7 @@ CONFIG_THINKPAD_ACPI_VIDEO=y CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y CONFIG_SENSORS_HDAPS=m CONFIG_INTEL_MENLOW=m +CONFIG_ASUS_WIRELESS=m CONFIG_ACPI_WMI=m CONFIG_MSI_WMI=m CONFIG_TOPSTAR_LAPTOP=m @@ -5976,7 +6049,10 @@ CONFIG_TOSHIBA_BT_RFKILL=m CONFIG_TOSHIBA_HAPS=m CONFIG_TOSHIBA_WMI=m CONFIG_ACPI_CMPC=m +CONFIG_INTEL_HID_EVENT=m +CONFIG_INTEL_VBTN=m CONFIG_INTEL_IPS=m +# CONFIG_INTEL_PMC_CORE is not set # CONFIG_IBM_RTL is not set CONFIG_SAMSUNG_LAPTOP=m CONFIG_MXM_WMI=m @@ -5988,9 +6064,12 @@ CONFIG_INTEL_SMARTCONNECT=y CONFIG_PVPANIC=m CONFIG_INTEL_PMC_IPC=m CONFIG_SURFACE_PRO3_BUTTON=m +CONFIG_INTEL_PUNIT_IPC=m +# CONFIG_INTEL_TELEMETRY is not set CONFIG_CHROME_PLATFORMS=y CONFIG_CHROMEOS_LAPTOP=m CONFIG_CHROMEOS_PSTORE=m +CONFIG_CROS_KBD_LED_BACKLIGHT=m CONFIG_CLKDEV_LOOKUP=y CONFIG_HAVE_CLK_PREPARE=y CONFIG_COMMON_CLK=y @@ -5999,8 +6078,12 @@ CONFIG_COMMON_CLK=y # Common Clock Framework # # CONFIG_COMMON_CLK_SI5351 is not set -# CONFIG_COMMON_CLK_PXA is not set CONFIG_COMMON_CLK_CDCE706=m +CONFIG_COMMON_CLK_CS2000_CP=m +# CONFIG_COMMON_CLK_NXP is not set +# CONFIG_COMMON_CLK_PXA is not set +# CONFIG_COMMON_CLK_PIC32 is not set +# CONFIG_SUNXI_CCU is not set # # Hardware Spinlock drivers @@ -6026,7 +6109,6 @@ CONFIG_IOMMU_SUPPORT=y # CONFIG_IOMMU_IOVA=y CONFIG_AMD_IOMMU=y -CONFIG_AMD_IOMMU_STATS=y CONFIG_AMD_IOMMU_V2=m CONFIG_DMAR_TABLE=y CONFIG_INTEL_IOMMU=y @@ -6047,6 +6129,10 @@ CONFIG_IRQ_REMAP=y # # SOC (System On Chip) specific Drivers # + +# +# Broadcom SoC drivers +# # CONFIG_SUNXI_SRAM is not set # CONFIG_SOC_TI is not set CONFIG_PM_DEVFREQ=y @@ -6058,6 +6144,7 @@ CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=m # CONFIG_DEVFREQ_GOV_PERFORMANCE is not set # CONFIG_DEVFREQ_GOV_POWERSAVE is not set # CONFIG_DEVFREQ_GOV_USERSPACE is not set +# CONFIG_DEVFREQ_GOV_PASSIVE is not set # # DEVFREQ Drivers @@ -6070,8 +6157,11 @@ CONFIG_IIO_BUFFER=y CONFIG_IIO_BUFFER_CB=m CONFIG_IIO_KFIFO_BUF=m CONFIG_IIO_TRIGGERED_BUFFER=m +# CONFIG_IIO_CONFIGFS is not set CONFIG_IIO_TRIGGER=y CONFIG_IIO_CONSUMERS_PER_TRIGGER=2 +# CONFIG_IIO_SW_DEVICE is not set +# CONFIG_IIO_SW_TRIGGER is not set # # Accelerometers @@ -6082,11 +6172,14 @@ CONFIG_HID_SENSOR_ACCEL_3D=m CONFIG_IIO_ST_ACCEL_3AXIS=m CONFIG_IIO_ST_ACCEL_I2C_3AXIS=m CONFIG_KXCJK1013=m +# CONFIG_MMA7455_I2C is not set +# CONFIG_MMA7660 is not set # CONFIG_MMA8452 is not set CONFIG_MMA9551_CORE=m CONFIG_MMA9551=m CONFIG_MMA9553=m CONFIG_MXC4005=m +# CONFIG_MXC6255 is not set CONFIG_STK8312=m CONFIG_STK8BA50=m @@ -6095,11 +6188,14 @@ CONFIG_STK8BA50=m # # CONFIG_AD7291 is not set # CONFIG_AD799X is not set +# CONFIG_AXP288_ADC is not set CONFIG_DA9150_GPADC=m +# CONFIG_INA2XX_ADC is not set # CONFIG_MAX1363 is not set # CONFIG_MCP3422 is not set # CONFIG_NAU7802 is not set # CONFIG_TI_ADC081C is not set +# CONFIG_TI_ADS1015 is not set # CONFIG_VIPERBOARD_ADC is not set # @@ -6109,6 +6205,8 @@ CONFIG_DA9150_GPADC=m # # Chemical Sensors # +# CONFIG_ATLAS_PH_SENSOR is not set +# CONFIG_IAQCORE is not set # CONFIG_VZ89X is not set # @@ -6130,10 +6228,15 @@ CONFIG_IIO_ST_SENSORS_CORE=m # CONFIG_AD5064 is not set # CONFIG_AD5380 is not set # CONFIG_AD5446 is not set +# CONFIG_AD5593R is not set # CONFIG_M62332 is not set # CONFIG_MAX517 is not set # CONFIG_MCP4725 is not set +# +# IIO dummy driver +# + # # Frequency Synthesizers DDS/PLL # @@ -6155,9 +6258,20 @@ CONFIG_IIO_ST_GYRO_3AXIS=m CONFIG_IIO_ST_GYRO_I2C_3AXIS=m # CONFIG_ITG3200 is not set +# +# Health Sensors +# + +# +# Heart Rate Monitors +# +# CONFIG_AFE4404 is not set +# CONFIG_MAX30100 is not set + # # Humidity sensors # +# CONFIG_AM2315 is not set # CONFIG_DHT11 is not set CONFIG_HDC100X=m CONFIG_HTU21=m @@ -6167,8 +6281,9 @@ CONFIG_SI7020=m # # Inertial measurement units # +# CONFIG_BMI160_I2C is not set CONFIG_KMX61=m -# CONFIG_INV_MPU6050_IIO is not set +# CONFIG_INV_MPU6050_I2C is not set # # Light sensors @@ -6179,6 +6294,7 @@ CONFIG_KMX61=m # CONFIG_APDS9300 is not set # CONFIG_APDS9960 is not set # CONFIG_BH1750 is not set +# CONFIG_BH1780 is not set # CONFIG_CM32181 is not set # CONFIG_CM3232 is not set # CONFIG_CM3323 is not set @@ -6190,6 +6306,7 @@ CONFIG_KMX61=m # CONFIG_JSA1212 is not set # CONFIG_RPR0521 is not set # CONFIG_LTR501 is not set +# CONFIG_MAX44000 is not set # CONFIG_OPT3001 is not set # CONFIG_PA12203001 is not set # CONFIG_STK3310 is not set @@ -6199,17 +6316,19 @@ CONFIG_KMX61=m # CONFIG_TSL4531 is not set # CONFIG_US5182D is not set # CONFIG_VCNL4000 is not set +# CONFIG_VEML6070 is not set # # Magnetometer sensors # # CONFIG_AK8975 is not set # CONFIG_AK09911 is not set -# CONFIG_BMC150_MAGN is not set +# CONFIG_BMC150_MAGN_I2C is not set # CONFIG_MAG3110 is not set # CONFIG_HID_SENSOR_MAGNETOMETER_3D is not set # CONFIG_MMC35240 is not set # CONFIG_IIO_ST_MAGN_3AXIS is not set +# CONFIG_SENSORS_HMC5843_I2C is not set # # Inclinometer sensors @@ -6226,19 +6345,22 @@ CONFIG_IIO_INTERRUPT_TRIGGER=m # # Digital potentiometers # +# CONFIG_DS1803 is not set # CONFIG_MCP4531 is not set +# CONFIG_TPL0102 is not set # # Pressure sensors # -# CONFIG_BMP280 is not set # CONFIG_HID_SENSOR_PRESS is not set -# CONFIG_MPL115 is not set +# CONFIG_HP03 is not set +# CONFIG_MPL115_I2C is not set # CONFIG_MPL3115 is not set # CONFIG_MS5611 is not set # CONFIG_MS5637 is not set # CONFIG_IIO_ST_PRESS is not set # CONFIG_T5403 is not set +# CONFIG_HP206C is not set # # Lightning sensors @@ -6258,14 +6380,18 @@ CONFIG_IIO_INTERRUPT_TRIGGER=m # CONFIG_TSYS01 is not set # CONFIG_TSYS02D is not set CONFIG_NTB=m +CONFIG_NTB_AMD=m # CONFIG_NTB_INTEL is not set # CONFIG_NTB_PINGPONG is not set # CONFIG_NTB_TOOL is not set +CONFIG_NTB_PERF=m # CONFIG_NTB_TRANSPORT is not set # CONFIG_VME_BUS is not set # CONFIG_PWM is not set +CONFIG_ARM_GIC_MAX_NR=1 # CONFIG_IPACK_BUS is not set CONFIG_RESET_CONTROLLER=y +# CONFIG_TI_SYSCON_RESET is not set CONFIG_FMC=m CONFIG_FMC_FAKEDEV=m CONFIG_FMC_TRIVIAL=m @@ -6288,7 +6414,7 @@ CONFIG_INTEL_RAPL=m # Performance monitor support # CONFIG_RAS=y -# CONFIG_AMD_MCE_INJ is not set +# CONFIG_MCE_AMD_INJ is not set CONFIG_THUNDERBOLT=m # @@ -6301,10 +6427,12 @@ CONFIG_ND_BLK=y CONFIG_ND_CLAIM=y CONFIG_ND_BTT=y CONFIG_BTT=y +# CONFIG_DEV_DAX is not set CONFIG_NVMEM=m CONFIG_STM=m # CONFIG_STM_DUMMY is not set -CONFIG_STM_SOURCE_CONSOLE=y +CONFIG_STM_SOURCE_CONSOLE=m +# CONFIG_STM_SOURCE_HEARTBEAT is not set # CONFIG_INTEL_TH is not set # @@ -6325,6 +6453,8 @@ CONFIG_DMI_SYSFS=y CONFIG_DMI_SCAN_MACHINE_NON_EFI_FALLBACK=y CONFIG_ISCSI_IBFT_FIND=y CONFIG_ISCSI_IBFT=m +CONFIG_FW_CFG_SYSFS=m +CONFIG_FW_CFG_SYSFS_CMDLINE=y # CONFIG_GOOGLE_FIRMWARE is not set # @@ -6337,12 +6467,15 @@ CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE=y CONFIG_EFI_RUNTIME_MAP=y # CONFIG_EFI_FAKE_MEMMAP is not set CONFIG_EFI_RUNTIME_WRAPPERS=y +CONFIG_EFI_BOOTLOADER_CONTROL=m +CONFIG_EFI_CAPSULE_LOADER=m CONFIG_UEFI_CPER=y # # File systems # CONFIG_DCACHE_WORD_ACCESS=y +CONFIG_FS_IOMAP=y # CONFIG_EXT2_FS is not set # CONFIG_EXT3_FS is not set CONFIG_EXT4_FS=y @@ -6394,10 +6527,14 @@ CONFIG_F2FS_FS_SECURITY=y # CONFIG_F2FS_CHECK_FS is not set CONFIG_F2FS_FS_ENCRYPTION=y # CONFIG_F2FS_IO_TRACE is not set +# CONFIG_F2FS_FAULT_INJECTION is not set # CONFIG_FS_DAX is not set CONFIG_FS_POSIX_ACL=y CONFIG_EXPORTFS=y +# CONFIG_EXPORTFS_BLOCK_OPS is not set CONFIG_FILE_LOCKING=y +CONFIG_MANDATORY_FILE_LOCKING=y +CONFIG_FS_ENCRYPTION=m CONFIG_FSNOTIFY=y CONFIG_DNOTIFY=y CONFIG_INOTIFY_USER=y @@ -6446,6 +6583,7 @@ CONFIG_MSDOS_FS=m CONFIG_VFAT_FS=m CONFIG_FAT_DEFAULT_CODEPAGE=437 CONFIG_FAT_DEFAULT_IOCHARSET="ascii" +CONFIG_FAT_DEFAULT_UTF8=y # CONFIG_NTFS_FS is not set # @@ -6467,6 +6605,7 @@ CONFIG_HUGETLB_PAGE=y CONFIG_CONFIGFS_FS=y CONFIG_EFIVAR_FS=y CONFIG_MISC_FILESYSTEMS=y +# CONFIG_ORANGEFS_FS is not set # CONFIG_ADFS_FS is not set CONFIG_AFFS_FS=m CONFIG_ECRYPT_FS=m @@ -6512,6 +6651,9 @@ CONFIG_ROMFS_BACKED_BY_BLOCK=y # CONFIG_ROMFS_BACKED_BY_BOTH is not set CONFIG_ROMFS_ON_BLOCK=y CONFIG_PSTORE=y +CONFIG_PSTORE_ZLIB_COMPRESS=y +# CONFIG_PSTORE_LZO_COMPRESS is not set +# CONFIG_PSTORE_LZ4_COMPRESS is not set # CONFIG_PSTORE_CONSOLE is not set # CONFIG_PSTORE_PMSG is not set # CONFIG_PSTORE_FTRACE is not set @@ -6547,7 +6689,9 @@ CONFIG_NFSD_V2_ACL=y CONFIG_NFSD_V3=y CONFIG_NFSD_V3_ACL=y CONFIG_NFSD_V4=y -CONFIG_NFSD_PNFS=y +# CONFIG_NFSD_BLOCKLAYOUT is not set +# CONFIG_NFSD_SCSILAYOUT is not set +# CONFIG_NFSD_FLEXFILELAYOUT is not set CONFIG_NFSD_V4_SECURITY_LABEL=y # CONFIG_NFSD_FAULT_INJECTION is not set CONFIG_GRACE_PERIOD=m @@ -6678,6 +6822,7 @@ CONFIG_HEADERS_CHECK=y CONFIG_SECTION_MISMATCH_WARN_ONLY=y CONFIG_ARCH_WANT_FRAME_POINTERS=y CONFIG_FRAME_POINTER=y +# CONFIG_STACK_VALIDATION is not set # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set CONFIG_MAGIC_SYSRQ=y CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x0 @@ -6688,6 +6833,8 @@ CONFIG_DEBUG_KERNEL=y # # CONFIG_PAGE_EXTENSION is not set # CONFIG_DEBUG_PAGEALLOC is not set +# CONFIG_PAGE_POISONING is not set +# CONFIG_DEBUG_PAGE_REF is not set # CONFIG_DEBUG_OBJECTS is not set # CONFIG_SLUB_DEBUG_ON is not set # CONFIG_SLUB_STATS is not set @@ -6697,6 +6844,7 @@ CONFIG_HAVE_DEBUG_KMEMLEAK=y CONFIG_DEBUG_VM=y # CONFIG_DEBUG_VM_VMACACHE is not set # CONFIG_DEBUG_VM_RB is not set +# CONFIG_DEBUG_VM_PGFLAGS is not set # CONFIG_DEBUG_VIRTUAL is not set CONFIG_DEBUG_MEMORY_INIT=y # CONFIG_DEBUG_PER_CPU_MAPS is not set @@ -6705,6 +6853,8 @@ CONFIG_DEBUG_STACKOVERFLOW=y CONFIG_HAVE_ARCH_KMEMCHECK=y CONFIG_HAVE_ARCH_KASAN=y # CONFIG_KASAN is not set +CONFIG_ARCH_HAS_KCOV=y +# CONFIG_KCOV is not set CONFIG_DEBUG_SHIRQ=y # @@ -6717,6 +6867,7 @@ CONFIG_BOOTPARAM_HARDLOCKUP_PANIC_VALUE=0 # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 # CONFIG_DETECT_HUNG_TASK is not set +# CONFIG_WQ_WATCHDOG is not set # CONFIG_PANIC_ON_OOPS is not set CONFIG_PANIC_ON_OOPS_VALUE=0 CONFIG_PANIC_TIMEOUT=0 @@ -6755,6 +6906,7 @@ CONFIG_DEBUG_LIST=y # CONFIG_PROVE_RCU is not set CONFIG_SPARSE_RCU_POINTER=y CONFIG_TORTURE_TEST=m +# CONFIG_RCU_PERF_TEST is not set CONFIG_RCU_TORTURE_TEST=m # CONFIG_RCU_TORTURE_TEST_SLOW_PREINIT is not set # CONFIG_RCU_TORTURE_TEST_SLOW_INIT is not set @@ -6762,12 +6914,12 @@ CONFIG_RCU_TORTURE_TEST=m CONFIG_RCU_CPU_STALL_TIMEOUT=60 # CONFIG_RCU_TRACE is not set # CONFIG_RCU_EQS_DEBUG is not set +# CONFIG_DEBUG_WQ_FORCE_RR_CPU is not set # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set +# CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set # CONFIG_NOTIFIER_ERROR_INJECTION is not set # CONFIG_FAULT_INJECTION is not set CONFIG_LATENCYTOP=y -CONFIG_ARCH_HAS_DEBUG_STRICT_USER_COPY_CHECKS=y -# CONFIG_DEBUG_STRICT_USER_COPY_CHECKS is not set CONFIG_USER_STACKTRACE_SUPPORT=y CONFIG_NOP_TRACER=y CONFIG_HAVE_FUNCTION_TRACER=y @@ -6811,6 +6963,7 @@ CONFIG_FUNCTION_PROFILER=y CONFIG_FTRACE_MCOUNT_RECORD=y # CONFIG_FTRACE_STARTUP_TEST is not set # CONFIG_MMIOTRACE is not set +# CONFIG_HIST_TRIGGERS is not set # CONFIG_TRACEPOINT_BENCHMARK is not set CONFIG_RING_BUFFER_BENCHMARK=m # CONFIG_RING_BUFFER_STARTUP_TEST is not set @@ -6833,7 +6986,10 @@ CONFIG_ASYNC_RAID6_TEST=m # CONFIG_TEST_STRING_HELPERS is not set # CONFIG_TEST_KSTRTOX is not set # CONFIG_TEST_PRINTF is not set +# CONFIG_TEST_BITMAP is not set +# CONFIG_TEST_UUID is not set # CONFIG_TEST_RHASHTABLE is not set +# CONFIG_TEST_HASH is not set CONFIG_PROVIDE_OHCI1394_DMA_INIT=y CONFIG_BUILD_DOCSRC=y # CONFIG_DMA_API_DEBUG is not set @@ -6855,7 +7011,11 @@ CONFIG_KGDB_KDB=y CONFIG_KDB_DEFAULT_ENABLE=0x0 CONFIG_KDB_KEYBOARD=y CONFIG_KDB_CONTINUE_CATASTROPHIC=0 +CONFIG_ARCH_HAS_UBSAN_SANITIZE_ALL=y +# CONFIG_UBSAN is not set +CONFIG_ARCH_HAS_DEVMEM_IS_ALLOWED=y CONFIG_STRICT_DEVMEM=y +# CONFIG_IO_STRICT_DEVMEM is not set # CONFIG_X86_VERBOSE_BOOTUP is not set CONFIG_EARLY_PRINTK=y CONFIG_EARLY_PRINTK_DBGP=y @@ -6863,7 +7023,6 @@ CONFIG_EARLY_PRINTK_EFI=y CONFIG_X86_PTDUMP_CORE=y CONFIG_X86_PTDUMP=y # CONFIG_EFI_PGT_DUMP is not set -CONFIG_DEBUG_RODATA=y CONFIG_DEBUG_RODATA_TEST=y # CONFIG_DEBUG_WX is not set CONFIG_DEBUG_SET_MODULE_RONX=y @@ -6887,7 +7046,6 @@ CONFIG_DEBUG_BOOT_PARAMS=y CONFIG_OPTIMIZE_INLINING=y # CONFIG_DEBUG_ENTRY is not set # CONFIG_DEBUG_NMI_SELFTEST is not set -# CONFIG_X86_DEBUG_STATIC_CPU_HAS is not set # CONFIG_X86_DEBUG_FPU is not set # CONFIG_PUNIT_ATOM_DEBUG is not set @@ -6899,6 +7057,7 @@ CONFIG_PERSISTENT_KEYRINGS=y CONFIG_BIG_KEYS=y CONFIG_TRUSTED_KEYS=m CONFIG_ENCRYPTED_KEYS=m +# CONFIG_KEY_DH_OPERATIONS is not set # CONFIG_SECURITY_DMESG_RESTRICT is not set CONFIG_SECURITY=y CONFIG_SECURITYFS=y @@ -6907,6 +7066,9 @@ CONFIG_SECURITY_NETWORK_XFRM=y CONFIG_SECURITY_PATH=y CONFIG_INTEL_TXT=y CONFIG_LSM_MMAP_MIN_ADDR=65536 +CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y +CONFIG_HAVE_ARCH_HARDENED_USERCOPY=y +# CONFIG_HARDENED_USERCOPY is not set CONFIG_SECURITY_SELINUX=y CONFIG_SECURITY_SELINUX_BOOTPARAM=y CONFIG_SECURITY_SELINUX_BOOTPARAM_VALUE=0 @@ -6920,6 +7082,8 @@ CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1 CONFIG_SECURITY_APPARMOR=y CONFIG_SECURITY_APPARMOR_BOOTPARAM_VALUE=0 CONFIG_SECURITY_APPARMOR_HASH=y +CONFIG_SECURITY_APPARMOR_HASH_DEFAULT=y +# CONFIG_SECURITY_LOADPIN is not set # CONFIG_SECURITY_YAMA is not set # CONFIG_INTEGRITY is not set # CONFIG_DEFAULT_SECURITY_SELINUX is not set @@ -6948,11 +7112,13 @@ CONFIG_CRYPTO_HASH2=y CONFIG_CRYPTO_RNG=y CONFIG_CRYPTO_RNG2=y CONFIG_CRYPTO_RNG_DEFAULT=y -CONFIG_CRYPTO_PCOMP=m -CONFIG_CRYPTO_PCOMP2=y CONFIG_CRYPTO_AKCIPHER2=y CONFIG_CRYPTO_AKCIPHER=y +CONFIG_CRYPTO_KPP2=y +CONFIG_CRYPTO_KPP=m CONFIG_CRYPTO_RSA=m +CONFIG_CRYPTO_DH=m +# CONFIG_CRYPTO_ECDH is not set CONFIG_CRYPTO_MANAGER=y CONFIG_CRYPTO_MANAGER2=y CONFIG_CRYPTO_USER=m @@ -7022,8 +7188,11 @@ CONFIG_CRYPTO_SHA1_SSSE3=m CONFIG_CRYPTO_SHA256_SSSE3=m CONFIG_CRYPTO_SHA512_SSSE3=m # CONFIG_CRYPTO_SHA1_MB is not set +# CONFIG_CRYPTO_SHA256_MB is not set +# CONFIG_CRYPTO_SHA512_MB is not set CONFIG_CRYPTO_SHA256=y CONFIG_CRYPTO_SHA512=m +# CONFIG_CRYPTO_SHA3 is not set CONFIG_CRYPTO_TGR192=m CONFIG_CRYPTO_WP512=m CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL=m @@ -7072,7 +7241,6 @@ CONFIG_CRYPTO_TWOFISH_AVX_X86_64=m # Compression # CONFIG_CRYPTO_DEFLATE=m -CONFIG_CRYPTO_ZLIB=m CONFIG_CRYPTO_LZO=y CONFIG_CRYPTO_842=m CONFIG_CRYPTO_LZ4=m @@ -7103,26 +7271,28 @@ CONFIG_CRYPTO_DEV_CCP_DD=m CONFIG_CRYPTO_DEV_CCP_CRYPTO=m CONFIG_CRYPTO_DEV_QAT=m CONFIG_CRYPTO_DEV_QAT_DH895xCC=m +# CONFIG_CRYPTO_DEV_QAT_C3XXX is not set +# CONFIG_CRYPTO_DEV_QAT_C62X is not set CONFIG_CRYPTO_DEV_QAT_DH895xCCVF=m +CONFIG_CRYPTO_DEV_QAT_C3XXXVF=m +CONFIG_CRYPTO_DEV_QAT_C62XVF=m CONFIG_ASYMMETRIC_KEY_TYPE=y CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y -CONFIG_PUBLIC_KEY_ALGO_RSA=y CONFIG_X509_CERTIFICATE_PARSER=y CONFIG_PKCS7_MESSAGE_PARSER=y -# CONFIG_PKCS7_TEST_KEY is not set -CONFIG_SIGNED_PE_FILE_VERIFICATION=y # # Certificates for signature checking # CONFIG_SYSTEM_TRUSTED_KEYRING=y CONFIG_SYSTEM_TRUSTED_KEYS="" +# CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set +# CONFIG_SECONDARY_TRUSTED_KEYRING is not set CONFIG_HAVE_KVM=y CONFIG_HAVE_KVM_IRQCHIP=y CONFIG_HAVE_KVM_IRQFD=y CONFIG_HAVE_KVM_IRQ_ROUTING=y CONFIG_HAVE_KVM_EVENTFD=y -CONFIG_KVM_APIC_ARCHITECTURE=y CONFIG_KVM_MMIO=y CONFIG_KVM_ASYNC_PF=y CONFIG_HAVE_KVM_MSI=y @@ -7137,6 +7307,11 @@ CONFIG_KVM_INTEL=m CONFIG_KVM_AMD=m CONFIG_KVM_MMU_AUDIT=y CONFIG_KVM_DEVICE_ASSIGNMENT=y +CONFIG_VHOST_NET=m +CONFIG_VHOST_SCSI=m +CONFIG_VHOST_VSOCK=m +CONFIG_VHOST=m +# CONFIG_VHOST_CROSS_ENDIAN_LEGACY is not set CONFIG_BINARY_PRINTF=y # @@ -7155,7 +7330,7 @@ CONFIG_GENERIC_IOMAP=y CONFIG_GENERIC_IO=y CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y CONFIG_ARCH_HAS_FAST_MULTIPLIER=y -CONFIG_CRC_CCITT=m +CONFIG_CRC_CCITT=y CONFIG_CRC16=y CONFIG_CRC_T10DIF=y CONFIG_CRC_ITU_T=m @@ -7204,6 +7379,7 @@ CONFIG_TEXTSEARCH_BM=m CONFIG_TEXTSEARCH_FSM=m CONFIG_BTREE=y CONFIG_INTERVAL_TREE=y +CONFIG_RADIX_TREE_MULTIORDER=y CONFIG_ASSOCIATIVE_ARRAY=y CONFIG_HAS_IOMEM=y CONFIG_HAS_IOPORT_MAP=y @@ -7219,6 +7395,7 @@ CONFIG_LRU_CACHE=m CONFIG_CLZ_TAB=y CONFIG_CORDIC=m # CONFIG_DDR is not set +CONFIG_IRQ_POLL=y CONFIG_MPILIB=y CONFIG_OID_REGISTRY=y CONFIG_UCS2_STRING=y @@ -7227,6 +7404,7 @@ CONFIG_FONT_SUPPORT=y CONFIG_FONT_8x8=y CONFIG_FONT_8x16=y # CONFIG_SG_SPLIT is not set +CONFIG_SG_POOL=y CONFIG_ARCH_HAS_SG_CHAIN=y CONFIG_ARCH_HAS_PMEM_API=y CONFIG_ARCH_HAS_MMIO_FLUSH=y diff --git a/patches.backports/0001-HID-fix-out-of-bound-access-in-extract-and-implement.patch b/patches.backports/0001-HID-fix-out-of-bound-access-in-extract-and-implement.patch deleted file mode 100644 index 53fa62b..0000000 --- a/patches.backports/0001-HID-fix-out-of-bound-access-in-extract-and-implement.patch +++ /dev/null @@ -1,161 +0,0 @@ -From 5137b354bc8a5c04edb10d83f8bdb0bf8896fd68 Mon Sep 17 00:00:00 2001 -From: Dmitry Torokhov -Date: Mon, 18 Jan 2016 22:40:37 -0800 -Subject: [PATCH] HID: fix out of bound access in extract() and implement() -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -extract() and implement() access buffer containing reports in 64-bit -chunks, but there is no guarantee that buffers are padded to 64 bit -boundary. In fact, KASAN has caught such OOB access with i2c-hid and -Synaptics touch controller. - -Instead of trying to hunt all parties that allocate buffers and make -sure they are padded, let's switch extract() and implement() to byte -access. It is a bit slower, bit we are not dealing with super fast -devices here. - -Also let's fix link to the HID spec while we are at it. - -Signed-off-by: Dmitry Torokhov -Reviewed-by: Benjamin Tissoires -Signed-off-by: Jiri Kosina ---- - drivers/hid/hid-core.c | 90 ++++++++++++++++++++++++++++++++++++-------------- - 1 file changed, 66 insertions(+), 24 deletions(-) - -diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c -index 7e89288..16c2c66 100644 ---- a/drivers/hid/hid-core.c -+++ b/drivers/hid/hid-core.c -@@ -1075,7 +1075,7 @@ static u32 s32ton(__s32 value, unsigned n) - * Extract/implement a data field from/to a little endian report (bit array). - * - * Code sort-of follows HID spec: -- * http://www.usb.org/developers/devclass_docs/HID1_11.pdf -+ * http://www.usb.org/developers/hidpage/HID1_11.pdf - * - * While the USB HID spec allows unlimited length bit fields in "report - * descriptors", most devices never use more than 16 bits. -@@ -1083,20 +1083,37 @@ static u32 s32ton(__s32 value, unsigned n) - * Search linux-kernel and linux-usb-devel archives for "hid-core extract". - */ - --__u32 hid_field_extract(const struct hid_device *hid, __u8 *report, -- unsigned offset, unsigned n) --{ -- u64 x; -+static u32 __extract(u8 *report, unsigned offset, int n) -+{ -+ unsigned int idx = offset / 8; -+ unsigned int bit_nr = 0; -+ unsigned int bit_shift = offset % 8; -+ int bits_to_copy = 8 - bit_shift; -+ u32 value = 0; -+ u32 mask = n < 32 ? (1U << n) - 1 : ~0U; -+ -+ while (n > 0) { -+ value |= ((u32)report[idx] >> bit_shift) << bit_nr; -+ n -= bits_to_copy; -+ bit_nr += bits_to_copy; -+ bits_to_copy = 8; -+ bit_shift = 0; -+ idx++; -+ } -+ -+ return value & mask; -+} - -- if (n > 32) -+u32 hid_field_extract(const struct hid_device *hid, u8 *report, -+ unsigned offset, unsigned n) -+{ -+ if (n > 32) { - hid_warn(hid, "hid_field_extract() called with n (%d) > 32! (%s)\n", - n, current->comm); -+ n = 32; -+ } - -- report += offset >> 3; /* adjust byte index */ -- offset &= 7; /* now only need bit offset into one byte */ -- x = get_unaligned_le64(report); -- x = (x >> offset) & ((1ULL << n) - 1); /* extract bit field */ -- return (u32) x; -+ return __extract(report, offset, n); - } - EXPORT_SYMBOL_GPL(hid_field_extract); - -@@ -1106,31 +1123,56 @@ EXPORT_SYMBOL_GPL(hid_field_extract); - * The data mangled in the bit stream remains in little endian - * order the whole time. It make more sense to talk about - * endianness of register values by considering a register -- * a "cached" copy of the little endiad bit stream. -+ * a "cached" copy of the little endian bit stream. - */ --static void implement(const struct hid_device *hid, __u8 *report, -- unsigned offset, unsigned n, __u32 value) -+ -+static void __implement(u8 *report, unsigned offset, int n, u32 value) -+{ -+ unsigned int idx = offset / 8; -+ unsigned int size = offset + n; -+ unsigned int bit_shift = offset % 8; -+ int bits_to_set = 8 - bit_shift; -+ u8 bit_mask = 0xff << bit_shift; -+ -+ while (n - bits_to_set >= 0) { -+ report[idx] &= ~bit_mask; -+ report[idx] |= value << bit_shift; -+ value >>= bits_to_set; -+ n -= bits_to_set; -+ bits_to_set = 8; -+ bit_mask = 0xff; -+ bit_shift = 0; -+ idx++; -+ } -+ -+ /* last nibble */ -+ if (n) { -+ if (size % 8) -+ bit_mask &= (1U << (size % 8)) - 1; -+ report[idx] &= ~bit_mask; -+ report[idx] |= (value << bit_shift) & bit_mask; -+ } -+} -+ -+static void implement(const struct hid_device *hid, u8 *report, -+ unsigned offset, unsigned n, u32 value) - { -- u64 x; -- u64 m = (1ULL << n) - 1; -+ u64 m; - -- if (n > 32) -+ if (n > 32) { - hid_warn(hid, "%s() called with n (%d) > 32! (%s)\n", - __func__, n, current->comm); -+ n = 32; -+ } - -+ m = (1ULL << n) - 1; - if (value > m) - hid_warn(hid, "%s() called with too large value %d! (%s)\n", - __func__, value, current->comm); - WARN_ON(value > m); - value &= m; - -- report += offset >> 3; -- offset &= 7; -- -- x = get_unaligned_le64(report); -- x &= ~(m << offset); -- x |= ((u64)value) << offset; -- put_unaligned_le64(x, report); -+ __implement(report, offset, n, value); - } - - /* --- -2.5.5 - diff --git a/patches.backports/0001-Input-byd-add-BYD-PS-2-touchpad-driver.patch b/patches.backports/0001-Input-byd-add-BYD-PS-2-touchpad-driver.patch deleted file mode 100644 index b147b8b..0000000 --- a/patches.backports/0001-Input-byd-add-BYD-PS-2-touchpad-driver.patch +++ /dev/null @@ -1,487 +0,0 @@ -From 98ee377144935857d8ad5d7d70cdab1da4ede32e Mon Sep 17 00:00:00 2001 -From: Chris Diamand -Date: Wed, 27 Jan 2016 17:04:35 -0800 -Subject: [PATCH] Input: byd - add BYD PS/2 touchpad driver -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Driver for the BYD BTP10463 touchpad, found in PC Specialist `Lafite' -laptops. This patch sends the magic command sequence which causes the -touchpad to stream intellimouse-style packets. - -Gestures are detected inside the touchpad, and exposed as special -values in the Z component of each packet - absolute coordinates are -not supported, even in the Windows driver. At present, this supports -two-finger vertical and horizontal scrolling, and provides the -framework to expose the other gestures it can recognize. - -Signed-off-by: Chris Diamand -Signed-off-by: Dmitry Torokhov -[backport to 4.4] -Signed-off-by: Marek Marczykowski-Górecki ---- - drivers/input/mouse/Kconfig | 10 ++ - drivers/input/mouse/Makefile | 1 + - drivers/input/mouse/byd.c | 337 +++++++++++++++++++++++++++++++++++++ - drivers/input/mouse/byd.h | 18 ++ - drivers/input/mouse/psmouse-base.c | 14 ++ - drivers/input/mouse/psmouse.h | 1 + - 6 files changed, 381 insertions(+) - create mode 100644 drivers/input/mouse/byd.c - create mode 100644 drivers/input/mouse/byd.h - -diff --git a/drivers/input/mouse/Kconfig b/drivers/input/mouse/Kconfig -index 17f97e5..096abb4 100644 ---- a/drivers/input/mouse/Kconfig -+++ b/drivers/input/mouse/Kconfig -@@ -48,6 +48,16 @@ config MOUSE_PS2_ALPS - - If unsure, say Y. - -+config MOUSE_PS2_BYD -+ bool "BYD PS/2 mouse protocol extension" if EXPERT -+ default y -+ depends on MOUSE_PS2 -+ help -+ Say Y here if you have a BYD PS/2 touchpad connected to -+ your system. -+ -+ If unsure, say Y. -+ - config MOUSE_PS2_LOGIPS2PP - bool "Logitech PS/2++ mouse protocol extension" if EXPERT - default y -diff --git a/drivers/input/mouse/Makefile b/drivers/input/mouse/Makefile -index ee6a6e9..6168b13 100644 ---- a/drivers/input/mouse/Makefile -+++ b/drivers/input/mouse/Makefile -@@ -28,6 +28,7 @@ cyapatp-objs := cyapa.o cyapa_gen3.o cyapa_gen5.o cyapa_gen6.o - psmouse-objs := psmouse-base.o synaptics.o focaltech.o - - psmouse-$(CONFIG_MOUSE_PS2_ALPS) += alps.o -+psmouse-$(CONFIG_MOUSE_PS2_BYD) += byd.o - psmouse-$(CONFIG_MOUSE_PS2_ELANTECH) += elantech.o - psmouse-$(CONFIG_MOUSE_PS2_OLPC) += hgpk.o - psmouse-$(CONFIG_MOUSE_PS2_LOGIPS2PP) += logips2pp.o -diff --git a/drivers/input/mouse/byd.c b/drivers/input/mouse/byd.c -new file mode 100644 -index 0000000..9425e0f ---- /dev/null -+++ b/drivers/input/mouse/byd.c -@@ -0,0 +1,337 @@ -+/* -+ * BYD TouchPad PS/2 mouse driver -+ * -+ * Copyright (C) 2015 Chris Diamand -+ * -+ * This program is free software; you can redistribute it and/or modify it -+ * under the terms of the GNU General Public License version 2 as published by -+ * the Free Software Foundation. -+ */ -+ -+#include -+#include -+#include -+#include -+ -+#include "psmouse.h" -+#include "byd.h" -+ -+#define PS2_Y_OVERFLOW BIT_MASK(7) -+#define PS2_X_OVERFLOW BIT_MASK(6) -+#define PS2_Y_SIGN BIT_MASK(5) -+#define PS2_X_SIGN BIT_MASK(4) -+#define PS2_ALWAYS_1 BIT_MASK(3) -+#define PS2_MIDDLE BIT_MASK(2) -+#define PS2_RIGHT BIT_MASK(1) -+#define PS2_LEFT BIT_MASK(0) -+ -+/* -+ * The touchpad reports gestures in the last byte of each packet. It can take -+ * any of the following values: -+ */ -+ -+/* One-finger scrolling in one of the edge scroll zones. */ -+#define BYD_SCROLLUP 0xCA -+#define BYD_SCROLLDOWN 0x36 -+#define BYD_SCROLLLEFT 0xCB -+#define BYD_SCROLLRIGHT 0x35 -+/* Two-finger scrolling. */ -+#define BYD_2DOWN 0x2B -+#define BYD_2UP 0xD5 -+#define BYD_2LEFT 0xD6 -+#define BYD_2RIGHT 0x2A -+/* Pinching in or out. */ -+#define BYD_ZOOMOUT 0xD8 -+#define BYD_ZOOMIN 0x28 -+/* Three-finger swipe. */ -+#define BYD_3UP 0xD3 -+#define BYD_3DOWN 0x2D -+#define BYD_3LEFT 0xD4 -+#define BYD_3RIGHT 0x2C -+/* Four-finger swipe. */ -+#define BYD_4UP 0xCD -+#define BYD_4DOWN 0x33 -+ -+int byd_detect(struct psmouse *psmouse, bool set_properties) -+{ -+ struct ps2dev *ps2dev = &psmouse->ps2dev; -+ unsigned char param[4]; -+ -+ param[0] = 0x03; -+ param[1] = 0x00; -+ param[2] = 0x00; -+ param[3] = 0x00; -+ -+ if (ps2_command(ps2dev, param, PSMOUSE_CMD_SETRES)) -+ return -1; -+ if (ps2_command(ps2dev, param, PSMOUSE_CMD_SETRES)) -+ return -1; -+ if (ps2_command(ps2dev, param, PSMOUSE_CMD_SETRES)) -+ return -1; -+ if (ps2_command(ps2dev, param, PSMOUSE_CMD_SETRES)) -+ return -1; -+ if (ps2_command(ps2dev, param, PSMOUSE_CMD_GETINFO)) -+ return -1; -+ -+ if (param[1] != 0x03 || param[2] != 0x64) -+ return -ENODEV; -+ -+ psmouse_dbg(psmouse, "BYD touchpad detected\n"); -+ -+ if (set_properties) { -+ psmouse->vendor = "BYD"; -+ psmouse->name = "TouchPad"; -+ } -+ -+ return 0; -+} -+ -+static psmouse_ret_t byd_process_byte(struct psmouse *psmouse) -+{ -+ struct input_dev *dev = psmouse->dev; -+ u8 *pkt = psmouse->packet; -+ -+ if (psmouse->pktcnt > 0 && !(pkt[0] & PS2_ALWAYS_1)) { -+ psmouse_warn(psmouse, "Always_1 bit not 1. pkt[0] = %02x\n", -+ pkt[0]); -+ return PSMOUSE_BAD_DATA; -+ } -+ -+ if (psmouse->pktcnt < psmouse->pktsize) -+ return PSMOUSE_GOOD_DATA; -+ -+ /* Otherwise, a full packet has been received */ -+ switch (pkt[3]) { -+ case 0: { -+ /* Standard packet */ -+ /* Sign-extend if a sign bit is set. */ -+ unsigned int signx = pkt[0] & PS2_X_SIGN ? ~0xFF : 0; -+ unsigned int signy = pkt[0] & PS2_Y_SIGN ? ~0xFF : 0; -+ int dx = signx | (int) pkt[1]; -+ int dy = signy | (int) pkt[2]; -+ -+ input_report_rel(psmouse->dev, REL_X, dx); -+ input_report_rel(psmouse->dev, REL_Y, -dy); -+ -+ input_report_key(psmouse->dev, BTN_LEFT, pkt[0] & PS2_LEFT); -+ input_report_key(psmouse->dev, BTN_RIGHT, pkt[0] & PS2_RIGHT); -+ input_report_key(psmouse->dev, BTN_MIDDLE, pkt[0] & PS2_MIDDLE); -+ break; -+ } -+ -+ case BYD_SCROLLDOWN: -+ case BYD_2DOWN: -+ input_report_rel(dev, REL_WHEEL, -1); -+ break; -+ -+ case BYD_SCROLLUP: -+ case BYD_2UP: -+ input_report_rel(dev, REL_WHEEL, 1); -+ break; -+ -+ case BYD_SCROLLLEFT: -+ case BYD_2LEFT: -+ input_report_rel(dev, REL_HWHEEL, -1); -+ break; -+ -+ case BYD_SCROLLRIGHT: -+ case BYD_2RIGHT: -+ input_report_rel(dev, REL_HWHEEL, 1); -+ break; -+ -+ case BYD_ZOOMOUT: -+ case BYD_ZOOMIN: -+ case BYD_3UP: -+ case BYD_3DOWN: -+ case BYD_3LEFT: -+ case BYD_3RIGHT: -+ case BYD_4UP: -+ case BYD_4DOWN: -+ break; -+ -+ default: -+ psmouse_warn(psmouse, -+ "Unrecognized Z: pkt = %02x %02x %02x %02x\n", -+ psmouse->packet[0], psmouse->packet[1], -+ psmouse->packet[2], psmouse->packet[3]); -+ return PSMOUSE_BAD_DATA; -+ } -+ -+ input_sync(dev); -+ -+ return PSMOUSE_FULL_PACKET; -+} -+ -+/* Send a sequence of bytes, where each is ACKed before the next is sent. */ -+static int byd_send_sequence(struct psmouse *psmouse, const u8 *seq, size_t len) -+{ -+ unsigned int i; -+ -+ for (i = 0; i < len; ++i) { -+ if (ps2_command(&psmouse->ps2dev, NULL, seq[i])) -+ return -1; -+ } -+ return 0; -+} -+ -+/* Keep scrolling after fingers are removed. */ -+#define SCROLL_INERTIAL 0x01 -+#define SCROLL_NO_INERTIAL 0x02 -+ -+/* Clicking can be done by tapping or pressing. */ -+#define CLICK_BOTH 0x01 -+/* Clicking can only be done by pressing. */ -+#define CLICK_PRESS_ONLY 0x02 -+ -+static int byd_enable(struct psmouse *psmouse) -+{ -+ const u8 seq1[] = { 0xE2, 0x00, 0xE0, 0x02, 0xE0 }; -+ const u8 seq2[] = { -+ 0xD3, 0x01, -+ 0xD0, 0x00, -+ 0xD0, 0x04, -+ /* Whether clicking is done by tapping or pressing. */ -+ 0xD4, CLICK_PRESS_ONLY, -+ 0xD5, 0x01, -+ 0xD7, 0x03, -+ /* Vertical and horizontal one-finger scroll zone inertia. */ -+ 0xD8, SCROLL_INERTIAL, -+ 0xDA, 0x05, -+ 0xDB, 0x02, -+ 0xE4, 0x05, -+ 0xD6, 0x01, -+ 0xDE, 0x04, -+ 0xE3, 0x01, -+ 0xCF, 0x00, -+ 0xD2, 0x03, -+ /* Vertical and horizontal two-finger scrolling inertia. */ -+ 0xE5, SCROLL_INERTIAL, -+ 0xD9, 0x02, -+ 0xD9, 0x07, -+ 0xDC, 0x03, -+ 0xDD, 0x03, -+ 0xDF, 0x03, -+ 0xE1, 0x03, -+ 0xD1, 0x00, -+ 0xCE, 0x00, -+ 0xCC, 0x00, -+ 0xE0, 0x00, -+ 0xE2, 0x01 -+ }; -+ u8 param[4]; -+ -+ if (byd_send_sequence(psmouse, seq1, ARRAY_SIZE(seq1))) -+ return -1; -+ -+ /* Send a 0x01 command, which should return 4 bytes. */ -+ if (ps2_command(&psmouse->ps2dev, param, 0x0401)) -+ return -1; -+ -+ if (byd_send_sequence(psmouse, seq2, ARRAY_SIZE(seq2))) -+ return -1; -+ -+ return 0; -+} -+ -+/* -+ * Send the set of PS/2 commands required to make it identify as an -+ * intellimouse with 4-byte instead of 3-byte packets. -+ */ -+static int byd_send_intellimouse_sequence(struct psmouse *psmouse) -+{ -+ struct ps2dev *ps2dev = &psmouse->ps2dev; -+ u8 param[4]; -+ int i; -+ const struct { -+ u16 command; -+ u8 arg; -+ } seq[] = { -+ { PSMOUSE_CMD_RESET_BAT, 0 }, -+ { PSMOUSE_CMD_RESET_BAT, 0 }, -+ { PSMOUSE_CMD_GETID, 0 }, -+ { PSMOUSE_CMD_SETSCALE11, 0 }, -+ { PSMOUSE_CMD_SETSCALE11, 0 }, -+ { PSMOUSE_CMD_SETSCALE11, 0 }, -+ { PSMOUSE_CMD_GETINFO, 0 }, -+ { PSMOUSE_CMD_SETRES, 0x03 }, -+ { PSMOUSE_CMD_SETRATE, 0xC8 }, -+ { PSMOUSE_CMD_SETRATE, 0x64 }, -+ { PSMOUSE_CMD_SETRATE, 0x50 }, -+ { PSMOUSE_CMD_GETID, 0 }, -+ { PSMOUSE_CMD_SETRATE, 0xC8 }, -+ { PSMOUSE_CMD_SETRATE, 0xC8 }, -+ { PSMOUSE_CMD_SETRATE, 0x50 }, -+ { PSMOUSE_CMD_GETID, 0 }, -+ { PSMOUSE_CMD_SETRATE, 0x64 }, -+ { PSMOUSE_CMD_SETRES, 0x03 }, -+ { PSMOUSE_CMD_ENABLE, 0 } -+ }; -+ -+ memset(param, 0, sizeof(param)); -+ for (i = 0; i < ARRAY_SIZE(seq); ++i) { -+ param[0] = seq[i].arg; -+ if (ps2_command(ps2dev, param, seq[i].command)) -+ return -1; -+ } -+ -+ return 0; -+} -+ -+static int byd_reset_touchpad(struct psmouse *psmouse) -+{ -+ if (byd_send_intellimouse_sequence(psmouse)) -+ return -EIO; -+ -+ if (byd_enable(psmouse)) -+ return -EIO; -+ -+ return 0; -+} -+ -+static int byd_reconnect(struct psmouse *psmouse) -+{ -+ int retry = 0, error = 0; -+ -+ psmouse_dbg(psmouse, "Reconnect\n"); -+ do { -+ psmouse_reset(psmouse); -+ if (retry) -+ ssleep(1); -+ error = byd_detect(psmouse, 0); -+ } while (error && ++retry < 3); -+ -+ if (error) -+ return error; -+ -+ psmouse_dbg(psmouse, "Reconnected after %d attempts\n", retry); -+ -+ error = byd_reset_touchpad(psmouse); -+ if (error) { -+ psmouse_err(psmouse, "Unable to initialize device\n"); -+ return error; -+ } -+ -+ return 0; -+} -+ -+int byd_init(struct psmouse *psmouse) -+{ -+ struct input_dev *dev = psmouse->dev; -+ -+ if (psmouse_reset(psmouse)) -+ return -EIO; -+ -+ if (byd_reset_touchpad(psmouse)) -+ return -EIO; -+ -+ psmouse->reconnect = byd_reconnect; -+ psmouse->protocol_handler = byd_process_byte; -+ psmouse->pktsize = 4; -+ psmouse->resync_time = 0; -+ -+ __set_bit(BTN_MIDDLE, dev->keybit); -+ __set_bit(REL_WHEEL, dev->relbit); -+ __set_bit(REL_HWHEEL, dev->relbit); -+ -+ return 0; -+} -diff --git a/drivers/input/mouse/byd.h b/drivers/input/mouse/byd.h -new file mode 100644 -index 0000000..d6c120c ---- /dev/null -+++ b/drivers/input/mouse/byd.h -@@ -0,0 +1,18 @@ -+#ifndef _BYD_H -+#define _BYD_H -+ -+#ifdef CONFIG_MOUSE_PS2_BYD -+int byd_detect(struct psmouse *psmouse, bool set_properties); -+int byd_init(struct psmouse *psmouse); -+#else -+static inline int byd_detect(struct psmouse *psmouse, bool set_properties) -+{ -+ return -ENOSYS; -+} -+static inline int byd_init(struct psmouse *psmouse) -+{ -+ return -ENOSYS; -+} -+#endif /* CONFIG_MOUSE_PS2_BYD */ -+ -+#endif /* _BYD_H */ -diff --git a/drivers/input/mouse/psmouse-base.c b/drivers/input/mouse/psmouse-base.c -index b9e4ee3..39d1bec 100644 ---- a/drivers/input/mouse/psmouse-base.c -+++ b/drivers/input/mouse/psmouse-base.c -@@ -37,6 +37,7 @@ - #include "cypress_ps2.h" - #include "focaltech.h" - #include "vmmouse.h" -+#include "byd.h" - - #define DRIVER_DESC "PS/2 mouse driver" - -@@ -920,6 +921,11 @@ static int psmouse_extensions(struct psm - if (psmouse_do_detect(touchkit_ps2_detect, - psmouse, set_properties) == 0) - return PSMOUSE_TOUCHKIT_PS2; -+ -+ if (psmouse_do_detect(byd_detect, -+ psmouse, set_properties) == 0) -+ if (!set_properties || byd_init(psmouse) == 0) -+ return PSMOUSE_BYD; - } - - /* -@@ -1130,6 +1136,15 @@ static const struct psmouse_protocol psmouse_protocols[] = { - .init = vmmouse_init, - }, - #endif -+#ifdef CONFIG_MOUSE_PS2_BYD -+ { -+ .type = PSMOUSE_BYD, -+ .name = "BydPS/2", -+ .alias = "byd", -+ .detect = byd_detect, -+ .init = byd_init, -+ }, -+#endif - { - .type = PSMOUSE_AUTO, - .name = "auto", -diff --git a/drivers/input/mouse/psmouse.h b/drivers/input/mouse/psmouse.h -index ad5a5a1..e0ca6cd 100644 ---- a/drivers/input/mouse/psmouse.h -+++ b/drivers/input/mouse/psmouse.h -@@ -104,6 +104,7 @@ enum psmouse_type { - PSMOUSE_CYPRESS, - PSMOUSE_FOCALTECH, - PSMOUSE_VMMOUSE, -+ PSMOUSE_BYD, - PSMOUSE_AUTO /* This one should always be last */ - }; - --- -2.5.5 diff --git a/patches.backports/0002-Input-byd-enable-absolute-mode.patch b/patches.backports/0002-Input-byd-enable-absolute-mode.patch deleted file mode 100644 index 01f1bd7..0000000 --- a/patches.backports/0002-Input-byd-enable-absolute-mode.patch +++ /dev/null @@ -1,710 +0,0 @@ -From 2d5f5611dd0de52e9a52b56391a7049a52184e72 Mon Sep 17 00:00:00 2001 -From: Richard Pospesel -Date: Mon, 14 Mar 2016 09:41:16 -0700 -Subject: [PATCH] Input: byd - enable absolute mode -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -The Windows driver's settings dialog contains a visualization of the -regions for the hardware edge scrolling capability, which uses a -temporarily-enabled limited-resolution absolute mode. - -This patch enables this during normal operation, and combines the -absolute packets with the existing relative packets to provide -accurate absolute position and touch reporting. - -It also adds documentation for all known gesture packets and -initialization commands. - -Reviewed-by: Chris Diamand -Signed-off-by: Richard Pospesel -Signed-off-by: Dmitry Torokhov ---- - drivers/input/mouse/byd.c | 565 ++++++++++++++++++++++++------------- - drivers/input/mouse/psmouse-base.c | 2 +- - 2 files changed, 369 insertions(+), 198 deletions(-) - -diff --git a/drivers/input/mouse/byd.c b/drivers/input/mouse/byd.c -index 9425e0f..fdc243c 100644 ---- a/drivers/input/mouse/byd.c -+++ b/drivers/input/mouse/byd.c -@@ -12,10 +12,12 @@ - #include - #include - #include -+#include - - #include "psmouse.h" - #include "byd.h" - -+/* PS2 Bits */ - #define PS2_Y_OVERFLOW BIT_MASK(7) - #define PS2_X_OVERFLOW BIT_MASK(6) - #define PS2_Y_SIGN BIT_MASK(5) -@@ -26,69 +28,249 @@ - #define PS2_LEFT BIT_MASK(0) - - /* -- * The touchpad reports gestures in the last byte of each packet. It can take -- * any of the following values: -+ * BYD pad constants - */ - --/* One-finger scrolling in one of the edge scroll zones. */ --#define BYD_SCROLLUP 0xCA --#define BYD_SCROLLDOWN 0x36 --#define BYD_SCROLLLEFT 0xCB --#define BYD_SCROLLRIGHT 0x35 --/* Two-finger scrolling. */ --#define BYD_2DOWN 0x2B --#define BYD_2UP 0xD5 --#define BYD_2LEFT 0xD6 --#define BYD_2RIGHT 0x2A --/* Pinching in or out. */ --#define BYD_ZOOMOUT 0xD8 --#define BYD_ZOOMIN 0x28 --/* Three-finger swipe. */ --#define BYD_3UP 0xD3 --#define BYD_3DOWN 0x2D --#define BYD_3LEFT 0xD4 --#define BYD_3RIGHT 0x2C --/* Four-finger swipe. */ --#define BYD_4UP 0xCD --#define BYD_4DOWN 0x33 -+/* -+ * True device resolution is unknown, however experiments show the -+ * resolution is about 111 units/mm. -+ * Absolute coordinate packets are in the range 0-255 for both X and Y -+ * we pick ABS_X/ABS_Y dimensions which are multiples of 256 and in -+ * the right ballpark given the touchpad's physical dimensions and estimate -+ * resolution per spec sheet, device active area dimensions are -+ * 101.6 x 60.1 mm. -+ */ -+#define BYD_PAD_WIDTH 11264 -+#define BYD_PAD_HEIGHT 6656 -+#define BYD_PAD_RESOLUTION 111 - --int byd_detect(struct psmouse *psmouse, bool set_properties) -+/* -+ * Given the above dimensions, relative packets velocity is in multiples of -+ * 1 unit / 11 milliseconds. We use this dt to estimate distance traveled -+ */ -+#define BYD_DT 11 -+/* Time in jiffies used to timeout various touch events (64 ms) */ -+#define BYD_TOUCH_TIMEOUT msecs_to_jiffies(64) -+ -+/* BYD commands reverse engineered from windows driver */ -+ -+/* -+ * Swipe gesture from off-pad to on-pad -+ * 0 : disable -+ * 1 : enable -+ */ -+#define BYD_CMD_SET_OFFSCREEN_SWIPE 0x10cc -+/* -+ * Tap and drag delay time -+ * 0 : disable -+ * 1 - 8 : least to most delay -+ */ -+#define BYD_CMD_SET_TAP_DRAG_DELAY_TIME 0x10cf -+/* -+ * Physical buttons function mapping -+ * 0 : enable -+ * 4 : normal -+ * 5 : left button custom command -+ * 6 : right button custom command -+ * 8 : disable -+ */ -+#define BYD_CMD_SET_PHYSICAL_BUTTONS 0x10d0 -+/* -+ * Absolute mode (1 byte X/Y resolution) -+ * 0 : disable -+ * 2 : enable -+ */ -+#define BYD_CMD_SET_ABSOLUTE_MODE 0x10d1 -+/* -+ * Two finger scrolling -+ * 1 : vertical -+ * 2 : horizontal -+ * 3 : vertical + horizontal -+ * 4 : disable -+ */ -+#define BYD_CMD_SET_TWO_FINGER_SCROLL 0x10d2 -+/* -+ * Handedness -+ * 1 : right handed -+ * 2 : left handed -+ */ -+#define BYD_CMD_SET_HANDEDNESS 0x10d3 -+/* -+ * Tap to click -+ * 1 : enable -+ * 2 : disable -+ */ -+#define BYD_CMD_SET_TAP 0x10d4 -+/* -+ * Tap and drag -+ * 1 : tap and hold to drag -+ * 2 : tap and hold to drag + lock -+ * 3 : disable -+ */ -+#define BYD_CMD_SET_TAP_DRAG 0x10d5 -+/* -+ * Touch sensitivity -+ * 1 - 7 : least to most sensitive -+ */ -+#define BYD_CMD_SET_TOUCH_SENSITIVITY 0x10d6 -+/* -+ * One finger scrolling -+ * 1 : vertical -+ * 2 : horizontal -+ * 3 : vertical + horizontal -+ * 4 : disable -+ */ -+#define BYD_CMD_SET_ONE_FINGER_SCROLL 0x10d7 -+/* -+ * One finger scrolling function -+ * 1 : free scrolling -+ * 2 : edge motion -+ * 3 : free scrolling + edge motion -+ * 4 : disable -+ */ -+#define BYD_CMD_SET_ONE_FINGER_SCROLL_FUNC 0x10d8 -+/* -+ * Sliding speed -+ * 1 - 5 : slowest to fastest -+ */ -+#define BYD_CMD_SET_SLIDING_SPEED 0x10da -+/* -+ * Edge motion -+ * 1 : disable -+ * 2 : enable when dragging -+ * 3 : enable when dragging and pointing -+ */ -+#define BYD_CMD_SET_EDGE_MOTION 0x10db -+/* -+ * Left edge region size -+ * 0 - 7 : smallest to largest width -+ */ -+#define BYD_CMD_SET_LEFT_EDGE_REGION 0x10dc -+/* -+ * Top edge region size -+ * 0 - 9 : smallest to largest height -+ */ -+#define BYD_CMD_SET_TOP_EDGE_REGION 0x10dd -+/* -+ * Disregard palm press as clicks -+ * 1 - 6 : smallest to largest -+ */ -+#define BYD_CMD_SET_PALM_CHECK 0x10de -+/* -+ * Right edge region size -+ * 0 - 7 : smallest to largest width -+ */ -+#define BYD_CMD_SET_RIGHT_EDGE_REGION 0x10df -+/* -+ * Bottom edge region size -+ * 0 - 9 : smallest to largest height -+ */ -+#define BYD_CMD_SET_BOTTOM_EDGE_REGION 0x10e1 -+/* -+ * Multitouch gestures -+ * 1 : enable -+ * 2 : disable -+ */ -+#define BYD_CMD_SET_MULTITOUCH 0x10e3 -+/* -+ * Edge motion speed -+ * 0 : control with finger pressure -+ * 1 - 9 : slowest to fastest -+ */ -+#define BYD_CMD_SET_EDGE_MOTION_SPEED 0x10e4 -+/* -+ * Two finger scolling function -+ * 0 : free scrolling -+ * 1 : free scrolling (with momentum) -+ * 2 : edge motion -+ * 3 : free scrolling (with momentum) + edge motion -+ * 4 : disable -+ */ -+#define BYD_CMD_SET_TWO_FINGER_SCROLL_FUNC 0x10e5 -+ -+/* -+ * The touchpad generates a mixture of absolute and relative packets, indicated -+ * by the the last byte of each packet being set to one of the following: -+ */ -+#define BYD_PACKET_ABSOLUTE 0xf8 -+#define BYD_PACKET_RELATIVE 0x00 -+/* Multitouch gesture packets */ -+#define BYD_PACKET_PINCH_IN 0xd8 -+#define BYD_PACKET_PINCH_OUT 0x28 -+#define BYD_PACKET_ROTATE_CLOCKWISE 0x29 -+#define BYD_PACKET_ROTATE_ANTICLOCKWISE 0xd7 -+#define BYD_PACKET_TWO_FINGER_SCROLL_RIGHT 0x2a -+#define BYD_PACKET_TWO_FINGER_SCROLL_DOWN 0x2b -+#define BYD_PACKET_TWO_FINGER_SCROLL_UP 0xd5 -+#define BYD_PACKET_TWO_FINGER_SCROLL_LEFT 0xd6 -+#define BYD_PACKET_THREE_FINGER_SWIPE_RIGHT 0x2c -+#define BYD_PACKET_THREE_FINGER_SWIPE_DOWN 0x2d -+#define BYD_PACKET_THREE_FINGER_SWIPE_UP 0xd3 -+#define BYD_PACKET_THREE_FINGER_SWIPE_LEFT 0xd4 -+#define BYD_PACKET_FOUR_FINGER_DOWN 0x33 -+#define BYD_PACKET_FOUR_FINGER_UP 0xcd -+#define BYD_PACKET_REGION_SCROLL_RIGHT 0x35 -+#define BYD_PACKET_REGION_SCROLL_DOWN 0x36 -+#define BYD_PACKET_REGION_SCROLL_UP 0xca -+#define BYD_PACKET_REGION_SCROLL_LEFT 0xcb -+#define BYD_PACKET_RIGHT_CORNER_CLICK 0xd2 -+#define BYD_PACKET_LEFT_CORNER_CLICK 0x2e -+#define BYD_PACKET_LEFT_AND_RIGHT_CORNER_CLICK 0x2f -+#define BYD_PACKET_ONTO_PAD_SWIPE_RIGHT 0x37 -+#define BYD_PACKET_ONTO_PAD_SWIPE_DOWN 0x30 -+#define BYD_PACKET_ONTO_PAD_SWIPE_UP 0xd0 -+#define BYD_PACKET_ONTO_PAD_SWIPE_LEFT 0xc9 -+ -+struct byd_data { -+ struct timer_list timer; -+ s32 abs_x; -+ s32 abs_y; -+ typeof(jiffies) last_touch_time; -+ bool btn_left; -+ bool btn_right; -+ bool touch; -+}; -+ -+static void byd_report_input(struct psmouse *psmouse) - { -- struct ps2dev *ps2dev = &psmouse->ps2dev; -- unsigned char param[4]; -+ struct byd_data *priv = psmouse->private; -+ struct input_dev *dev = psmouse->dev; - -- param[0] = 0x03; -- param[1] = 0x00; -- param[2] = 0x00; -- param[3] = 0x00; -+ input_report_key(dev, BTN_TOUCH, priv->touch); -+ input_report_key(dev, BTN_TOOL_FINGER, priv->touch); - -- if (ps2_command(ps2dev, param, PSMOUSE_CMD_SETRES)) -- return -1; -- if (ps2_command(ps2dev, param, PSMOUSE_CMD_SETRES)) -- return -1; -- if (ps2_command(ps2dev, param, PSMOUSE_CMD_SETRES)) -- return -1; -- if (ps2_command(ps2dev, param, PSMOUSE_CMD_SETRES)) -- return -1; -- if (ps2_command(ps2dev, param, PSMOUSE_CMD_GETINFO)) -- return -1; -+ input_report_abs(dev, ABS_X, priv->abs_x); -+ input_report_abs(dev, ABS_Y, priv->abs_y); -+ input_report_key(dev, BTN_LEFT, priv->btn_left); -+ input_report_key(dev, BTN_RIGHT, priv->btn_right); - -- if (param[1] != 0x03 || param[2] != 0x64) -- return -ENODEV; -+ input_sync(dev); -+} - -- psmouse_dbg(psmouse, "BYD touchpad detected\n"); -+static void byd_clear_touch(unsigned long data) -+{ -+ struct psmouse *psmouse = (struct psmouse *)data; -+ struct byd_data *priv = psmouse->private; - -- if (set_properties) { -- psmouse->vendor = "BYD"; -- psmouse->name = "TouchPad"; -- } -+ serio_pause_rx(psmouse->ps2dev.serio); -+ priv->touch = false; - -- return 0; -+ byd_report_input(psmouse); -+ -+ serio_continue_rx(psmouse->ps2dev.serio); -+ -+ /* -+ * Move cursor back to center of pad when we lose touch - this -+ * specifically improves user experience when moving cursor with one -+ * finger, and pressing a button with another. -+ */ -+ priv->abs_x = BYD_PAD_WIDTH / 2; -+ priv->abs_y = BYD_PAD_HEIGHT / 2; - } - - static psmouse_ret_t byd_process_byte(struct psmouse *psmouse) - { -- struct input_dev *dev = psmouse->dev; -+ struct byd_data *priv = psmouse->private; - u8 *pkt = psmouse->packet; - - if (psmouse->pktcnt > 0 && !(pkt[0] & PS2_ALWAYS_1)) { -@@ -102,53 +284,34 @@ static psmouse_ret_t byd_process_byte(struct psmouse *psmouse) - - /* Otherwise, a full packet has been received */ - switch (pkt[3]) { -- case 0: { -+ case BYD_PACKET_ABSOLUTE: -+ /* Only use absolute packets for the start of movement. */ -+ if (!priv->touch) { -+ /* needed to detect tap */ -+ typeof(jiffies) tap_time = -+ priv->last_touch_time + BYD_TOUCH_TIMEOUT; -+ priv->touch = time_after(jiffies, tap_time); -+ -+ /* init abs position */ -+ priv->abs_x = pkt[1] * (BYD_PAD_WIDTH / 256); -+ priv->abs_y = (255 - pkt[2]) * (BYD_PAD_HEIGHT / 256); -+ } -+ break; -+ case BYD_PACKET_RELATIVE: { - /* Standard packet */ - /* Sign-extend if a sign bit is set. */ -- unsigned int signx = pkt[0] & PS2_X_SIGN ? ~0xFF : 0; -- unsigned int signy = pkt[0] & PS2_Y_SIGN ? ~0xFF : 0; -- int dx = signx | (int) pkt[1]; -- int dy = signy | (int) pkt[2]; -+ u32 signx = pkt[0] & PS2_X_SIGN ? ~0xFF : 0; -+ u32 signy = pkt[0] & PS2_Y_SIGN ? ~0xFF : 0; -+ s32 dx = signx | (int) pkt[1]; -+ s32 dy = signy | (int) pkt[2]; - -- input_report_rel(psmouse->dev, REL_X, dx); -- input_report_rel(psmouse->dev, REL_Y, -dy); -+ /* Update position based on velocity */ -+ priv->abs_x += dx * BYD_DT; -+ priv->abs_y -= dy * BYD_DT; - -- input_report_key(psmouse->dev, BTN_LEFT, pkt[0] & PS2_LEFT); -- input_report_key(psmouse->dev, BTN_RIGHT, pkt[0] & PS2_RIGHT); -- input_report_key(psmouse->dev, BTN_MIDDLE, pkt[0] & PS2_MIDDLE); -+ priv->touch = true; - break; - } -- -- case BYD_SCROLLDOWN: -- case BYD_2DOWN: -- input_report_rel(dev, REL_WHEEL, -1); -- break; -- -- case BYD_SCROLLUP: -- case BYD_2UP: -- input_report_rel(dev, REL_WHEEL, 1); -- break; -- -- case BYD_SCROLLLEFT: -- case BYD_2LEFT: -- input_report_rel(dev, REL_HWHEEL, -1); -- break; -- -- case BYD_SCROLLRIGHT: -- case BYD_2RIGHT: -- input_report_rel(dev, REL_HWHEEL, 1); -- break; -- -- case BYD_ZOOMOUT: -- case BYD_ZOOMIN: -- case BYD_3UP: -- case BYD_3DOWN: -- case BYD_3LEFT: -- case BYD_3RIGHT: -- case BYD_4UP: -- case BYD_4DOWN: -- break; -- - default: - psmouse_warn(psmouse, - "Unrecognized Z: pkt = %02x %02x %02x %02x\n", -@@ -157,134 +320,76 @@ static psmouse_ret_t byd_process_byte(struct psmouse *psmouse) - return PSMOUSE_BAD_DATA; - } - -- input_sync(dev); -+ priv->btn_left = pkt[0] & PS2_LEFT; -+ priv->btn_right = pkt[0] & PS2_RIGHT; - -- return PSMOUSE_FULL_PACKET; --} -+ byd_report_input(psmouse); - --/* Send a sequence of bytes, where each is ACKed before the next is sent. */ --static int byd_send_sequence(struct psmouse *psmouse, const u8 *seq, size_t len) --{ -- unsigned int i; -- -- for (i = 0; i < len; ++i) { -- if (ps2_command(&psmouse->ps2dev, NULL, seq[i])) -- return -1; -+ /* Reset time since last touch. */ -+ if (priv->touch) { -+ priv->last_touch_time = jiffies; -+ mod_timer(&priv->timer, jiffies + BYD_TOUCH_TIMEOUT); - } -- return 0; --} -- --/* Keep scrolling after fingers are removed. */ --#define SCROLL_INERTIAL 0x01 --#define SCROLL_NO_INERTIAL 0x02 -- --/* Clicking can be done by tapping or pressing. */ --#define CLICK_BOTH 0x01 --/* Clicking can only be done by pressing. */ --#define CLICK_PRESS_ONLY 0x02 - --static int byd_enable(struct psmouse *psmouse) --{ -- const u8 seq1[] = { 0xE2, 0x00, 0xE0, 0x02, 0xE0 }; -- const u8 seq2[] = { -- 0xD3, 0x01, -- 0xD0, 0x00, -- 0xD0, 0x04, -- /* Whether clicking is done by tapping or pressing. */ -- 0xD4, CLICK_PRESS_ONLY, -- 0xD5, 0x01, -- 0xD7, 0x03, -- /* Vertical and horizontal one-finger scroll zone inertia. */ -- 0xD8, SCROLL_INERTIAL, -- 0xDA, 0x05, -- 0xDB, 0x02, -- 0xE4, 0x05, -- 0xD6, 0x01, -- 0xDE, 0x04, -- 0xE3, 0x01, -- 0xCF, 0x00, -- 0xD2, 0x03, -- /* Vertical and horizontal two-finger scrolling inertia. */ -- 0xE5, SCROLL_INERTIAL, -- 0xD9, 0x02, -- 0xD9, 0x07, -- 0xDC, 0x03, -- 0xDD, 0x03, -- 0xDF, 0x03, -- 0xE1, 0x03, -- 0xD1, 0x00, -- 0xCE, 0x00, -- 0xCC, 0x00, -- 0xE0, 0x00, -- 0xE2, 0x01 -- }; -- u8 param[4]; -- -- if (byd_send_sequence(psmouse, seq1, ARRAY_SIZE(seq1))) -- return -1; -- -- /* Send a 0x01 command, which should return 4 bytes. */ -- if (ps2_command(&psmouse->ps2dev, param, 0x0401)) -- return -1; -- -- if (byd_send_sequence(psmouse, seq2, ARRAY_SIZE(seq2))) -- return -1; -- -- return 0; -+ return PSMOUSE_FULL_PACKET; - } - --/* -- * Send the set of PS/2 commands required to make it identify as an -- * intellimouse with 4-byte instead of 3-byte packets. -- */ --static int byd_send_intellimouse_sequence(struct psmouse *psmouse) -+static int byd_reset_touchpad(struct psmouse *psmouse) - { - struct ps2dev *ps2dev = &psmouse->ps2dev; - u8 param[4]; -- int i; -+ size_t i; -+ - const struct { - u16 command; - u8 arg; - } seq[] = { -- { PSMOUSE_CMD_RESET_BAT, 0 }, -- { PSMOUSE_CMD_RESET_BAT, 0 }, -- { PSMOUSE_CMD_GETID, 0 }, -- { PSMOUSE_CMD_SETSCALE11, 0 }, -- { PSMOUSE_CMD_SETSCALE11, 0 }, -- { PSMOUSE_CMD_SETSCALE11, 0 }, -- { PSMOUSE_CMD_GETINFO, 0 }, -- { PSMOUSE_CMD_SETRES, 0x03 }, -+ /* -+ * Intellimouse initialization sequence, to get 4-byte instead -+ * of 3-byte packets. -+ */ - { PSMOUSE_CMD_SETRATE, 0xC8 }, - { PSMOUSE_CMD_SETRATE, 0x64 }, - { PSMOUSE_CMD_SETRATE, 0x50 }, - { PSMOUSE_CMD_GETID, 0 }, -- { PSMOUSE_CMD_SETRATE, 0xC8 }, -- { PSMOUSE_CMD_SETRATE, 0xC8 }, -- { PSMOUSE_CMD_SETRATE, 0x50 }, -- { PSMOUSE_CMD_GETID, 0 }, -- { PSMOUSE_CMD_SETRATE, 0x64 }, -- { PSMOUSE_CMD_SETRES, 0x03 }, -- { PSMOUSE_CMD_ENABLE, 0 } -+ { PSMOUSE_CMD_ENABLE, 0 }, -+ /* -+ * BYD-specific initialization, which enables absolute mode and -+ * (if desired), the touchpad's built-in gesture detection. -+ */ -+ { 0x10E2, 0x00 }, -+ { 0x10E0, 0x02 }, -+ /* The touchpad should reply with 4 seemingly-random bytes */ -+ { 0x14E0, 0x01 }, -+ /* Pairs of parameters and values. */ -+ { BYD_CMD_SET_HANDEDNESS, 0x01 }, -+ { BYD_CMD_SET_PHYSICAL_BUTTONS, 0x04 }, -+ { BYD_CMD_SET_TAP, 0x02 }, -+ { BYD_CMD_SET_ONE_FINGER_SCROLL, 0x04 }, -+ { BYD_CMD_SET_ONE_FINGER_SCROLL_FUNC, 0x04 }, -+ { BYD_CMD_SET_EDGE_MOTION, 0x01 }, -+ { BYD_CMD_SET_PALM_CHECK, 0x00 }, -+ { BYD_CMD_SET_MULTITOUCH, 0x02 }, -+ { BYD_CMD_SET_TWO_FINGER_SCROLL, 0x04 }, -+ { BYD_CMD_SET_TWO_FINGER_SCROLL_FUNC, 0x04 }, -+ { BYD_CMD_SET_LEFT_EDGE_REGION, 0x00 }, -+ { BYD_CMD_SET_TOP_EDGE_REGION, 0x00 }, -+ { BYD_CMD_SET_RIGHT_EDGE_REGION, 0x00 }, -+ { BYD_CMD_SET_BOTTOM_EDGE_REGION, 0x00 }, -+ { BYD_CMD_SET_ABSOLUTE_MODE, 0x02 }, -+ /* Finalize initialization. */ -+ { 0x10E0, 0x00 }, -+ { 0x10E2, 0x01 }, - }; - -- memset(param, 0, sizeof(param)); - for (i = 0; i < ARRAY_SIZE(seq); ++i) { -+ memset(param, 0, sizeof(param)); - param[0] = seq[i].arg; - if (ps2_command(ps2dev, param, seq[i].command)) -- return -1; -+ return -EIO; - } - -- return 0; --} -- --static int byd_reset_touchpad(struct psmouse *psmouse) --{ -- if (byd_send_intellimouse_sequence(psmouse)) -- return -EIO; -- -- if (byd_enable(psmouse)) -- return -EIO; -- -+ psmouse_set_state(psmouse, PSMOUSE_ACTIVATED); - return 0; - } - -@@ -314,9 +419,50 @@ static int byd_reconnect(struct psmouse *psmouse) - return 0; - } - -+static void byd_disconnect(struct psmouse *psmouse) -+{ -+ struct byd_data *priv = psmouse->private; -+ -+ if (priv) { -+ del_timer(&priv->timer); -+ kfree(psmouse->private); -+ psmouse->private = NULL; -+ } -+} -+ -+int byd_detect(struct psmouse *psmouse, bool set_properties) -+{ -+ struct ps2dev *ps2dev = &psmouse->ps2dev; -+ u8 param[4] = {0x03, 0x00, 0x00, 0x00}; -+ -+ if (ps2_command(ps2dev, param, PSMOUSE_CMD_SETRES)) -+ return -1; -+ if (ps2_command(ps2dev, param, PSMOUSE_CMD_SETRES)) -+ return -1; -+ if (ps2_command(ps2dev, param, PSMOUSE_CMD_SETRES)) -+ return -1; -+ if (ps2_command(ps2dev, param, PSMOUSE_CMD_SETRES)) -+ return -1; -+ if (ps2_command(ps2dev, param, PSMOUSE_CMD_GETINFO)) -+ return -1; -+ -+ if (param[1] != 0x03 || param[2] != 0x64) -+ return -ENODEV; -+ -+ psmouse_dbg(psmouse, "BYD touchpad detected\n"); -+ -+ if (set_properties) { -+ psmouse->vendor = "BYD"; -+ psmouse->name = "TouchPad"; -+ } -+ -+ return 0; -+} -+ - int byd_init(struct psmouse *psmouse) - { - struct input_dev *dev = psmouse->dev; -+ struct byd_data *priv; - - if (psmouse_reset(psmouse)) - return -EIO; -@@ -324,14 +470,39 @@ int byd_init(struct psmouse *psmouse) - if (byd_reset_touchpad(psmouse)) - return -EIO; - -+ priv = kzalloc(sizeof(*priv), GFP_KERNEL); -+ if (!priv) -+ return -ENOMEM; -+ -+ memset(priv, 0, sizeof(*priv)); -+ setup_timer(&priv->timer, byd_clear_touch, (unsigned long) psmouse); -+ -+ psmouse->private = priv; -+ psmouse->disconnect = byd_disconnect; - psmouse->reconnect = byd_reconnect; - psmouse->protocol_handler = byd_process_byte; - psmouse->pktsize = 4; - psmouse->resync_time = 0; - -- __set_bit(BTN_MIDDLE, dev->keybit); -- __set_bit(REL_WHEEL, dev->relbit); -- __set_bit(REL_HWHEEL, dev->relbit); -+ __set_bit(INPUT_PROP_POINTER, dev->propbit); -+ /* Touchpad */ -+ __set_bit(BTN_TOUCH, dev->keybit); -+ __set_bit(BTN_TOOL_FINGER, dev->keybit); -+ /* Buttons */ -+ __set_bit(BTN_LEFT, dev->keybit); -+ __set_bit(BTN_RIGHT, dev->keybit); -+ __clear_bit(BTN_MIDDLE, dev->keybit); -+ -+ /* Absolute position */ -+ __set_bit(EV_ABS, dev->evbit); -+ input_set_abs_params(dev, ABS_X, 0, BYD_PAD_WIDTH, 0, 0); -+ input_set_abs_params(dev, ABS_Y, 0, BYD_PAD_HEIGHT, 0, 0); -+ input_abs_set_res(dev, ABS_X, BYD_PAD_RESOLUTION); -+ input_abs_set_res(dev, ABS_Y, BYD_PAD_RESOLUTION); -+ /* No relative support */ -+ __clear_bit(EV_REL, dev->evbit); -+ __clear_bit(REL_X, dev->relbit); -+ __clear_bit(REL_Y, dev->relbit); - - return 0; - } -diff --git a/drivers/input/mouse/psmouse-base.c b/drivers/input/mouse/psmouse-base.c -index 39d1bec..5784e20 100644 ---- a/drivers/input/mouse/psmouse-base.c -+++ b/drivers/input/mouse/psmouse-base.c -@@ -846,7 +846,7 @@ static const struct psmouse_protocol psmouse_protocols[] = { - #ifdef CONFIG_MOUSE_PS2_BYD - { - .type = PSMOUSE_BYD, -- .name = "BydPS/2", -+ .name = "BYDPS/2", - .alias = "byd", - .detect = byd_detect, - .init = byd_init, --- -2.5.5 - diff --git a/patches.backports/0003-Input-byd-don-t-wipe-dynamically-allocated-memory-tw.patch b/patches.backports/0003-Input-byd-don-t-wipe-dynamically-allocated-memory-tw.patch deleted file mode 100644 index 591f8d8..0000000 --- a/patches.backports/0003-Input-byd-don-t-wipe-dynamically-allocated-memory-tw.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 5ad629a82de37cbcaffc17861e07b5ec68ab75f4 Mon Sep 17 00:00:00 2001 -From: Vladimir Zapolskiy -Date: Tue, 26 Apr 2016 09:50:31 -0700 -Subject: [PATCH] Input: byd - don't wipe dynamically allocated memory twice -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Since memory for a private data is allocated by kzalloc() there is no -need to fill it with zeroes immediately after the allocation. - -Signed-off-by: Vladimir Zapolskiy -Signed-off-by: Dmitry Torokhov ---- - drivers/input/mouse/byd.c | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/drivers/input/mouse/byd.c b/drivers/input/mouse/byd.c -index fdc243c..ec73f75 100644 ---- a/drivers/input/mouse/byd.c -+++ b/drivers/input/mouse/byd.c -@@ -474,7 +474,6 @@ int byd_init(struct psmouse *psmouse) - if (!priv) - return -ENOMEM; - -- memset(priv, 0, sizeof(*priv)); - setup_timer(&priv->timer, byd_clear_touch, (unsigned long) psmouse); - - psmouse->private = priv; --- -2.5.5 - diff --git a/patches.backports/0004-Input-byd-update-copyright-header.patch b/patches.backports/0004-Input-byd-update-copyright-header.patch deleted file mode 100644 index 61306cf..0000000 --- a/patches.backports/0004-Input-byd-update-copyright-header.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 82aaa086019ce0e6fcd3a44c0a2e4329afe988b6 Mon Sep 17 00:00:00 2001 -From: Chris Diamand -Date: Mon, 9 May 2016 09:30:39 -0700 -Subject: [PATCH] Input: byd - update copyright header -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -As pointed out by Richard, the changes to the comment got missed off -the absolute mode patch somehow. - -Signed-off-by: Chris Diamand -Signed-off-by: Dmitry Torokhov ---- - drivers/input/mouse/byd.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/drivers/input/mouse/byd.c b/drivers/input/mouse/byd.c -index fdc243c..e583f8b 100644 ---- a/drivers/input/mouse/byd.c -+++ b/drivers/input/mouse/byd.c -@@ -2,6 +2,10 @@ - * BYD TouchPad PS/2 mouse driver - * - * Copyright (C) 2015 Chris Diamand -+ * Copyright (C) 2015 Richard Pospesel -+ * Copyright (C) 2015 Tai Chi Minh Ralph Eastwood -+ * Copyright (C) 2015 Martin Wimpress -+ * Copyright (C) 2015 Jay Kuri - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 as published by --- -2.5.5 - diff --git a/patches.qubes/0001-block-add-no_part_scan-module-parameter.patch b/patches.qubes/0001-block-add-no_part_scan-module-parameter.patch index 365db84..f49d59c 100644 --- a/patches.qubes/0001-block-add-no_part_scan-module-parameter.patch +++ b/patches.qubes/0001-block-add-no_part_scan-module-parameter.patch @@ -32,9 +32,9 @@ index 9f42526..85b71f5 100644 +MODULE_PARM_DESC(no_part_scan, "When adding block devices, always mark them as not to be scanned for partitions"); + /** - * add_disk - add partitioning information to kernel list - * @disk: per-device partitioning information -@@ -587,6 +596,9 @@ void add_disk(struct gendisk *disk) + * device_add_disk - add partitioning information to kernel list + * @parent: parent device for the disk +@@ -587,6 +596,9 @@ void device_add_disk(struct device *parent, struct gendisk *disk) dev_t devt; int retval; diff --git a/patches.qubes/usbip-disable-not-implemented-error.patch b/patches.qubes/usbip-disable-not-implemented-error.patch deleted file mode 100644 index 3afdd12..0000000 --- a/patches.qubes/usbip-disable-not-implemented-error.patch +++ /dev/null @@ -1,17 +0,0 @@ -vhci_get_frame_number is called really often for USB cameras and this message -alone is responsible for major performance drop. Since the driver seems to -function ok, simply disable the message for now. - -diff --git a/drivers/usb/usbip/vhci_hcd.c b/drivers/usb/usbip/vhci_hcd.c -index 7fbe19d..313a79b 100644 ---- a/drivers/usb/usbip/vhci_hcd.c -+++ b/drivers/usb/usbip/vhci_hcd.c -@@ -928,7 +928,7 @@ static void vhci_stop(struct usb_hcd *hcd) - - static int vhci_get_frame_number(struct usb_hcd *hcd) - { -- pr_err("Not yet implemented\n"); -+ //pr_err("Not yet implemented\n"); - return 0; - } - diff --git a/patches.rpmify/makefile-after_link.patch b/patches.rpmify/makefile-after_link.patch index bfe55a6..1f74638 100644 --- a/patches.rpmify/makefile-after_link.patch +++ b/patches.rpmify/makefile-after_link.patch @@ -16,8 +16,8 @@ index 9a7946c..28d6765 100644 # actual build commands quiet_cmd_vdso32ld = VDSO32L $@ -- cmd_vdso32ld = $(CROSS32CC) $(c_flags) -Wl,-T $^ -o $@ -+ cmd_vdso32ld = $(CROSS32CC) $(c_flags) -Wl,-T $^ -o $@ \ +- cmd_vdso32ld = $(CROSS32CC) $(c_flags) -o $@ -Wl,-T$(filter %.lds,$^) $(filter %.o,$^) ++ cmd_vdso32ld = $(CROSS32CC) $(c_flags) -o $@ -Wl,-T$(filter %.lds,$^) $(filter %.o,$^) \ + $(if $(AFTER_LINK),; $(AFTER_LINK)) quiet_cmd_vdso32as = VDSO32A $@ cmd_vdso32as = $(CROSS32CC) $(a_flags) -c -o $@ $< @@ -30,8 +30,8 @@ index 8c500d8..d27737b 100644 # actual build commands quiet_cmd_vdso64ld = VDSO64L $@ -- cmd_vdso64ld = $(CC) $(c_flags) -Wl,-T $^ -o $@ -+ cmd_vdso64ld = $(CC) $(c_flags) -Wl,-T $^ -o $@ \ +- cmd_vdso64ld = $(CC) $(c_flags) -o $@ -Wl,-T$(filter %.lds,$^) $(filter %.o,$^) ++ cmd_vdso64ld = $(CC) $(c_flags) -o $@ -Wl,-T$(filter %.lds,$^) $(filter %.o,$^) \ + $(if $(AFTER_LINK),; $(AFTER_LINK)) quiet_cmd_vdso64as = VDSO64A $@ cmd_vdso64as = $(CC) $(a_flags) -c -o $@ $< diff --git a/patches.xen/0003-xen-pcifront-Report-the-errors-better.patch b/patches.xen/0003-xen-pcifront-Report-the-errors-better.patch deleted file mode 100644 index 7004adf..0000000 --- a/patches.xen/0003-xen-pcifront-Report-the-errors-better.patch +++ /dev/null @@ -1,54 +0,0 @@ -From 3a0d57b60a61eb461504f8ed1845afd5084b7889 Mon Sep 17 00:00:00 2001 -From: Konrad Rzeszutek Wilk -Date: Wed, 3 Feb 2016 16:39:21 -0500 -Subject: [PATCH 3/4] xen/pcifront: Report the errors better. - -The messages should be different depending on the type of error. - -Signed-off-by: Konrad Rzeszutek Wilk ---- - arch/x86/include/asm/xen/pci.h | 4 ++-- - arch/x86/pci/xen.c | 5 ++++- - 2 files changed, 6 insertions(+), 3 deletions(-) - -diff --git a/arch/x86/include/asm/xen/pci.h b/arch/x86/include/asm/xen/pci.h -index 968d57d..f320ee3 100644 ---- a/arch/x86/include/asm/xen/pci.h -+++ b/arch/x86/include/asm/xen/pci.h -@@ -57,7 +57,7 @@ static inline int xen_pci_frontend_enable_msi(struct pci_dev *dev, - { - if (xen_pci_frontend && xen_pci_frontend->enable_msi) - return xen_pci_frontend->enable_msi(dev, vectors); -- return -ENODEV; -+ return -ENOSYS; - } - static inline void xen_pci_frontend_disable_msi(struct pci_dev *dev) - { -@@ -69,7 +69,7 @@ static inline int xen_pci_frontend_enable_msix(struct pci_dev *dev, - { - if (xen_pci_frontend && xen_pci_frontend->enable_msix) - return xen_pci_frontend->enable_msix(dev, vectors, nvec); -- return -ENODEV; -+ return -ENOSYS; - } - static inline void xen_pci_frontend_disable_msix(struct pci_dev *dev) - { -diff --git a/arch/x86/pci/xen.c b/arch/x86/pci/xen.c -index ff31ab4..beac4df 100644 ---- a/arch/x86/pci/xen.c -+++ b/arch/x86/pci/xen.c -@@ -196,7 +196,10 @@ static int xen_setup_msi_irqs(struct pci_dev *dev, int nvec, int type) - return 0; - - error: -- dev_err(&dev->dev, "Xen PCI frontend has not registered MSI/MSI-X support!\n"); -+ if (ret == -ENOSYS) -+ dev_err(&dev->dev, "Xen PCI frontend has not registered MSI/MSI-X support!\n"); -+ else if (ret) -+ dev_err(&dev->dev, "Xen PCI frontend error: %d!\n", ret); - free: - kfree(v); - return ret; --- -2.1.0 - diff --git a/patches.xen/pvops-blkfront-removable-flag.patch b/patches.xen/pvops-blkfront-removable-flag.patch index 1f7a814..09fac7a 100644 --- a/patches.xen/pvops-blkfront-removable-flag.patch +++ b/patches.xen/pvops-blkfront-removable-flag.patch @@ -5,13 +5,13 @@ index 4e86393..34493d7 100644 @@ -1188,6 +1188,7 @@ static void blkfront_connect(struct blkfront_info *info) unsigned int physical_sector_size; unsigned int binfo; - int err; + int err, i; + int removable; switch (info->connected) { case BLKIF_STATE_CONNECTED: @@ -1266,6 +1266,12 @@ static void blkfront_connect(struct blkfront_info *info) - return; + } } + err = xenbus_gather(XBT_NIL, info->xbdev->otherend, diff --git a/patches.xen/xsa155-linux312-0012-xen-blkfront-make-local-copy-of-response-before-usin.patch b/patches.xen/xsa155-linux312-0012-xen-blkfront-make-local-copy-of-response-before-usin.patch index 3cf41fe..51ab22e 100644 --- a/patches.xen/xsa155-linux312-0012-xen-blkfront-make-local-copy-of-response-before-usin.patch +++ b/patches.xen/xsa155-linux312-0012-xen-blkfront-make-local-copy-of-response-before-usin.patch @@ -34,19 +34,19 @@ index 2fee2ee..5d7eb04 100644 + struct blkif_response bret; RING_IDX i, rp; unsigned long flags; - struct blkfront_info *info = (struct blkfront_info *)dev_id; + struct blkfront_ring_info *rinfo = (struct blkfront_ring_info *)dev_id; @@ -1316,8 +1316,8 @@ static irqreturn_t blkif_interrupt(int irq, void *dev_id) - for (i = info->ring.rsp_cons; i != rp; i++) { + for (i = rinfo->ring.rsp_cons; i != rp; i++) { unsigned long id; -- bret = RING_GET_RESPONSE(&info->ring, i); +- bret = RING_GET_RESPONSE(&rinfo->ring, i); - id = bret->id; -+ RING_COPY_RESPONSE(&info->ring, i, &bret); ++ RING_COPY_RESPONSE(&rinfo->ring, i, &bret); + id = bret.id; /* * The backend has messed up and given us an id that we would * never have given to it (we stamp it up to BLK_RING_SIZE - -@@ -1325,29 +1325,29 @@ static irqreturn_t blkif_interrupt(int irq, void *dev_id) +@@ -1325,35 +1325,35 @@ static irqreturn_t blkif_interrupt(int irq, void *dev_id) */ if (id >= BLK_RING_SIZE(info)) { WARN(1, "%s: response to %s has incorrect id (%ld)\n", @@ -56,14 +56,20 @@ index 2fee2ee..5d7eb04 100644 * the id is busted. */ continue; } - req = info->shadow[id].request; + req = rinfo->shadow[id].request; -- if (bret->operation != BLKIF_OP_DISCARD) -- blkif_completion(&info->shadow[id], info, bret); -+ if (bret.operation != BLKIF_OP_DISCARD) -+ blkif_completion(&info->shadow[id], info, &bret); +- if (bret->operation != BLKIF_OP_DISCARD) { ++ if (bret.operation != BLKIF_OP_DISCARD) { + /* + * We may need to wait for an extra response if the + * I/O request is split in 2 + */ +- if (!blkif_completion(&id, rinfo, bret)) ++ if (!blkif_completion(&id, rinfo, &bret)) + continue; + } - if (add_id_to_freelist(info, id)) { + if (add_id_to_freelist(rinfo, id)) { WARN(1, "%s: response to %s (id %ld) couldn't be recycled!\n", - info->gd->disk_name, op_name(bret->operation), id); + info->gd->disk_name, op_name(bret.operation), id); @@ -97,7 +103,7 @@ index 2fee2ee..5d7eb04 100644 } - if (unlikely(bret->status == BLKIF_RSP_ERROR && + if (unlikely(bret.status == BLKIF_RSP_ERROR && - info->shadow[id].req.u.rw.nr_segments == 0)) { + rinfo->shadow[id].req.u.rw.nr_segments == 0)) { printk(KERN_WARNING "blkfront: %s: empty %s op failed\n", - info->gd->disk_name, op_name(bret->operation)); + info->gd->disk_name, op_name(bret.operation)); diff --git a/patches.xen/xsa155-linux44-0013-xen-blkfront-prepare-request-locally-only-then-put-i.patch b/patches.xen/xsa155-linux44-0013-xen-blkfront-prepare-request-locally-only-then-put-i.patch index a8403f6..8e9d09e 100644 --- a/patches.xen/xsa155-linux44-0013-xen-blkfront-prepare-request-locally-only-then-put-i.patch +++ b/patches.xen/xsa155-linux44-0013-xen-blkfront-prepare-request-locally-only-then-put-i.patch @@ -24,21 +24,41 @@ Signed-off-by: Marek Marczykowski-Górecki 1 file changed, 30 insertions(+), 26 deletions(-) diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c -index 5d7eb04..514cf18 100644 +index e99ea22..7191800 100644 --- a/drivers/block/xen-blkfront.c +++ b/drivers/block/xen-blkfront.c -@@ -463,27 +463,29 @@ static int blkif_ioctl(struct block_devi - static int blkif_queue_discard_req(struct request *req) +@@ -520,19 +520,16 @@ static int blkif_ioctl(struct block_device *bdev, fmode_t mode, + + static unsigned long blkif_ring_get_request(struct blkfront_ring_info *rinfo, + struct request *req, +- struct blkif_request **ring_req) ++ struct blkif_request *ring_req) + { + unsigned long id; + +- *ring_req = RING_GET_REQUEST(&rinfo->ring, rinfo->ring.req_prod_pvt); +- rinfo->ring.req_prod_pvt++; +- + id = get_id_from_freelist(rinfo); + rinfo->shadow[id].request = req; + rinfo->shadow[id].status = REQ_WAITING; + rinfo->shadow[id].associated_id = NO_ASSOCIATED_ID; + +- (*ring_req)->u.rw.id = id; ++ ring_req->u.rw.id = id; + + return id; + } +@@ -540,23 +537,28 @@ static unsigned long blkif_ring_get_request(struct blkfront_ring_info *rinfo, + static int blkif_queue_discard_req(struct request *req, struct blkfront_ring_info *rinfo) { - struct blkfront_info *info = req->rq_disk->private_data; + struct blkfront_info *info = rinfo->dev_info; - struct blkif_request *ring_req; -+ struct blkif_request ring_req = { }; ++ struct blkif_request ring_req = { 0 }; unsigned long id; /* Fill out a communications ring structure. */ -- ring_req = RING_GET_REQUEST(&info->ring, info->ring.req_prod_pvt); - id = get_id_from_freelist(info); - info->shadow[id].request = req; + id = blkif_ring_get_request(rinfo, req, &ring_req); - ring_req->operation = BLKIF_OP_DISCARD; - ring_req->u.discard.nr_sectors = blk_rq_sectors(req); @@ -48,54 +68,37 @@ index 5d7eb04..514cf18 100644 + ring_req.u.discard.nr_sectors = blk_rq_sectors(req); + ring_req.u.discard.id = id; + ring_req.u.discard.sector_number = (blkif_sector_t)blk_rq_pos(req); - if ((req->cmd_flags & REQ_SECURE) && info->feature_secdiscard) + if (req_op(req) == REQ_OP_SECURE_ERASE && info->feature_secdiscard) - ring_req->u.discard.flag = BLKIF_DISCARD_SECURE; + ring_req.u.discard.flag = BLKIF_DISCARD_SECURE; else - ring_req->u.discard.flag = 0; + ring_req.u.discard.flag = 0; - ++ + /* make the request available to the backend */ -+ *RING_GET_REQUEST(&info->ring, info->ring.req_prod_pvt) = ring_req; ++ *RING_GET_REQUEST(&rinfo->ring, rinfo->ring.req_prod_pvt) = ring_req; + wmb(); - info->ring.req_prod_pvt++; ++ rinfo->ring.req_prod_pvt++; /* Keep a private copy so we can reissue requests when recovering. */ -- info->shadow[id].req = *ring_req; -+ info->shadow[id].req = ring_req; +- rinfo->shadow[id].req = *ring_req; ++ rinfo->shadow[id].req = ring_req; return 0; } -@@ -573,7 +575,7 @@ static void blkif_setup_rw_req_grant(uns - static int blkif_queue_rw_req(struct request *req) +@@ -688,7 +690,7 @@ static void blkif_setup_extra_req(struct blkif_request *first, + static int blkif_queue_rw_req(struct request *req, struct blkfront_ring_info *rinfo) { - struct blkfront_info *info = req->rq_disk->private_data; -- struct blkif_request *ring_req; -+ struct blkif_request ring_req = { }; - unsigned long id; + struct blkfront_info *info = rinfo->dev_info; +- struct blkif_request *ring_req, *extra_ring_req = NULL; ++ struct blkif_request ring_req = { 0 }, extra_ring_req = { 0 }; + unsigned long id, extra_id = NO_ASSOCIATED_ID; + bool require_extra_req = false; int i; - struct setup_rw_req setup = { -@@ -435,7 +435,6 @@ - new_persistent_gnts = 0; - - /* Fill out a communications ring structure. */ -- ring_req = RING_GET_REQUEST(&info->ring, info->ring.req_prod_pvt); - id = get_id_from_freelist(info); - info->shadow[id].request = req; - -@@ -632,7 +633,7 @@ static int blkif_queue_rw_req(struct req - for_each_sg(info->shadow[id].sg, sg, num_sg, i) - num_grant += gnttab_count_grant(sg->offset, sg->length); - -- ring_req->u.rw.id = id; -+ ring_req.u.rw.id = id; - info->shadow[id].num_sg = num_sg; - if (num_grant > BLKIF_MAX_SEGMENTS_PER_REQUEST) { - /* -@@ -640,16 +641,16 @@ static int blkif_queue_rw_req(struct req +@@ -750,16 +752,16 @@ static int blkif_queue_rw_req(struct request *req, struct blkfront_ring_info *ri * BLKIF_OP_WRITE */ - BUG_ON(req->cmd_flags & (REQ_FLUSH | REQ_FUA)); + BUG_ON(req_op(req) == REQ_OP_FLUSH || req->cmd_flags & REQ_FUA); - ring_req->operation = BLKIF_OP_INDIRECT; - ring_req->u.indirect.indirect_op = rq_data_dir(req) ? + ring_req.operation = BLKIF_OP_INDIRECT; @@ -115,47 +118,73 @@ index 5d7eb04..514cf18 100644 + ring_req.u.rw.handle = info->handle; + ring_req.operation = rq_data_dir(req) ? BLKIF_OP_WRITE : BLKIF_OP_READ; - if (req->cmd_flags & (REQ_FLUSH | REQ_FUA)) { + if (req_op(req) == REQ_OP_FLUSH || req->cmd_flags & REQ_FUA) { /* -@@ -662,21 +663,21 @@ static int blkif_queue_rw_req(struct req - switch (info->feature_flush & - ((REQ_FLUSH|REQ_FUA))) { - case REQ_FLUSH|REQ_FUA: +@@ -770,15 +772,15 @@ static int blkif_queue_rw_req(struct request *req, struct blkfront_ring_info *ri + * since it is guaranteed ordered WRT previous writes.) + */ + if (info->feature_flush && info->feature_fua) - ring_req->operation = + ring_req.operation = BLKIF_OP_WRITE_BARRIER; - break; - case REQ_FLUSH: + else if (info->feature_flush) - ring_req->operation = + ring_req.operation = BLKIF_OP_FLUSH_DISKCACHE; - break; - default: + else - ring_req->operation = 0; + ring_req.operation = 0; - } } - ring_req->u.rw.nr_segments = num_grant; + ring_req.u.rw.nr_segments = num_grant; + if (unlikely(require_extra_req)) { + extra_id = blkif_ring_get_request(rinfo, req, + &extra_ring_req); +@@ -788,7 +790,7 @@ static int blkif_queue_rw_req(struct request *req, struct blkfront_ring_info *ri + */ + rinfo->shadow[extra_id].num_sg = 0; + +- blkif_setup_extra_req(ring_req, extra_ring_req); ++ blkif_setup_extra_req(&ring_req, &extra_ring_req); + + /* Link the 2 requests together */ + rinfo->shadow[extra_id].associated_id = id; +@@ -796,12 +798,12 @@ static int blkif_queue_rw_req(struct request *req, struct blkfront_ring_info *ri + } } - setup.ring_req = ring_req; + setup.ring_req = &ring_req; setup.id = id; - for_each_sg(info->shadow[id].sg, sg, num_sg, i) { + + setup.require_extra_req = require_extra_req; + if (unlikely(require_extra_req)) +- setup.extra_ring_req = extra_ring_req; ++ setup.extra_ring_req = &extra_ring_req; + + for_each_sg(rinfo->shadow[id].sg, sg, num_sg, i) { BUG_ON(sg->offset + sg->length > PAGE_SIZE); -@@ -698,10 +699,13 @@ static int blkif_queue_rw_req(struct req +@@ -823,10 +825,20 @@ static int blkif_queue_rw_req(struct request *req, struct blkfront_ring_info *ri if (setup.segments) kunmap_atomic(setup.segments); + /* make the request available to the backend */ -+ *RING_GET_REQUEST(&info->ring, info->ring.req_prod_pvt) = ring_req; ++ *RING_GET_REQUEST(&rinfo->ring, rinfo->ring.req_prod_pvt) = ring_req; + wmb(); - info->ring.req_prod_pvt++; - ++ rinfo->ring.req_prod_pvt++; /* Keep a private copy so we can reissue requests when recovering. */ -- info->shadow[id].req = *ring_req; -+ info->shadow[id].req = ring_req; +- rinfo->shadow[id].req = *ring_req; +- if (unlikely(require_extra_req)) +- rinfo->shadow[extra_id].req = *extra_ring_req; ++ rinfo->shadow[id].req = ring_req; ++ ++ if (unlikely(require_extra_req)) { ++ *RING_GET_REQUEST(&rinfo->ring, rinfo->ring.req_prod_pvt) = extra_ring_req; ++ wmb(); ++ rinfo->ring.req_prod_pvt++; ++ /* Keep a private copy so we can reissue requests when recovering. */ ++ rinfo->shadow[extra_id].req = extra_ring_req; ++ } - if (new_persistent_gnts) + if (max_grefs > 0) gnttab_free_grant_references(setup.gref_head); diff --git a/series.conf b/series.conf index 88bf539..0950b46 100644 --- a/series.conf +++ b/series.conf @@ -5,20 +5,11 @@ patches.xen/xen-netfront-detach-crash.patch patches.xen/0001-mce-hide-EBUSY-initialization-error-on-Xen.patch patches.xen/irq-bind-debug-log.patch -# Backports -patches.backports/0001-HID-fix-out-of-bound-access-in-extract-and-implement.patch -# Touchpad driver for Purism laptops -patches.backports/0001-Input-byd-add-BYD-PS-2-touchpad-driver.patch -patches.backports/0002-Input-byd-enable-absolute-mode.patch -patches.backports/0003-Input-byd-don-t-wipe-dynamically-allocated-memory-tw.patch -patches.backports/0004-Input-byd-update-copyright-header.patch - # Additional features #patches.xen/pvops-0100-usb-xen-pvusb-driver.patch patches.xen/pvops-blkfront-removable-flag.patch patches.xen/pvops-blkfront-eject-support.patch -patches.qubes/usbip-disable-not-implemented-error.patch patches.qubes/0001-block-add-no_part_scan-module-parameter.patch # Security fixes @@ -30,5 +21,4 @@ patches.xen/xsa155-linux312-0012-xen-blkfront-make-local-copy-of-response-before patches.xen/xsa155-linux44-0013-xen-blkfront-prepare-request-locally-only-then-put-i.patch # MSI-X enabled device passthrough fix (#1734) -patches.xen/0003-xen-pcifront-Report-the-errors-better.patch patches.xen/pci_op-cleanup.patch diff --git a/version b/version index e23f190..5fb8716 100644 --- a/version +++ b/version @@ -1 +1 @@ -4.4.31 +4.8.7