diff options
author | Alexandre Oliva <lxoliva@fsfla.org> | 2017-12-09 10:08:21 +0000 |
---|---|---|
committer | Alexandre Oliva <lxoliva@fsfla.org> | 2017-12-09 10:08:21 +0000 |
commit | 3a08a42a80e892bfed08938c22c0e0a17b2a8e6a (patch) | |
tree | 06a011048f7e12cf6ad9fe01a6fb41d2a6e2c184 | |
parent | 472b0ba6fa4dfa204677f906deadae058ca12287 (diff) | |
download | linux-libre-raptor-3a08a42a80e892bfed08938c22c0e0a17b2a8e6a.tar.gz linux-libre-raptor-3a08a42a80e892bfed08938c22c0e0a17b2a8e6a.zip |
4.14.4-200.fc26.gnu
343 files changed, 8535 insertions, 28589 deletions
diff --git a/freed-ora/current/f26/0001-PATCH-staging-rtl8822be-fix-wrong-dma-unmap-len.patch b/freed-ora/current/f26/0001-PATCH-staging-rtl8822be-fix-wrong-dma-unmap-len.patch new file mode 100644 index 000000000..540b925eb --- /dev/null +++ b/freed-ora/current/f26/0001-PATCH-staging-rtl8822be-fix-wrong-dma-unmap-len.patch @@ -0,0 +1,46 @@ +From 37af97ef14c201b1db8dd341aabd262da23e48aa Mon Sep 17 00:00:00 2001 +From: Fedora Kernel Team <kernel-team@fedoraproject.org> +Date: Mon, 30 Oct 2017 11:38:27 -0500 +Subject: [PATCH] [PATCH] staging: rtl8822be: fix wrong dma unmap len + +Patch fixes splat: + +r8822be 0000:04:00.0: DMA-API: device driver frees DMA memory with different size +[device address=0x0000000078477000] [map size=4096 bytes] [unmap size=424 bytes] +<snip> +Call Trace: + debug_dma_unmap_page+0xa5/0xb0 + ? unmap_single+0x2f/0x40 + _rtl8822be_send_bcn_or_cmd_packet+0x2c5/0x300 [r8822be] + ? _rtl8822be_send_bcn_or_cmd_packet+0x2c5/0x300 [r8822be] + rtl8822b_halmac_cb_write_data_rsvd_page+0x51/0xc0 [r8822be] + _halmac_write_data_rsvd_page+0x22/0x30 [r8822be] + halmac_download_rsvd_page_88xx+0xee/0x1f0 [r8822be] + halmac_dlfw_to_mem_88xx+0x80/0x120 [r8822be] + halmac_download_firmware_88xx.part.47+0x477/0x600 [r8822be] + halmac_download_firmware_88xx+0x32/0x40 [r8822be] + rtl_halmac_dlfw+0x70/0x120 [r8822be] + rtl_halmac_init_hal+0x5f/0x1b0 [r8822be] + rtl8822be_hw_init+0x8a2/0x1040 [r8822be] + +Signed-off-by: Stanislaw Gruszka <sgruszka at redhat.com> +--- + drivers/staging/rtlwifi/rtl8822be/fw.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/drivers/staging/rtlwifi/rtl8822be/fw.c b/drivers/staging/rtlwifi/rtl8822be/fw.c +index 8e24da1..a2cc548 100644 +--- a/drivers/staging/rtlwifi/rtl8822be/fw.c ++++ b/drivers/staging/rtlwifi/rtl8822be/fw.c +@@ -419,7 +419,7 @@ static bool _rtl8822be_send_bcn_or_cmd_packet(struct ieee80211_hw *hw, + dma_addr = rtlpriv->cfg->ops->get_desc( + hw, (u8 *)pbd_desc, true, HW_DESC_TXBUFF_ADDR); + +- pci_unmap_single(rtlpci->pdev, dma_addr, skb->len, ++ pci_unmap_single(rtlpci->pdev, dma_addr, pskb->len, + PCI_DMA_TODEVICE); + kfree_skb(pskb); + +-- +2.13.6 + diff --git a/freed-ora/current/f26/0001-fs-locks-Remove-fl_nspid-and-use-fs-specific-l_pid-f.patch b/freed-ora/current/f26/0001-fs-locks-Remove-fl_nspid-and-use-fs-specific-l_pid-f.patch deleted file mode 100644 index 065132bc2..000000000 --- a/freed-ora/current/f26/0001-fs-locks-Remove-fl_nspid-and-use-fs-specific-l_pid-f.patch +++ /dev/null @@ -1,296 +0,0 @@ -From 9d5b86ac13c573795525ecac6ed2db39ab23e2a8 Mon Sep 17 00:00:00 2001 -From: Benjamin Coddington <bcodding@redhat.com> -Date: Sun, 16 Jul 2017 10:28:22 -0400 -Subject: [PATCH] fs/locks: Remove fl_nspid and use fs-specific l_pid for - remote locks - -Since commit c69899a17ca4 "NFSv4: Update of VFS byte range lock must be -atomic with the stateid update", NFSv4 has been inserting locks in rpciod -worker context. The result is that the file_lock's fl_nspid is the -kworker's pid instead of the original userspace pid. - -The fl_nspid is only used to represent the namespaced virtual pid number -when displaying locks or returning from F_GETLK. There's no reason to set -it for every inserted lock, since we can usually just look it up from -fl_pid. So, instead of looking up and holding struct pid for every lock, -let's just look up the virtual pid number from fl_pid when it is needed. -That means we can remove fl_nspid entirely. - -The translaton and presentation of fl_pid should handle the following four -cases: - -1 - F_GETLK on a remote file with a remote lock: - In this case, the filesystem should determine the l_pid to return here. - Filesystems should indicate that the fl_pid represents a non-local pid - value that should not be translated by returning an fl_pid <= 0. - -2 - F_GETLK on a local file with a remote lock: - This should be the l_pid of the lock manager process, and translated. - -3 - F_GETLK on a remote file with a local lock, and -4 - F_GETLK on a local file with a local lock: - These should be the translated l_pid of the local locking process. - -Fuse was already doing the correct thing by translating the pid into the -caller's namespace. With this change we must update fuse to translate -to init's pid namespace, so that the locks API can then translate from -init's pid namespace into the pid namespace of the caller. - -With this change, the locks API will expect that if a filesystem returns -a remote pid as opposed to a local pid for F_GETLK, that remote pid will -be <= 0. This signifies that the pid is remote, and the locks API will -forego translating that pid into the pid namespace of the local calling -process. - -Finally, we convert remote filesystems to present remote pids using -negative numbers. Have lustre, 9p, ceph, cifs, and dlm negate the remote -pid returned for F_GETLK lock requests. - -Since local pids will never be larger than PID_MAX_LIMIT (which is -currently defined as <= 4 million), but pid_t is an unsigned int, we -should have plenty of room to represent remote pids with negative -numbers if we assume that remote pid numbers are similarly limited. - -If this is not the case, then we run the risk of having a remote pid -returned for which there is also a corresponding local pid. This is a -problem we have now, but this patch should reduce the chances of that -occurring, while also returning those remote pid numbers, for whatever -that may be worth. - -Signed-off-by: Benjamin Coddington <bcodding@redhat.com> -Signed-off-by: Jeff Layton <jlayton@redhat.com> ---- - drivers/staging/lustre/lustre/ldlm/ldlm_flock.c | 2 +- - fs/9p/vfs_file.c | 2 +- - fs/ceph/locks.c | 2 +- - fs/cifs/cifssmb.c | 2 +- - fs/dlm/plock.c | 2 +- - fs/fuse/file.c | 6 +-- - fs/locks.c | 62 +++++++++++++++---------- - include/linux/fs.h | 1 - - 8 files changed, 45 insertions(+), 34 deletions(-) - -diff --git a/drivers/staging/lustre/lustre/ldlm/ldlm_flock.c b/drivers/staging/lustre/lustre/ldlm/ldlm_flock.c -index b7f28b39c7b3..abcbf075acc0 100644 ---- a/drivers/staging/lustre/lustre/ldlm/ldlm_flock.c -+++ b/drivers/staging/lustre/lustre/ldlm/ldlm_flock.c -@@ -596,7 +596,7 @@ ldlm_flock_completion_ast(struct ldlm_lock *lock, __u64 flags, void *data) - default: - getlk->fl_type = F_UNLCK; - } -- getlk->fl_pid = (pid_t)lock->l_policy_data.l_flock.pid; -+ getlk->fl_pid = -(pid_t)lock->l_policy_data.l_flock.pid; - getlk->fl_start = (loff_t)lock->l_policy_data.l_flock.start; - getlk->fl_end = (loff_t)lock->l_policy_data.l_flock.end; - } else { -diff --git a/fs/9p/vfs_file.c b/fs/9p/vfs_file.c -index 3de3b4a89d89..43c242e17132 100644 ---- a/fs/9p/vfs_file.c -+++ b/fs/9p/vfs_file.c -@@ -288,7 +288,7 @@ static int v9fs_file_getlock(struct file *filp, struct file_lock *fl) - fl->fl_end = OFFSET_MAX; - else - fl->fl_end = glock.start + glock.length - 1; -- fl->fl_pid = glock.proc_id; -+ fl->fl_pid = -glock.proc_id; - } - kfree(glock.client_id); - return res; -diff --git a/fs/ceph/locks.c b/fs/ceph/locks.c -index 64ae74472046..8cd63e8123d8 100644 ---- a/fs/ceph/locks.c -+++ b/fs/ceph/locks.c -@@ -79,7 +79,7 @@ static int ceph_lock_message(u8 lock_type, u16 operation, struct file *file, - err = ceph_mdsc_do_request(mdsc, inode, req); - - if (operation == CEPH_MDS_OP_GETFILELOCK) { -- fl->fl_pid = le64_to_cpu(req->r_reply_info.filelock_reply->pid); -+ fl->fl_pid = -le64_to_cpu(req->r_reply_info.filelock_reply->pid); - if (CEPH_LOCK_SHARED == req->r_reply_info.filelock_reply->type) - fl->fl_type = F_RDLCK; - else if (CEPH_LOCK_EXCL == req->r_reply_info.filelock_reply->type) -diff --git a/fs/cifs/cifssmb.c b/fs/cifs/cifssmb.c -index 72a53bd19865..118a63e7e221 100644 ---- a/fs/cifs/cifssmb.c -+++ b/fs/cifs/cifssmb.c -@@ -2522,7 +2522,7 @@ CIFSSMBPosixLock(const unsigned int xid, struct cifs_tcon *tcon, - pLockData->fl_start = le64_to_cpu(parm_data->start); - pLockData->fl_end = pLockData->fl_start + - le64_to_cpu(parm_data->length) - 1; -- pLockData->fl_pid = le32_to_cpu(parm_data->pid); -+ pLockData->fl_pid = -le32_to_cpu(parm_data->pid); - } - } - -diff --git a/fs/dlm/plock.c b/fs/dlm/plock.c -index d401425f602a..e631b1689228 100644 ---- a/fs/dlm/plock.c -+++ b/fs/dlm/plock.c -@@ -367,7 +367,7 @@ int dlm_posix_get(dlm_lockspace_t *lockspace, u64 number, struct file *file, - locks_init_lock(fl); - fl->fl_type = (op->info.ex) ? F_WRLCK : F_RDLCK; - fl->fl_flags = FL_POSIX; -- fl->fl_pid = op->info.pid; -+ fl->fl_pid = -op->info.pid; - fl->fl_start = op->info.start; - fl->fl_end = op->info.end; - rv = 0; -diff --git a/fs/fuse/file.c b/fs/fuse/file.c -index 3ee4fdc3da9e..7cd692f51d1d 100644 ---- a/fs/fuse/file.c -+++ b/fs/fuse/file.c -@@ -2101,11 +2101,11 @@ static int convert_fuse_file_lock(struct fuse_conn *fc, - fl->fl_end = ffl->end; - - /* -- * Convert pid into the caller's pid namespace. If the pid -- * does not map into the namespace fl_pid will get set to 0. -+ * Convert pid into init's pid namespace. The locks API will -+ * translate it into the caller's pid namespace. - */ - rcu_read_lock(); -- fl->fl_pid = pid_vnr(find_pid_ns(ffl->pid, fc->pid_ns)); -+ fl->fl_pid = pid_nr_ns(find_pid_ns(ffl->pid, fc->pid_ns), &init_pid_ns); - rcu_read_unlock(); - break; - -diff --git a/fs/locks.c b/fs/locks.c -index d7daa6c8932f..6d0949880ebd 100644 ---- a/fs/locks.c -+++ b/fs/locks.c -@@ -137,6 +137,7 @@ - #define IS_FLOCK(fl) (fl->fl_flags & FL_FLOCK) - #define IS_LEASE(fl) (fl->fl_flags & (FL_LEASE|FL_DELEG|FL_LAYOUT)) - #define IS_OFDLCK(fl) (fl->fl_flags & FL_OFDLCK) -+#define IS_REMOTELCK(fl) (fl->fl_pid <= 0) - - static inline bool is_remote_lock(struct file *filp) - { -@@ -733,7 +734,6 @@ static void locks_wake_up_blocks(struct file_lock *blocker) - static void - locks_insert_lock_ctx(struct file_lock *fl, struct list_head *before) - { -- fl->fl_nspid = get_pid(task_tgid(current)); - list_add_tail(&fl->fl_list, before); - locks_insert_global_locks(fl); - } -@@ -743,10 +743,6 @@ locks_unlink_lock_ctx(struct file_lock *fl) - { - locks_delete_global_locks(fl); - list_del_init(&fl->fl_list); -- if (fl->fl_nspid) { -- put_pid(fl->fl_nspid); -- fl->fl_nspid = NULL; -- } - locks_wake_up_blocks(fl); - } - -@@ -823,8 +819,6 @@ posix_test_lock(struct file *filp, struct file_lock *fl) - list_for_each_entry(cfl, &ctx->flc_posix, fl_list) { - if (posix_locks_conflict(fl, cfl)) { - locks_copy_conflock(fl, cfl); -- if (cfl->fl_nspid) -- fl->fl_pid = pid_vnr(cfl->fl_nspid); - goto out; - } - } -@@ -2048,9 +2042,33 @@ int vfs_test_lock(struct file *filp, struct file_lock *fl) - } - EXPORT_SYMBOL_GPL(vfs_test_lock); - -+/** -+ * locks_translate_pid - translate a file_lock's fl_pid number into a namespace -+ * @fl: The file_lock who's fl_pid should be translated -+ * @ns: The namespace into which the pid should be translated -+ * -+ * Used to tranlate a fl_pid into a namespace virtual pid number -+ */ -+static pid_t locks_translate_pid(struct file_lock *fl, struct pid_namespace *ns) -+{ -+ pid_t vnr; -+ struct pid *pid; -+ -+ if (IS_OFDLCK(fl)) -+ return -1; -+ if (IS_REMOTELCK(fl)) -+ return fl->fl_pid; -+ -+ rcu_read_lock(); -+ pid = find_pid_ns(fl->fl_pid, &init_pid_ns); -+ vnr = pid_nr_ns(pid, ns); -+ rcu_read_unlock(); -+ return vnr; -+} -+ - static int posix_lock_to_flock(struct flock *flock, struct file_lock *fl) - { -- flock->l_pid = IS_OFDLCK(fl) ? -1 : fl->fl_pid; -+ flock->l_pid = locks_translate_pid(fl, task_active_pid_ns(current)); - #if BITS_PER_LONG == 32 - /* - * Make sure we can represent the posix lock via -@@ -2072,7 +2090,7 @@ static int posix_lock_to_flock(struct flock *flock, struct file_lock *fl) - #if BITS_PER_LONG == 32 - static void posix_lock_to_flock64(struct flock64 *flock, struct file_lock *fl) - { -- flock->l_pid = IS_OFDLCK(fl) ? -1 : fl->fl_pid; -+ flock->l_pid = locks_translate_pid(fl, task_active_pid_ns(current)); - flock->l_start = fl->fl_start; - flock->l_len = fl->fl_end == OFFSET_MAX ? 0 : - fl->fl_end - fl->fl_start + 1; -@@ -2584,22 +2602,16 @@ static void lock_get_status(struct seq_file *f, struct file_lock *fl, - { - struct inode *inode = NULL; - unsigned int fl_pid; -+ struct pid_namespace *proc_pidns = file_inode(f->file)->i_sb->s_fs_info; - -- if (fl->fl_nspid) { -- struct pid_namespace *proc_pidns = file_inode(f->file)->i_sb->s_fs_info; -- -- /* Don't let fl_pid change based on who is reading the file */ -- fl_pid = pid_nr_ns(fl->fl_nspid, proc_pidns); -- -- /* -- * If there isn't a fl_pid don't display who is waiting on -- * the lock if we are called from locks_show, or if we are -- * called from __show_fd_info - skip lock entirely -- */ -- if (fl_pid == 0) -- return; -- } else -- fl_pid = fl->fl_pid; -+ fl_pid = locks_translate_pid(fl, proc_pidns); -+ /* -+ * If there isn't a fl_pid don't display who is waiting on -+ * the lock if we are called from locks_show, or if we are -+ * called from __show_fd_info - skip lock entirely -+ */ -+ if (fl_pid == 0) -+ return; - - if (fl->fl_file != NULL) - inode = locks_inode(fl->fl_file); -@@ -2674,7 +2686,7 @@ static int locks_show(struct seq_file *f, void *v) - - fl = hlist_entry(v, struct file_lock, fl_link); - -- if (fl->fl_nspid && !pid_nr_ns(fl->fl_nspid, proc_pidns)) -+ if (locks_translate_pid(fl, proc_pidns) == 0) - return 0; - - lock_get_status(f, fl, iter->li_pos, ""); -diff --git a/include/linux/fs.h b/include/linux/fs.h -index 7b5d6816542b..f0b108af9b02 100644 ---- a/include/linux/fs.h -+++ b/include/linux/fs.h -@@ -999,7 +999,6 @@ struct file_lock { - unsigned char fl_type; - unsigned int fl_pid; - int fl_link_cpu; /* what cpu's list is this on? */ -- struct pid *fl_nspid; - wait_queue_head_t fl_wait; - struct file *fl_file; - loff_t fl_start; --- -2.14.1 - diff --git a/freed-ora/current/f26/0001-mm-thp-Do-not-make-page-table-dirty-unconditionally-.patch b/freed-ora/current/f26/0001-mm-thp-Do-not-make-page-table-dirty-unconditionally-.patch deleted file mode 100644 index 2a1d7b719..000000000 --- a/freed-ora/current/f26/0001-mm-thp-Do-not-make-page-table-dirty-unconditionally-.patch +++ /dev/null @@ -1,108 +0,0 @@ -From a8f97366452ed491d13cf1e44241bc0b5740b1f0 Mon Sep 17 00:00:00 2001 -From: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com> -Date: Mon, 27 Nov 2017 06:21:25 +0300 -Subject: [PATCH] mm, thp: Do not make page table dirty unconditionally in - touch_p[mu]d() - -Currently, we unconditionally make page table dirty in touch_pmd(). -It may result in false-positive can_follow_write_pmd(). - -We may avoid the situation, if we would only make the page table entry -dirty if caller asks for write access -- FOLL_WRITE. - -The patch also changes touch_pud() in the same way. - -Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com> -Cc: Michal Hocko <mhocko@suse.com> -Cc: Hugh Dickins <hughd@google.com> -Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> ---- - mm/huge_memory.c | 36 +++++++++++++----------------------- - 1 file changed, 13 insertions(+), 23 deletions(-) - -diff --git a/mm/huge_memory.c b/mm/huge_memory.c -index 86fe697e8bfb..0e7ded98d114 100644 ---- a/mm/huge_memory.c -+++ b/mm/huge_memory.c -@@ -842,20 +842,15 @@ EXPORT_SYMBOL_GPL(vmf_insert_pfn_pud); - #endif /* CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD */ - - static void touch_pmd(struct vm_area_struct *vma, unsigned long addr, -- pmd_t *pmd) -+ pmd_t *pmd, int flags) - { - pmd_t _pmd; - -- /* -- * We should set the dirty bit only for FOLL_WRITE but for now -- * the dirty bit in the pmd is meaningless. And if the dirty -- * bit will become meaningful and we'll only set it with -- * FOLL_WRITE, an atomic set_bit will be required on the pmd to -- * set the young bit, instead of the current set_pmd_at. -- */ -- _pmd = pmd_mkyoung(pmd_mkdirty(*pmd)); -+ _pmd = pmd_mkyoung(*pmd); -+ if (flags & FOLL_WRITE) -+ _pmd = pmd_mkdirty(_pmd); - if (pmdp_set_access_flags(vma, addr & HPAGE_PMD_MASK, -- pmd, _pmd, 1)) -+ pmd, _pmd, flags & FOLL_WRITE)) - update_mmu_cache_pmd(vma, addr, pmd); - } - -@@ -884,7 +879,7 @@ struct page *follow_devmap_pmd(struct vm_area_struct *vma, unsigned long addr, - return NULL; - - if (flags & FOLL_TOUCH) -- touch_pmd(vma, addr, pmd); -+ touch_pmd(vma, addr, pmd, flags); - - /* - * device mapped pages can only be returned if the -@@ -995,20 +990,15 @@ int copy_huge_pmd(struct mm_struct *dst_mm, struct mm_struct *src_mm, - - #ifdef CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD - static void touch_pud(struct vm_area_struct *vma, unsigned long addr, -- pud_t *pud) -+ pud_t *pud, int flags) - { - pud_t _pud; - -- /* -- * We should set the dirty bit only for FOLL_WRITE but for now -- * the dirty bit in the pud is meaningless. And if the dirty -- * bit will become meaningful and we'll only set it with -- * FOLL_WRITE, an atomic set_bit will be required on the pud to -- * set the young bit, instead of the current set_pud_at. -- */ -- _pud = pud_mkyoung(pud_mkdirty(*pud)); -+ _pud = pud_mkyoung(*pud); -+ if (flags & FOLL_WRITE) -+ _pud = pud_mkdirty(_pud); - if (pudp_set_access_flags(vma, addr & HPAGE_PUD_MASK, -- pud, _pud, 1)) -+ pud, _pud, flags & FOLL_WRITE)) - update_mmu_cache_pud(vma, addr, pud); - } - -@@ -1031,7 +1021,7 @@ struct page *follow_devmap_pud(struct vm_area_struct *vma, unsigned long addr, - return NULL; - - if (flags & FOLL_TOUCH) -- touch_pud(vma, addr, pud); -+ touch_pud(vma, addr, pud, flags); - - /* - * device mapped pages can only be returned if the -@@ -1424,7 +1414,7 @@ struct page *follow_trans_huge_pmd(struct vm_area_struct *vma, - page = pmd_page(*pmd); - VM_BUG_ON_PAGE(!PageHead(page) && !is_zone_device_page(page), page); - if (flags & FOLL_TOUCH) -- touch_pmd(vma, addr, pmd); -+ touch_pmd(vma, addr, pmd, flags); - if ((flags & FOLL_MLOCK) && (vma->vm_flags & VM_LOCKED)) { - /* - * We don't mlock() pte-mapped THPs. This way we can avoid --- -2.14.3 - diff --git a/freed-ora/current/f26/0001-platform-x86-Add-driver-for-ACPI-INT0002-Virtual-GPI.patch b/freed-ora/current/f26/0001-platform-x86-Add-driver-for-ACPI-INT0002-Virtual-GPI.patch deleted file mode 100644 index a0b6ff03e..000000000 --- a/freed-ora/current/f26/0001-platform-x86-Add-driver-for-ACPI-INT0002-Virtual-GPI.patch +++ /dev/null @@ -1,339 +0,0 @@ -From 3bbfe49a1d965b951527cde0da48f5d7677db264 Mon Sep 17 00:00:00 2001 -From: Hans de Goede <hdegoede@redhat.com> -Date: Sun, 21 May 2017 13:15:11 +0200 -Subject: [PATCH 01/16] platform/x86: Add driver for ACPI INT0002 Virtual GPIO - device - -Some peripherals on Bay Trail and Cherry Trail platforms signal a -Power Management Event (PME) to the Power Management Controller (PMC) -to wakeup the system. When this happens software needs to explicitly -clear the PME bus 0 status bit in the GPE0a_STS register to avoid an -IRQ storm on IRQ 9. - -This is modelled in ACPI through the INT0002 ACPI device, which is -called a "Virtual GPIO controller" in ACPI because it defines the -event handler to call when the PME triggers through _AEI and _L02 -methods as would be done for a real GPIO interrupt in ACPI. - -This commit adds a driver which registers the Virtual GPIOs expected -by the DSDT on these devices, letting gpiolib-acpi claim the -virtual GPIO and install a GPIO-interrupt handler which call the _L02 -handler as it would for a real GPIO controller. - -Cc: joeyli <jlee@suse.com> -Cc: Takashi Iwai <tiwai@suse.de> -Signed-off-by: Hans de Goede <hdegoede@redhat.com> -Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> -Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> -Reviewed-by: Linus Walleij <linus.walleij@linaro.org> ---- -Changes in v2: --Remove dev_err after malloc failure --Remove unused empty runtime pm callbacks --s/GPE0A_PME_/GPE0A_PME_B0_/ --Fixed some checkpatch warnings (I forgot to run checkpatch on v1) - -Changes in v3: --Rewrite as gpiochip driver letting gpiolib-acpi deal with claiming the pin - 0x0002 and calling the _L02 event handler when the virtual gpio-irq triggers --Rebase on 4.12-rc1 - -Changes in v4: --Drop device_init_wakeup() from _probe(), use pm_system_wakeup() instead - of pm_wakeup_hard_event(chip->parent) --Improve commit message - -Changes in v5: --Use BIT() macro for FOO_BIT defines --Drop unneeded ACPI_PTR macro usage - -Changes in v6: --Move back to drivers/platform/x86 --Expand certain acronyms (PME, PMC) --Use linux/gpio/driver.h include instead of linux/gpio.h --Document why the get / set / direction_output functions are dummys --No functional changes - -Changes in v7: --Some minor cleanups from Andy: - -Move asm/ includes below linux/ includes - -s/APCI/ACPI/ - -Use bitmap_clear on chip->irq_valid_mask --Add Linus Walleij's Reviewed-by ---- - drivers/platform/x86/Kconfig | 19 +++ - drivers/platform/x86/Makefile | 1 + - drivers/platform/x86/intel_int0002_vgpio.c | 219 +++++++++++++++++++++++++++++ - 3 files changed, 239 insertions(+) - create mode 100644 drivers/platform/x86/intel_int0002_vgpio.c - -diff --git a/drivers/platform/x86/Kconfig b/drivers/platform/x86/Kconfig -index 8489020ecf44..a3ccc3c795a5 100644 ---- a/drivers/platform/x86/Kconfig -+++ b/drivers/platform/x86/Kconfig -@@ -794,6 +794,25 @@ config INTEL_CHT_INT33FE - This driver instantiates i2c-clients for these, so that standard - i2c drivers for these chips can bind to the them. - -+config INTEL_INT0002_VGPIO -+ tristate "Intel ACPI INT0002 Virtual GPIO driver" -+ depends on GPIOLIB && ACPI -+ select GPIOLIB_IRQCHIP -+ ---help--- -+ Some peripherals on Bay Trail and Cherry Trail platforms signal a -+ Power Management Event (PME) to the Power Management Controller (PMC) -+ to wakeup the system. When this happens software needs to explicitly -+ clear the PME bus 0 status bit in the GPE0a_STS register to avoid an -+ IRQ storm on IRQ 9. -+ -+ This is modelled in ACPI through the INT0002 ACPI device, which is -+ called a "Virtual GPIO controller" in ACPI because it defines the -+ event handler to call when the PME triggers through _AEI and _L02 -+ methods as would be done for a real GPIO interrupt in ACPI. -+ -+ To compile this driver as a module, choose M here: the module will -+ be called intel_int0002_vgpio. -+ - config INTEL_HID_EVENT - tristate "INTEL HID Event" - depends on ACPI -diff --git a/drivers/platform/x86/Makefile b/drivers/platform/x86/Makefile -index 182a3ed6605a..ab22ce77fb66 100644 ---- a/drivers/platform/x86/Makefile -+++ b/drivers/platform/x86/Makefile -@@ -46,6 +46,7 @@ obj-$(CONFIG_TOSHIBA_BT_RFKILL) += toshiba_bluetooth.o - obj-$(CONFIG_TOSHIBA_HAPS) += toshiba_haps.o - obj-$(CONFIG_TOSHIBA_WMI) += toshiba-wmi.o - obj-$(CONFIG_INTEL_CHT_INT33FE) += intel_cht_int33fe.o -+obj-$(CONFIG_INTEL_INT0002_VGPIO) += intel_int0002_vgpio.o - obj-$(CONFIG_INTEL_HID_EVENT) += intel-hid.o - obj-$(CONFIG_INTEL_VBTN) += intel-vbtn.o - obj-$(CONFIG_INTEL_SCU_IPC) += intel_scu_ipc.o -diff --git a/drivers/platform/x86/intel_int0002_vgpio.c b/drivers/platform/x86/intel_int0002_vgpio.c -new file mode 100644 -index 000000000000..92dc230ef5b2 ---- /dev/null -+++ b/drivers/platform/x86/intel_int0002_vgpio.c -@@ -0,0 +1,219 @@ -+/* -+ * Intel INT0002 "Virtual GPIO" driver -+ * -+ * Copyright (C) 2017 Hans de Goede <hdegoede@redhat.com> -+ * -+ * Loosely based on android x86 kernel code which is: -+ * -+ * Copyright (c) 2014, Intel Corporation. -+ * -+ * Author: Dyut Kumar Sil <dyut.k.sil@intel.com> -+ * -+ * 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. -+ * -+ * Some peripherals on Bay Trail and Cherry Trail platforms signal a Power -+ * Management Event (PME) to the Power Management Controller (PMC) to wakeup -+ * the system. When this happens software needs to clear the PME bus 0 status -+ * bit in the GPE0a_STS register to avoid an IRQ storm on IRQ 9. -+ * -+ * This is modelled in ACPI through the INT0002 ACPI device, which is -+ * called a "Virtual GPIO controller" in ACPI because it defines the event -+ * handler to call when the PME triggers through _AEI and _L02 / _E02 -+ * methods as would be done for a real GPIO interrupt in ACPI. Note this -+ * is a hack to define an AML event handler for the PME while using existing -+ * ACPI mechanisms, this is not a real GPIO at all. -+ * -+ * This driver will bind to the INT0002 device, and register as a GPIO -+ * controller, letting gpiolib-acpi.c call the _L02 handler as it would -+ * for a real GPIO controller. -+ */ -+ -+#include <linux/acpi.h> -+#include <linux/bitmap.h> -+#include <linux/gpio/driver.h> -+#include <linux/interrupt.h> -+#include <linux/io.h> -+#include <linux/kernel.h> -+#include <linux/module.h> -+#include <linux/platform_device.h> -+#include <linux/slab.h> -+#include <linux/suspend.h> -+ -+#include <asm/cpu_device_id.h> -+#include <asm/intel-family.h> -+ -+#define DRV_NAME "INT0002 Virtual GPIO" -+ -+/* For some reason the virtual GPIO pin tied to the GPE is numbered pin 2 */ -+#define GPE0A_PME_B0_VIRT_GPIO_PIN 2 -+ -+#define GPE0A_PME_B0_STS_BIT BIT(13) -+#define GPE0A_PME_B0_EN_BIT BIT(13) -+#define GPE0A_STS_PORT 0x420 -+#define GPE0A_EN_PORT 0x428 -+ -+#define ICPU(model) { X86_VENDOR_INTEL, 6, model, X86_FEATURE_ANY, } -+ -+static const struct x86_cpu_id int0002_cpu_ids[] = { -+/* -+ * Limit ourselves to Cherry Trail for now, until testing shows we -+ * need to handle the INT0002 device on Baytrail too. -+ * ICPU(INTEL_FAM6_ATOM_SILVERMONT1), * Valleyview, Bay Trail * -+ */ -+ ICPU(INTEL_FAM6_ATOM_AIRMONT), /* Braswell, Cherry Trail */ -+ {} -+}; -+ -+/* -+ * As this is not a real GPIO at all, but just a hack to model an event in -+ * ACPI the get / set functions are dummy functions. -+ */ -+ -+static int int0002_gpio_get(struct gpio_chip *chip, unsigned int offset) -+{ -+ return 0; -+} -+ -+static void int0002_gpio_set(struct gpio_chip *chip, unsigned int offset, -+ int value) -+{ -+} -+ -+static int int0002_gpio_direction_output(struct gpio_chip *chip, -+ unsigned int offset, int value) -+{ -+ return 0; -+} -+ -+static void int0002_irq_ack(struct irq_data *data) -+{ -+ outl(GPE0A_PME_B0_STS_BIT, GPE0A_STS_PORT); -+} -+ -+static void int0002_irq_unmask(struct irq_data *data) -+{ -+ u32 gpe_en_reg; -+ -+ gpe_en_reg = inl(GPE0A_EN_PORT); -+ gpe_en_reg |= GPE0A_PME_B0_EN_BIT; -+ outl(gpe_en_reg, GPE0A_EN_PORT); -+} -+ -+static void int0002_irq_mask(struct irq_data *data) -+{ -+ u32 gpe_en_reg; -+ -+ gpe_en_reg = inl(GPE0A_EN_PORT); -+ gpe_en_reg &= ~GPE0A_PME_B0_EN_BIT; -+ outl(gpe_en_reg, GPE0A_EN_PORT); -+} -+ -+static irqreturn_t int0002_irq(int irq, void *data) -+{ -+ struct gpio_chip *chip = data; -+ u32 gpe_sts_reg; -+ -+ gpe_sts_reg = inl(GPE0A_STS_PORT); -+ if (!(gpe_sts_reg & GPE0A_PME_B0_STS_BIT)) -+ return IRQ_NONE; -+ -+ generic_handle_irq(irq_find_mapping(chip->irqdomain, -+ GPE0A_PME_B0_VIRT_GPIO_PIN)); -+ -+ pm_system_wakeup(); -+ -+ return IRQ_HANDLED; -+} -+ -+static struct irq_chip int0002_irqchip = { -+ .name = DRV_NAME, -+ .irq_ack = int0002_irq_ack, -+ .irq_mask = int0002_irq_mask, -+ .irq_unmask = int0002_irq_unmask, -+}; -+ -+static int int0002_probe(struct platform_device *pdev) -+{ -+ struct device *dev = &pdev->dev; -+ const struct x86_cpu_id *cpu_id; -+ struct gpio_chip *chip; -+ int irq, ret; -+ -+ /* Menlow has a different INT0002 device? <sigh> */ -+ cpu_id = x86_match_cpu(int0002_cpu_ids); -+ if (!cpu_id) -+ return -ENODEV; -+ -+ irq = platform_get_irq(pdev, 0); -+ if (irq < 0) { -+ dev_err(dev, "Error getting IRQ: %d\n", irq); -+ return irq; -+ } -+ -+ chip = devm_kzalloc(dev, sizeof(*chip), GFP_KERNEL); -+ if (!chip) -+ return -ENOMEM; -+ -+ chip->label = DRV_NAME; -+ chip->parent = dev; -+ chip->owner = THIS_MODULE; -+ chip->get = int0002_gpio_get; -+ chip->set = int0002_gpio_set; -+ chip->direction_input = int0002_gpio_get; -+ chip->direction_output = int0002_gpio_direction_output; -+ chip->base = -1; -+ chip->ngpio = GPE0A_PME_B0_VIRT_GPIO_PIN + 1; -+ chip->irq_need_valid_mask = true; -+ -+ ret = devm_gpiochip_add_data(&pdev->dev, chip, NULL); -+ if (ret) { -+ dev_err(dev, "Error adding gpio chip: %d\n", ret); -+ return ret; -+ } -+ -+ bitmap_clear(chip->irq_valid_mask, 0, GPE0A_PME_B0_VIRT_GPIO_PIN); -+ -+ /* -+ * We manually request the irq here instead of passing a flow-handler -+ * to gpiochip_set_chained_irqchip, because the irq is shared. -+ */ -+ ret = devm_request_irq(dev, irq, int0002_irq, -+ IRQF_SHARED | IRQF_NO_THREAD, "INT0002", chip); -+ if (ret) { -+ dev_err(dev, "Error requesting IRQ %d: %d\n", irq, ret); -+ return ret; -+ } -+ -+ ret = gpiochip_irqchip_add(chip, &int0002_irqchip, 0, handle_edge_irq, -+ IRQ_TYPE_NONE); -+ if (ret) { -+ dev_err(dev, "Error adding irqchip: %d\n", ret); -+ return ret; -+ } -+ -+ gpiochip_set_chained_irqchip(chip, &int0002_irqchip, irq, NULL); -+ -+ return 0; -+} -+ -+static const struct acpi_device_id int0002_acpi_ids[] = { -+ { "INT0002", 0 }, -+ { }, -+}; -+MODULE_DEVICE_TABLE(acpi, int0002_acpi_ids); -+ -+static struct platform_driver int0002_driver = { -+ .driver = { -+ .name = DRV_NAME, -+ .acpi_match_table = int0002_acpi_ids, -+ }, -+ .probe = int0002_probe, -+}; -+ -+module_platform_driver(int0002_driver); -+ -+MODULE_AUTHOR("Hans de Goede <hdegoede@redhat.com>"); -+MODULE_DESCRIPTION("Intel INT0002 Virtual GPIO driver"); -+MODULE_LICENSE("GPL"); --- -2.13.0 - diff --git a/freed-ora/current/f26/0001-power-supply-max17042_battery-Add-support-for-ACPI-e.patch b/freed-ora/current/f26/0001-power-supply-max17042_battery-Add-support-for-ACPI-e.patch deleted file mode 100644 index 858cd5a34..000000000 --- a/freed-ora/current/f26/0001-power-supply-max17042_battery-Add-support-for-ACPI-e.patch +++ /dev/null @@ -1,78 +0,0 @@ -From 075bb90dbb4d894938c5859e3850987238db9cd8 Mon Sep 17 00:00:00 2001 -From: Hans de Goede <hdegoede@redhat.com> -Date: Fri, 11 Aug 2017 22:30:55 +0200 -Subject: [PATCH 1/2] power: supply: max17042_battery: Add support for ACPI - enumeration - -Some x86 devices enumerate a max17047 fuel-gauge through a MAX17047 -ACPI firmware-node, add support for this. - -Signed-off-by: Hans de Goede <hdegoede@redhat.com> ---- - drivers/power/supply/max17042_battery.c | 22 +++++++++++++++++++++- - 1 file changed, 21 insertions(+), 1 deletion(-) - -diff --git a/drivers/power/supply/max17042_battery.c b/drivers/power/supply/max17042_battery.c -index aecaaa2b0586..b2ddb7eb69c6 100644 ---- a/drivers/power/supply/max17042_battery.c -+++ b/drivers/power/supply/max17042_battery.c -@@ -22,6 +22,7 @@ - * This driver is based on max17040_battery.c - */ - -+#include <linux/acpi.h> - #include <linux/init.h> - #include <linux/module.h> - #include <linux/slab.h> -@@ -982,6 +983,8 @@ static int max17042_probe(struct i2c_client *client, - struct i2c_adapter *adapter = to_i2c_adapter(client->dev.parent); - const struct power_supply_desc *max17042_desc = &max17042_psy_desc; - struct power_supply_config psy_cfg = {}; -+ const struct acpi_device_id *acpi_id; -+ struct device *dev = &client->dev; - struct max17042_chip *chip; - int ret; - int i; -@@ -995,7 +998,15 @@ static int max17042_probe(struct i2c_client *client, - return -ENOMEM; - - chip->client = client; -- chip->chip_type = id->driver_data; -+ if (id) { -+ chip->chip_type = id->driver_data; -+ } else { -+ acpi_id = acpi_match_device(dev->driver->acpi_match_table, dev); -+ if (!acpi_id) -+ return -ENODEV; -+ -+ chip->chip_type = acpi_id->driver_data; -+ } - chip->regmap = devm_regmap_init_i2c(client, &max17042_regmap_config); - if (IS_ERR(chip->regmap)) { - dev_err(&client->dev, "Failed to initialize regmap\n"); -@@ -1104,6 +1115,14 @@ static int max17042_resume(struct device *dev) - static SIMPLE_DEV_PM_OPS(max17042_pm_ops, max17042_suspend, - max17042_resume); - -+#ifdef CONFIG_ACPI -+static const struct acpi_device_id max17042_acpi_match[] = { -+ { "MAX17047", MAXIM_DEVICE_TYPE_MAX17047 }, -+ { } -+}; -+MODULE_DEVICE_TABLE(acpi, max17042_acpi_match); -+#endif -+ - #ifdef CONFIG_OF - static const struct of_device_id max17042_dt_match[] = { - { .compatible = "maxim,max17042" }, -@@ -1125,6 +1144,7 @@ MODULE_DEVICE_TABLE(i2c, max17042_id); - static struct i2c_driver max17042_i2c_driver = { - .driver = { - .name = "max17042", -+ .acpi_match_table = ACPI_PTR(max17042_acpi_match), - .of_match_table = of_match_ptr(max17042_dt_match), - .pm = &max17042_pm_ops, - }, --- -2.13.4 - diff --git a/freed-ora/current/f26/0001-powerpc-64s-radix-Fix-128TB-512TB-virtual-address-bo.patch b/freed-ora/current/f26/0001-powerpc-64s-radix-Fix-128TB-512TB-virtual-address-bo.patch deleted file mode 100644 index 4d2bbfaf7..000000000 --- a/freed-ora/current/f26/0001-powerpc-64s-radix-Fix-128TB-512TB-virtual-address-bo.patch +++ /dev/null @@ -1,204 +0,0 @@ -From aca20afc84cf8578e044c67c4949672ac98f064a Mon Sep 17 00:00:00 2001 -From: Nicholas Piggin <npiggin@gmail.com> -Date: Tue, 28 Nov 2017 11:26:54 +0100 -Subject: [PATCH 1/5] powerpc/64s/radix: Fix 128TB-512TB virtual address - boundary case allocation - -commit 85e3f1adcb9d49300b0a943bb93f9604be375bfb upstream. - -Radix VA space allocations test addresses against mm->task_size which -is 512TB, even in cases where the intention is to limit allocation to -below 128TB. - -This results in mmap with a hint address below 128TB but address + -length above 128TB succeeding when it should fail (as hash does after -the previous patch). - -Set the high address limit to be considered up front, and base -subsequent allocation checks on that consistently. - -Fixes: f4ea6dcb08ea ("powerpc/mm: Enable mappings above 128TB") -Signed-off-by: Nicholas Piggin <npiggin@gmail.com> -Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> -Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> -Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> ---- - arch/powerpc/mm/hugetlbpage-radix.c | 26 ++++++++++++------ - arch/powerpc/mm/mmap.c | 55 ++++++++++++++++++++++--------------- - 2 files changed, 50 insertions(+), 31 deletions(-) - -diff --git a/arch/powerpc/mm/hugetlbpage-radix.c b/arch/powerpc/mm/hugetlbpage-radix.c -index a12e86395025..0a3d71aae175 100644 ---- a/arch/powerpc/mm/hugetlbpage-radix.c -+++ b/arch/powerpc/mm/hugetlbpage-radix.c -@@ -48,17 +48,28 @@ radix__hugetlb_get_unmapped_area(struct file *file, unsigned long addr, - struct mm_struct *mm = current->mm; - struct vm_area_struct *vma; - struct hstate *h = hstate_file(file); -+ int fixed = (flags & MAP_FIXED); -+ unsigned long high_limit; - struct vm_unmapped_area_info info; - -- if (unlikely(addr > mm->context.addr_limit && addr < TASK_SIZE)) -- mm->context.addr_limit = TASK_SIZE; -+ high_limit = DEFAULT_MAP_WINDOW; -+ if (addr >= high_limit || (fixed && (addr + len > high_limit))) -+ high_limit = TASK_SIZE; - - if (len & ~huge_page_mask(h)) - return -EINVAL; -- if (len > mm->task_size) -+ if (len > high_limit) - return -ENOMEM; -+ if (fixed) { -+ if (addr > high_limit - len) -+ return -ENOMEM; -+ } - -- if (flags & MAP_FIXED) { -+ if (unlikely(addr > mm->context.addr_limit && -+ mm->context.addr_limit != TASK_SIZE)) -+ mm->context.addr_limit = TASK_SIZE; -+ -+ if (fixed) { - if (prepare_hugepage_range(file, addr, len)) - return -EINVAL; - return addr; -@@ -67,7 +78,7 @@ radix__hugetlb_get_unmapped_area(struct file *file, unsigned long addr, - if (addr) { - addr = ALIGN(addr, huge_page_size(h)); - vma = find_vma(mm, addr); -- if (mm->task_size - len >= addr && -+ if (high_limit - len >= addr && - (!vma || addr + len <= vm_start_gap(vma))) - return addr; - } -@@ -78,12 +89,9 @@ radix__hugetlb_get_unmapped_area(struct file *file, unsigned long addr, - info.flags = VM_UNMAPPED_AREA_TOPDOWN; - info.length = len; - info.low_limit = PAGE_SIZE; -- info.high_limit = current->mm->mmap_base; -+ info.high_limit = mm->mmap_base + (high_limit - DEFAULT_MAP_WINDOW); - info.align_mask = PAGE_MASK & ~huge_page_mask(h); - info.align_offset = 0; - -- if (addr > DEFAULT_MAP_WINDOW) -- info.high_limit += mm->context.addr_limit - DEFAULT_MAP_WINDOW; -- - return vm_unmapped_area(&info); - } -diff --git a/arch/powerpc/mm/mmap.c b/arch/powerpc/mm/mmap.c -index 5d78b193fec4..6d476a7b5611 100644 ---- a/arch/powerpc/mm/mmap.c -+++ b/arch/powerpc/mm/mmap.c -@@ -106,22 +106,32 @@ radix__arch_get_unmapped_area(struct file *filp, unsigned long addr, - { - struct mm_struct *mm = current->mm; - struct vm_area_struct *vma; -+ int fixed = (flags & MAP_FIXED); -+ unsigned long high_limit; - struct vm_unmapped_area_info info; - -+ high_limit = DEFAULT_MAP_WINDOW; -+ if (addr >= high_limit || (fixed && (addr + len > high_limit))) -+ high_limit = TASK_SIZE; -+ -+ if (len > high_limit) -+ return -ENOMEM; -+ if (fixed) { -+ if (addr > high_limit - len) -+ return -ENOMEM; -+ } -+ - if (unlikely(addr > mm->context.addr_limit && - mm->context.addr_limit != TASK_SIZE)) - mm->context.addr_limit = TASK_SIZE; - -- if (len > mm->task_size - mmap_min_addr) -- return -ENOMEM; -- -- if (flags & MAP_FIXED) -+ if (fixed) - return addr; - - if (addr) { - addr = PAGE_ALIGN(addr); - vma = find_vma(mm, addr); -- if (mm->task_size - len >= addr && addr >= mmap_min_addr && -+ if (high_limit - len >= addr && addr >= mmap_min_addr && - (!vma || addr + len <= vm_start_gap(vma))) - return addr; - } -@@ -129,13 +139,9 @@ radix__arch_get_unmapped_area(struct file *filp, unsigned long addr, - info.flags = 0; - info.length = len; - info.low_limit = mm->mmap_base; -+ info.high_limit = high_limit; - info.align_mask = 0; - -- if (unlikely(addr > DEFAULT_MAP_WINDOW)) -- info.high_limit = mm->context.addr_limit; -- else -- info.high_limit = DEFAULT_MAP_WINDOW; -- - return vm_unmapped_area(&info); - } - -@@ -149,37 +155,42 @@ radix__arch_get_unmapped_area_topdown(struct file *filp, - struct vm_area_struct *vma; - struct mm_struct *mm = current->mm; - unsigned long addr = addr0; -+ int fixed = (flags & MAP_FIXED); -+ unsigned long high_limit; - struct vm_unmapped_area_info info; - -+ high_limit = DEFAULT_MAP_WINDOW; -+ if (addr >= high_limit || (fixed && (addr + len > high_limit))) -+ high_limit = TASK_SIZE; -+ -+ if (len > high_limit) -+ return -ENOMEM; -+ if (fixed) { -+ if (addr > high_limit - len) -+ return -ENOMEM; -+ } -+ - if (unlikely(addr > mm->context.addr_limit && - mm->context.addr_limit != TASK_SIZE)) - mm->context.addr_limit = TASK_SIZE; - -- /* requested length too big for entire address space */ -- if (len > mm->task_size - mmap_min_addr) -- return -ENOMEM; -- -- if (flags & MAP_FIXED) -+ if (fixed) - return addr; - -- /* requesting a specific address */ - if (addr) { - addr = PAGE_ALIGN(addr); - vma = find_vma(mm, addr); -- if (mm->task_size - len >= addr && addr >= mmap_min_addr && -- (!vma || addr + len <= vm_start_gap(vma))) -+ if (high_limit - len >= addr && addr >= mmap_min_addr && -+ (!vma || addr + len <= vm_start_gap(vma))) - return addr; - } - - info.flags = VM_UNMAPPED_AREA_TOPDOWN; - info.length = len; - info.low_limit = max(PAGE_SIZE, mmap_min_addr); -- info.high_limit = mm->mmap_base; -+ info.high_limit = mm->mmap_base + (high_limit - DEFAULT_MAP_WINDOW); - info.align_mask = 0; - -- if (addr > DEFAULT_MAP_WINDOW) -- info.high_limit += mm->context.addr_limit - DEFAULT_MAP_WINDOW; -- - addr = vm_unmapped_area(&info); - if (!(addr & ~PAGE_MASK)) - return addr; --- -2.14.3 - diff --git a/freed-ora/current/f26/0002-mfd-Add-Cherry-Trail-Whiskey-Cove-PMIC-driver.patch b/freed-ora/current/f26/0002-mfd-Add-Cherry-Trail-Whiskey-Cove-PMIC-driver.patch deleted file mode 100644 index 49975811b..000000000 --- a/freed-ora/current/f26/0002-mfd-Add-Cherry-Trail-Whiskey-Cove-PMIC-driver.patch +++ /dev/null @@ -1,355 +0,0 @@ -From c0f9254fdd0703ade018b2ff3a8cca433f781a11 Mon Sep 17 00:00:00 2001 -From: Hans de Goede <hdegoede@redhat.com> -Date: Sun, 26 Feb 2017 21:07:29 +0100 -Subject: [PATCH 02/16] mfd: Add Cherry Trail Whiskey Cove PMIC driver - -Add mfd driver for Intel CHT Whiskey Cove PMIC, based on various non -upstreamed CHT Whiskey Cove PMIC patches. - -This is a somewhat minimal version which adds irqchip support and cells -for: ACPI PMIC opregion support, the i2c-controller driving the external -charger irc and the pwrsrc/extcon block. - -Further cells can be added in the future if/when drivers are upstreamed -for them. - -Cc: Bin Gao <bin.gao@intel.com> -Cc: Felipe Balbi <felipe.balbi@linux.intel.com> -Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com> -Signed-off-by: Hans de Goede <hdegoede@redhat.com> -Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> ---- -Changes in v2: --Since this uses plain mfd and not the intel_soc_pmic stuff give it - its own Kconfig and allow this to be built as a module --Add missing #include <acpi/acpi_bus.h> - -Changes in v3: --Drop #include <acpi/acpi_bus.h> again, not the right fix for the build errors --Error out when the upper byte of the register-address passed to the regmap - functions is 0 rather then hardcoding an address in that case --Various minor style tweaks / cleanups --Move defines of regulator register addresses to intel_pmic_chtwc.c, - it is the only place where they are used --Drop now empty include/linux/mfd/intel_chtwc.h --Rename intel_soc_pmic_chtwc.c to intel_cht_wc.c to match Kconfig option name --Add irqchip support --Add external charger cell --Add pwrsrc cell - -Changes in v4: --Use PLATFORM_DEVID_NONE - -Changes in v5: --Change Kconfig option from tristate to boolean and add a select for the - i2c-bus driver, this is necessary because the chtwc PMIC provides an ACPI - OPRegion handler, which must be available before other drivers using it - are loaded, which can only be ensured if the mfd, opregion and i2c-bus - drivers are built in. This fixes errors like these during boot: - mmc0: SDHCI controller on ACPI [80860F14:00] using ADMA - ACPI Error: No handler for Region [REGS] (ffff93543b0cc3a8) [UserDefinedRegion] (20170119/evregion-166) - ACPI Error: Region UserDefinedRegion (ID=143) has no handler (20170119/exfldio-299) - ACPI Error: Method parse/execution failed [\_SB.PCI0.I2C7.PMI5.GET] (Node ffff93543b0cde10), AE_NOT_EXIST (20170119/psparse-543) - ACPI Error: Method parse/execution failed [\_SB.PCI0.SHC1._PS0] (Node ffff93543b0b5cd0), AE_NOT_EXIST (20170119/psparse-543) - acpi 80860F14:02: Failed to change power state to D0 --Some minor style and capitalization fixes from review by Lee Jones - -Changes in v6: --Fix Kconfig depends and selects to fix warning reported by kbuild test robot - -Changes in v7: --Add explanation why this is a bool and why it selects i2c-designwaree - to the help text rather then as comments in the Kconfig - -Changes in v8: --Remove MODULE macros, etc. now that this driver is a bool in Kconfig - -Changes in v9: --Some whitespace tweaks --Return -EINVAL from probe on invalid irq --Use probe_new i2c_driver callback ---- - drivers/mfd/Kconfig | 16 +++ - drivers/mfd/Makefile | 1 + - drivers/mfd/intel_soc_pmic_chtwc.c | 230 +++++++++++++++++++++++++++++++++++++ - 3 files changed, 247 insertions(+) - create mode 100644 drivers/mfd/intel_soc_pmic_chtwc.c - -diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig -index 3eb5c93595f6..5203a86b8f6c 100644 ---- a/drivers/mfd/Kconfig -+++ b/drivers/mfd/Kconfig -@@ -470,6 +470,22 @@ config INTEL_SOC_PMIC_BXTWC - thermal, charger and related power management functions - on these systems. - -+config INTEL_SOC_PMIC_CHTWC -+ bool "Support for Intel Cherry Trail Whiskey Cove PMIC" -+ depends on ACPI && HAS_IOMEM && I2C=y && COMMON_CLK -+ depends on X86 || COMPILE_TEST -+ select MFD_CORE -+ select REGMAP_I2C -+ select REGMAP_IRQ -+ select I2C_DESIGNWARE_PLATFORM -+ help -+ Select this option to enable support for the Intel Cherry Trail -+ Whiskey Cove PMIC found on some Intel Cherry Trail systems. -+ -+ This option is a bool as it provides an ACPI OpRegion which must be -+ available before any devices using it are probed. This option also -+ causes the designware-i2c driver to be builtin for the same reason. -+ - config MFD_INTEL_LPSS - tristate - select COMMON_CLK -diff --git a/drivers/mfd/Makefile b/drivers/mfd/Makefile -index c16bf1ea0ea9..6f6aed8cfccc 100644 ---- a/drivers/mfd/Makefile -+++ b/drivers/mfd/Makefile -@@ -214,6 +214,7 @@ obj-$(CONFIG_MFD_SKY81452) += sky81452.o - intel-soc-pmic-objs := intel_soc_pmic_core.o intel_soc_pmic_crc.o - obj-$(CONFIG_INTEL_SOC_PMIC) += intel-soc-pmic.o - obj-$(CONFIG_INTEL_SOC_PMIC_BXTWC) += intel_soc_pmic_bxtwc.o -+obj-$(CONFIG_INTEL_SOC_PMIC_CHTWC) += intel_soc_pmic_chtwc.o - obj-$(CONFIG_MFD_MT6397) += mt6397-core.o - - obj-$(CONFIG_MFD_ALTERA_A10SR) += altera-a10sr.o -diff --git a/drivers/mfd/intel_soc_pmic_chtwc.c b/drivers/mfd/intel_soc_pmic_chtwc.c -new file mode 100644 -index 000000000000..b35da01d5bcf ---- /dev/null -+++ b/drivers/mfd/intel_soc_pmic_chtwc.c -@@ -0,0 +1,230 @@ -+/* -+ * MFD core driver for Intel Cherrytrail Whiskey Cove PMIC -+ * -+ * Copyright (C) 2017 Hans de Goede <hdegoede@redhat.com> -+ * -+ * Based on various non upstream patches to support the CHT Whiskey Cove PMIC: -+ * Copyright (C) 2013-2015 Intel Corporation. All rights reserved. -+ * -+ * 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 <linux/acpi.h> -+#include <linux/delay.h> -+#include <linux/err.h> -+#include <linux/i2c.h> -+#include <linux/interrupt.h> -+#include <linux/kernel.h> -+#include <linux/mfd/core.h> -+#include <linux/mfd/intel_soc_pmic.h> -+#include <linux/regmap.h> -+ -+/* PMIC device registers */ -+#define REG_OFFSET_MASK GENMASK(7, 0) -+#define REG_ADDR_MASK GENMASK(15, 8) -+#define REG_ADDR_SHIFT 8 -+ -+#define CHT_WC_IRQLVL1 0x6e02 -+#define CHT_WC_IRQLVL1_MASK 0x6e0e -+ -+/* Whiskey Cove PMIC share same ACPI ID between different platforms */ -+#define CHT_WC_HRV 3 -+ -+/* Level 1 IRQs (level 2 IRQs are handled in the child device drivers) */ -+enum { -+ CHT_WC_PWRSRC_IRQ = 0, -+ CHT_WC_THRM_IRQ, -+ CHT_WC_BCU_IRQ, -+ CHT_WC_ADC_IRQ, -+ CHT_WC_EXT_CHGR_IRQ, -+ CHT_WC_GPIO_IRQ, -+ /* There is no irq 6 */ -+ CHT_WC_CRIT_IRQ = 7, -+}; -+ -+static struct resource cht_wc_pwrsrc_resources[] = { -+ DEFINE_RES_IRQ(CHT_WC_PWRSRC_IRQ), -+}; -+ -+static struct resource cht_wc_ext_charger_resources[] = { -+ DEFINE_RES_IRQ(CHT_WC_EXT_CHGR_IRQ), -+}; -+ -+static struct mfd_cell cht_wc_dev[] = { -+ { -+ .name = "cht_wcove_pwrsrc", -+ .num_resources = ARRAY_SIZE(cht_wc_pwrsrc_resources), -+ .resources = cht_wc_pwrsrc_resources, -+ }, { -+ .name = "cht_wcove_ext_chgr", -+ .num_resources = ARRAY_SIZE(cht_wc_ext_charger_resources), -+ .resources = cht_wc_ext_charger_resources, -+ }, -+ { .name = "cht_wcove_region", }, -+}; -+ -+/* -+ * The CHT Whiskey Cove covers multiple I2C addresses, with a 1 Byte -+ * register address space per I2C address, so we use 16 bit register -+ * addresses where the high 8 bits contain the I2C client address. -+ */ -+static int cht_wc_byte_reg_read(void *context, unsigned int reg, -+ unsigned int *val) -+{ -+ struct i2c_client *client = context; -+ int ret, orig_addr = client->addr; -+ -+ if (!(reg & REG_ADDR_MASK)) { -+ dev_err(&client->dev, "Error I2C address not specified\n"); -+ return -EINVAL; -+ } -+ -+ client->addr = (reg & REG_ADDR_MASK) >> REG_ADDR_SHIFT; -+ ret = i2c_smbus_read_byte_data(client, reg & REG_OFFSET_MASK); -+ client->addr = orig_addr; -+ -+ if (ret < 0) -+ return ret; -+ -+ *val = ret; -+ return 0; -+} -+ -+static int cht_wc_byte_reg_write(void *context, unsigned int reg, -+ unsigned int val) -+{ -+ struct i2c_client *client = context; -+ int ret, orig_addr = client->addr; -+ -+ if (!(reg & REG_ADDR_MASK)) { -+ dev_err(&client->dev, "Error I2C address not specified\n"); -+ return -EINVAL; -+ } -+ -+ client->addr = (reg & REG_ADDR_MASK) >> REG_ADDR_SHIFT; -+ ret = i2c_smbus_write_byte_data(client, reg & REG_OFFSET_MASK, val); -+ client->addr = orig_addr; -+ -+ return ret; -+} -+ -+static const struct regmap_config cht_wc_regmap_cfg = { -+ .reg_bits = 16, -+ .val_bits = 8, -+ .reg_write = cht_wc_byte_reg_write, -+ .reg_read = cht_wc_byte_reg_read, -+}; -+ -+static const struct regmap_irq cht_wc_regmap_irqs[] = { -+ REGMAP_IRQ_REG(CHT_WC_PWRSRC_IRQ, 0, BIT(CHT_WC_PWRSRC_IRQ)), -+ REGMAP_IRQ_REG(CHT_WC_THRM_IRQ, 0, BIT(CHT_WC_THRM_IRQ)), -+ REGMAP_IRQ_REG(CHT_WC_BCU_IRQ, 0, BIT(CHT_WC_BCU_IRQ)), -+ REGMAP_IRQ_REG(CHT_WC_ADC_IRQ, 0, BIT(CHT_WC_ADC_IRQ)), -+ REGMAP_IRQ_REG(CHT_WC_EXT_CHGR_IRQ, 0, BIT(CHT_WC_EXT_CHGR_IRQ)), -+ REGMAP_IRQ_REG(CHT_WC_GPIO_IRQ, 0, BIT(CHT_WC_GPIO_IRQ)), -+ REGMAP_IRQ_REG(CHT_WC_CRIT_IRQ, 0, BIT(CHT_WC_CRIT_IRQ)), -+}; -+ -+static const struct regmap_irq_chip cht_wc_regmap_irq_chip = { -+ .name = "cht_wc_irq_chip", -+ .status_base = CHT_WC_IRQLVL1, -+ .mask_base = CHT_WC_IRQLVL1_MASK, -+ .irqs = cht_wc_regmap_irqs, -+ .num_irqs = ARRAY_SIZE(cht_wc_regmap_irqs), -+ .num_regs = 1, -+}; -+ -+static int cht_wc_probe(struct i2c_client *client) -+{ -+ struct device *dev = &client->dev; -+ struct intel_soc_pmic *pmic; -+ acpi_status status; -+ unsigned long long hrv; -+ int ret; -+ -+ status = acpi_evaluate_integer(ACPI_HANDLE(dev), "_HRV", NULL, &hrv); -+ if (ACPI_FAILURE(status)) { -+ dev_err(dev, "Failed to get PMIC hardware revision\n"); -+ return -ENODEV; -+ } -+ if (hrv != CHT_WC_HRV) { -+ dev_err(dev, "Invalid PMIC hardware revision: %llu\n", hrv); -+ return -ENODEV; -+ } -+ if (client->irq < 0) { -+ dev_err(dev, "Invalid IRQ\n"); -+ return -EINVAL; -+ } -+ -+ pmic = devm_kzalloc(dev, sizeof(*pmic), GFP_KERNEL); -+ if (!pmic) -+ return -ENOMEM; -+ -+ pmic->irq = client->irq; -+ pmic->dev = dev; -+ i2c_set_clientdata(client, pmic); -+ -+ pmic->regmap = devm_regmap_init(dev, NULL, client, &cht_wc_regmap_cfg); -+ if (IS_ERR(pmic->regmap)) -+ return PTR_ERR(pmic->regmap); -+ -+ ret = devm_regmap_add_irq_chip(dev, pmic->regmap, pmic->irq, -+ IRQF_ONESHOT | IRQF_SHARED, 0, -+ &cht_wc_regmap_irq_chip, -+ &pmic->irq_chip_data); -+ if (ret) -+ return ret; -+ -+ return devm_mfd_add_devices(dev, PLATFORM_DEVID_NONE, -+ cht_wc_dev, ARRAY_SIZE(cht_wc_dev), NULL, 0, -+ regmap_irq_get_domain(pmic->irq_chip_data)); -+} -+ -+static void cht_wc_shutdown(struct i2c_client *client) -+{ -+ struct intel_soc_pmic *pmic = i2c_get_clientdata(client); -+ -+ disable_irq(pmic->irq); -+} -+ -+static int __maybe_unused cht_wc_suspend(struct device *dev) -+{ -+ struct intel_soc_pmic *pmic = dev_get_drvdata(dev); -+ -+ disable_irq(pmic->irq); -+ -+ return 0; -+} -+ -+static int __maybe_unused cht_wc_resume(struct device *dev) -+{ -+ struct intel_soc_pmic *pmic = dev_get_drvdata(dev); -+ -+ enable_irq(pmic->irq); -+ -+ return 0; -+} -+static SIMPLE_DEV_PM_OPS(cht_wc_pm_ops, cht_wc_suspend, cht_wc_resume); -+ -+static const struct i2c_device_id cht_wc_i2c_id[] = { -+ { } -+}; -+ -+static const struct acpi_device_id cht_wc_acpi_ids[] = { -+ { "INT34D3", }, -+ { } -+}; -+ -+static struct i2c_driver cht_wc_driver = { -+ .driver = { -+ .name = "CHT Whiskey Cove PMIC", -+ .pm = &cht_wc_pm_ops, -+ .acpi_match_table = cht_wc_acpi_ids, -+ }, -+ .probe_new = cht_wc_probe, -+ .shutdown = cht_wc_shutdown, -+ .id_table = cht_wc_i2c_id, -+}; -+builtin_i2c_driver(cht_wc_driver); --- -2.13.0 - diff --git a/freed-ora/current/f26/0002-power-supply-max17042_battery-Fix-ACPI-interrupt-iss.patch b/freed-ora/current/f26/0002-power-supply-max17042_battery-Fix-ACPI-interrupt-iss.patch deleted file mode 100644 index 6daecaf4d..000000000 --- a/freed-ora/current/f26/0002-power-supply-max17042_battery-Fix-ACPI-interrupt-iss.patch +++ /dev/null @@ -1,80 +0,0 @@ -From 27b9d46d25c873b351757c44ce523bf0ede1d08e Mon Sep 17 00:00:00 2001 -From: Hans de Goede <hdegoede@redhat.com> -Date: Mon, 14 Aug 2017 11:02:59 +0200 -Subject: [PATCH 2/2] power: supply: max17042_battery: Fix ACPI interrupt - issues - -On some x86/ACPI boards the DSDT defines an ACPI event handler for -the max17047 IRQ, this causes several problems: - -1) We need to share the IRQ to avoid an error getting it - -2) Even of we are willing to share, we may fail to share because some - DSDTs claim it exclusivly - -3) If we are unable to share the IRQ, or the IRQ is only listed as an - ACPI event source and not in the max1704 firmware node, then the - charge threshold IRQ (which is used to give an IRQ every 1 percent - charge change) becomes a problem, the ACPI event handler will not - update this to the next 1 percent threshold, so the IRQ keeps firing - and we get an IRQ storm pegging 1 CPU core. - - This happens despite the max17042 driver not setting the charge - threshold because Windows uses it and leaves it set on reboot. - - So if we are unable to get the IRQ we need to reprogram the - charge threshold to its disabled setting. - -This commit fixes al of the above, while at it it also makes the error -msg when being unable to get the IRQ consistent with other messages. - -Signed-off-by: Hans de Goede <hdegoede@redhat.com> ---- - drivers/power/supply/max17042_battery.c | 20 +++++++++++++++----- - 1 file changed, 15 insertions(+), 5 deletions(-) - -diff --git a/drivers/power/supply/max17042_battery.c b/drivers/power/supply/max17042_battery.c -index b2ddb7eb69c6..18a44e4ed6ff 100644 ---- a/drivers/power/supply/max17042_battery.c -+++ b/drivers/power/supply/max17042_battery.c -@@ -1050,11 +1050,18 @@ static int max17042_probe(struct i2c_client *client, - } - - if (client->irq) { -+ unsigned int flags = IRQF_TRIGGER_FALLING | IRQF_ONESHOT; -+ -+ /* -+ * On ACPI systems the IRQ may be handled by ACPI-event code, -+ * so we need to share (if the ACPI code is willing to share). -+ */ -+ if (acpi_id) -+ flags |= IRQF_SHARED | IRQF_PROBE_SHARED; -+ - ret = devm_request_threaded_irq(&client->dev, client->irq, - NULL, -- max17042_thread_handler, -- IRQF_TRIGGER_FALLING | -- IRQF_ONESHOT, -+ max17042_thread_handler, flags, - chip->battery->desc->name, - chip); - if (!ret) { -@@ -1064,10 +1071,13 @@ static int max17042_probe(struct i2c_client *client, - max17042_set_soc_threshold(chip, 1); - } else { - client->irq = 0; -- dev_err(&client->dev, "%s(): cannot get IRQ\n", -- __func__); -+ if (ret != -EBUSY) -+ dev_err(&client->dev, "Failed to get IRQ\n"); - } - } -+ /* Not able to update the charge threshold when exceeded? -> disable */ -+ if (!client->irq) -+ regmap_write(chip->regmap, MAX17042_SALRT_Th, 0xff00); - - regmap_read(chip->regmap, MAX17042_STATUS, &val); - if (val & STATUS_POR_BIT) { --- -2.13.4 - diff --git a/freed-ora/current/f26/0002-powerpc-64s-hash-Fix-512T-hint-detection-to-use-128T.patch b/freed-ora/current/f26/0002-powerpc-64s-hash-Fix-512T-hint-detection-to-use-128T.patch deleted file mode 100644 index fc6b806d7..000000000 --- a/freed-ora/current/f26/0002-powerpc-64s-hash-Fix-512T-hint-detection-to-use-128T.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 75c7f5172c113af1ea3cf094436c9e03191673e0 Mon Sep 17 00:00:00 2001 -From: Michael Ellerman <mpe@ellerman.id.au> -Date: Tue, 28 Nov 2017 11:26:55 +0100 -Subject: [PATCH 2/5] powerpc/64s/hash: Fix 512T hint detection to use >= 128T - -commit 7ece370996b694ae263025e056ad785afc1be5ab upstream. - -Currently userspace is able to request mmap() search between 128T-512T -by specifying a hint address that is greater than 128T. But that means -a hint of 128T exactly will return an address below 128T, which is -confusing and wrong. - -So fix the logic to check the hint is greater than *or equal* to 128T. - -Fixes: f4ea6dcb08ea ("powerpc/mm: Enable mappings above 128TB") -Suggested-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> -Suggested-by: Nicholas Piggin <npiggin@gmail.com> -[mpe: Split out of Nick's bigger patch] -Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> -Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> ---- - arch/powerpc/mm/slice.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/arch/powerpc/mm/slice.c b/arch/powerpc/mm/slice.c -index 45f6740dd407..48a5312103a1 100644 ---- a/arch/powerpc/mm/slice.c -+++ b/arch/powerpc/mm/slice.c -@@ -419,7 +419,7 @@ unsigned long slice_get_unmapped_area(unsigned long addr, unsigned long len, - /* - * Check if we need to expland slice area. - */ -- if (unlikely(addr > mm->context.addr_limit && -+ if (unlikely(addr >= mm->context.addr_limit && - mm->context.addr_limit != TASK_SIZE)) { - mm->context.addr_limit = TASK_SIZE; - on_each_cpu(slice_flush_segments, mm, 1); -@@ -427,7 +427,7 @@ unsigned long slice_get_unmapped_area(unsigned long addr, unsigned long len, - /* - * This mmap request can allocate upt to 512TB - */ -- if (addr > DEFAULT_MAP_WINDOW) -+ if (addr >= DEFAULT_MAP_WINDOW) - high_limit = mm->context.addr_limit; - else - high_limit = DEFAULT_MAP_WINDOW; --- -2.14.3 - diff --git a/freed-ora/current/f26/0003-power-supply-core-Add-support-for-supplied-from-devi.patch b/freed-ora/current/f26/0003-power-supply-core-Add-support-for-supplied-from-devi.patch deleted file mode 100644 index ab646e2e5..000000000 --- a/freed-ora/current/f26/0003-power-supply-core-Add-support-for-supplied-from-devi.patch +++ /dev/null @@ -1,57 +0,0 @@ -From 69dd0606a0d8680fe0a5e9b959f6662e582e1674 Mon Sep 17 00:00:00 2001 -From: Hans de Goede <hdegoede@redhat.com> -Date: Tue, 2 May 2017 13:43:34 +0200 -Subject: [PATCH 03/16] power: supply: core: Add support for supplied-from - device-property - -On devicetree using platforms the devicetree can provide info on which -power-supplies supply another power-supply through phandles. - -This commit adds support for providing this info on non devicetree -platforms through the platform code setting a supplied-from -device-property on the power-supplies parent device. - -Signed-off-by: Hans de Goede <hdegoede@redhat.com> ---- - drivers/power/supply/power_supply_core.c | 24 +++++++++++++++++++++++- - 1 file changed, 23 insertions(+), 1 deletion(-) - -diff --git a/drivers/power/supply/power_supply_core.c b/drivers/power/supply/power_supply_core.c -index 7ec7c7c202bd..0c09144193a6 100644 ---- a/drivers/power/supply/power_supply_core.c -+++ b/drivers/power/supply/power_supply_core.c -@@ -274,8 +274,30 @@ static int power_supply_check_supplies(struct power_supply *psy) - return power_supply_populate_supplied_from(psy); - } - #else --static inline int power_supply_check_supplies(struct power_supply *psy) -+static int power_supply_check_supplies(struct power_supply *psy) - { -+ int nval, ret; -+ -+ if (!psy->dev.parent) -+ return 0; -+ -+ nval = device_property_read_string_array(psy->dev.parent, -+ "supplied-from", NULL, 0); -+ if (nval <= 0) -+ return 0; -+ -+ psy->supplied_from = devm_kmalloc_array(&psy->dev, nval, -+ sizeof(char *), GFP_KERNEL); -+ if (!psy->supplied_from) -+ return -ENOMEM; -+ -+ ret = device_property_read_string_array(psy->dev.parent, -+ "supplied-from", (const char **)psy->supplied_from, nval); -+ if (ret < 0) -+ return ret; -+ -+ psy->num_supplies = nval; -+ - return 0; - } - #endif --- -2.13.0 - diff --git a/freed-ora/current/f26/0003-powerpc-64s-hash-Fix-128TB-512TB-virtual-address-bou.patch b/freed-ora/current/f26/0003-powerpc-64s-hash-Fix-128TB-512TB-virtual-address-bou.patch deleted file mode 100644 index 009068a3b..000000000 --- a/freed-ora/current/f26/0003-powerpc-64s-hash-Fix-128TB-512TB-virtual-address-bou.patch +++ /dev/null @@ -1,129 +0,0 @@ -From e90387a8d2227f95bf5e5b5ffd816d48a87466e2 Mon Sep 17 00:00:00 2001 -From: Nicholas Piggin <npiggin@gmail.com> -Date: Tue, 28 Nov 2017 11:26:56 +0100 -Subject: [PATCH 3/5] powerpc/64s/hash: Fix 128TB-512TB virtual address - boundary case allocation - -commit 6a72dc038b615229a1b285829d6c8378d15c2347 upstream. - -When allocating VA space with a hint that crosses 128TB, the SLB -addr_limit variable is not expanded if addr is not > 128TB, but the -slice allocation looks at task_size, which is 512TB. This results in -slice_check_fit() incorrectly succeeding because the slice_count -truncates off bit 128 of the requested mask, so the comparison to the -available mask succeeds. - -Fix this by using mm->context.addr_limit instead of mm->task_size for -testing allocation limits. This causes such allocations to fail. - -Fixes: f4ea6dcb08ea ("powerpc/mm: Enable mappings above 128TB") -Reported-by: Florian Weimer <fweimer@redhat.com> -Signed-off-by: Nicholas Piggin <npiggin@gmail.com> -Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> -Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> -Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> ---- - arch/powerpc/mm/slice.c | 50 ++++++++++++++++++++++++------------------------- - 1 file changed, 24 insertions(+), 26 deletions(-) - -diff --git a/arch/powerpc/mm/slice.c b/arch/powerpc/mm/slice.c -index 48a5312103a1..3889201b560c 100644 ---- a/arch/powerpc/mm/slice.c -+++ b/arch/powerpc/mm/slice.c -@@ -96,7 +96,7 @@ static int slice_area_is_free(struct mm_struct *mm, unsigned long addr, - { - struct vm_area_struct *vma; - -- if ((mm->task_size - len) < addr) -+ if ((mm->context.addr_limit - len) < addr) - return 0; - vma = find_vma(mm, addr); - return (!vma || (addr + len) <= vm_start_gap(vma)); -@@ -133,7 +133,7 @@ static void slice_mask_for_free(struct mm_struct *mm, struct slice_mask *ret) - if (!slice_low_has_vma(mm, i)) - ret->low_slices |= 1u << i; - -- if (mm->task_size <= SLICE_LOW_TOP) -+ if (mm->context.addr_limit <= SLICE_LOW_TOP) - return; - - for (i = 0; i < GET_HIGH_SLICE_INDEX(mm->context.addr_limit); i++) -@@ -412,25 +412,31 @@ unsigned long slice_get_unmapped_area(unsigned long addr, unsigned long len, - struct slice_mask compat_mask; - int fixed = (flags & MAP_FIXED); - int pshift = max_t(int, mmu_psize_defs[psize].shift, PAGE_SHIFT); -+ unsigned long page_size = 1UL << pshift; - struct mm_struct *mm = current->mm; - unsigned long newaddr; - unsigned long high_limit; - -- /* -- * Check if we need to expland slice area. -- */ -- if (unlikely(addr >= mm->context.addr_limit && -- mm->context.addr_limit != TASK_SIZE)) { -- mm->context.addr_limit = TASK_SIZE; -+ high_limit = DEFAULT_MAP_WINDOW; -+ if (addr >= high_limit) -+ high_limit = TASK_SIZE; -+ -+ if (len > high_limit) -+ return -ENOMEM; -+ if (len & (page_size - 1)) -+ return -EINVAL; -+ if (fixed) { -+ if (addr & (page_size - 1)) -+ return -EINVAL; -+ if (addr > high_limit - len) -+ return -ENOMEM; -+ } -+ -+ if (high_limit > mm->context.addr_limit) { -+ mm->context.addr_limit = high_limit; - on_each_cpu(slice_flush_segments, mm, 1); - } -- /* -- * This mmap request can allocate upt to 512TB -- */ -- if (addr >= DEFAULT_MAP_WINDOW) -- high_limit = mm->context.addr_limit; -- else -- high_limit = DEFAULT_MAP_WINDOW; -+ - /* - * init different masks - */ -@@ -446,27 +452,19 @@ unsigned long slice_get_unmapped_area(unsigned long addr, unsigned long len, - - /* Sanity checks */ - BUG_ON(mm->task_size == 0); -+ BUG_ON(mm->context.addr_limit == 0); - VM_BUG_ON(radix_enabled()); - - slice_dbg("slice_get_unmapped_area(mm=%p, psize=%d...\n", mm, psize); - slice_dbg(" addr=%lx, len=%lx, flags=%lx, topdown=%d\n", - addr, len, flags, topdown); - -- if (len > mm->task_size) -- return -ENOMEM; -- if (len & ((1ul << pshift) - 1)) -- return -EINVAL; -- if (fixed && (addr & ((1ul << pshift) - 1))) -- return -EINVAL; -- if (fixed && addr > (mm->task_size - len)) -- return -ENOMEM; -- - /* If hint, make sure it matches our alignment restrictions */ - if (!fixed && addr) { -- addr = _ALIGN_UP(addr, 1ul << pshift); -+ addr = _ALIGN_UP(addr, page_size); - slice_dbg(" aligned addr=%lx\n", addr); - /* Ignore hint if it's too large or overlaps a VMA */ -- if (addr > mm->task_size - len || -+ if (addr > high_limit - len || - !slice_area_is_free(mm, addr, len)) - addr = 0; - } --- -2.14.3 - diff --git a/freed-ora/current/f26/0004-platform-x86-intel_cht_int33fe-Set-supplied-from-pro.patch b/freed-ora/current/f26/0004-platform-x86-intel_cht_int33fe-Set-supplied-from-pro.patch deleted file mode 100644 index 342a48c54..000000000 --- a/freed-ora/current/f26/0004-platform-x86-intel_cht_int33fe-Set-supplied-from-pro.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 99c44df299d96db6a170ccce9b8108fc2e7f8bae Mon Sep 17 00:00:00 2001 -From: Hans de Goede <hdegoede@redhat.com> -Date: Tue, 2 May 2017 13:40:44 +0200 -Subject: [PATCH 04/16] platform/x86: intel_cht_int33fe: Set supplied-from - property on max17047 dev - -Devices with the intel_cht_int33fe ACPI device use a max17047 fuel-gauge -combined with a bq24272i charger, in order for the fuel-gauge driver to -correctly display charging / discharging status it needs to know which -charger is supplying the battery. - -This commit sets the supplied-from device property to the name of the -bq24272i charger for this. - -Signed-off-by: Hans de Goede <hdegoede@redhat.com> ---- - drivers/platform/x86/intel_cht_int33fe.c | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git a/drivers/platform/x86/intel_cht_int33fe.c b/drivers/platform/x86/intel_cht_int33fe.c -index 6a1b2ca5b6fe..da706e2c4232 100644 ---- a/drivers/platform/x86/intel_cht_int33fe.c -+++ b/drivers/platform/x86/intel_cht_int33fe.c -@@ -34,6 +34,13 @@ struct cht_int33fe_data { - struct i2c_client *pi3usb30532; - }; - -+static const char * const max17047_suppliers[] = { "bq24190-charger" }; -+ -+static const struct property_entry max17047_props[] = { -+ PROPERTY_ENTRY_STRING_ARRAY("supplied-from", max17047_suppliers), -+ { } -+}; -+ - static int cht_int33fe_probe(struct i2c_client *client) - { - struct device *dev = &client->dev; -@@ -70,6 +77,7 @@ static int cht_int33fe_probe(struct i2c_client *client) - - memset(&board_info, 0, sizeof(board_info)); - strlcpy(board_info.type, "max17047", I2C_NAME_SIZE); -+ board_info.properties = max17047_props; - - data->max17047 = i2c_acpi_new_device(dev, 1, &board_info); - if (!data->max17047) --- -2.13.0 - diff --git a/freed-ora/current/f26/0004-powerpc-64s-hash-Fix-fork-with-512TB-process-address.patch b/freed-ora/current/f26/0004-powerpc-64s-hash-Fix-fork-with-512TB-process-address.patch deleted file mode 100644 index 75d9d3241..000000000 --- a/freed-ora/current/f26/0004-powerpc-64s-hash-Fix-fork-with-512TB-process-address.patch +++ /dev/null @@ -1,48 +0,0 @@ -From fe50aa4374f20333d9b077bbe09397d38112b081 Mon Sep 17 00:00:00 2001 -From: Nicholas Piggin <npiggin@gmail.com> -Date: Tue, 28 Nov 2017 11:26:57 +0100 -Subject: [PATCH 4/5] powerpc/64s/hash: Fix fork() with 512TB process address - space - -commit effc1b25088502fbd30305c79773de2d1f7470a6 upstream. - -Hash unconditionally resets the addr_limit to default (128TB) when the -mm context is initialised. If a process has > 128TB mappings when it -forks, the child will not get the 512TB addr_limit, so accesses to -valid > 128TB mappings will fail in the child. - -Fix this by only resetting the addr_limit to default if it was 0. Non -zero indicates it was duplicated from the parent (0 means exec()). - -Fixes: f4ea6dcb08ea ("powerpc/mm: Enable mappings above 128TB") -Signed-off-by: Nicholas Piggin <npiggin@gmail.com> -Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> -Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> -Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> ---- - arch/powerpc/mm/mmu_context_book3s64.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/arch/powerpc/mm/mmu_context_book3s64.c b/arch/powerpc/mm/mmu_context_book3s64.c -index a75f63833284..bb9cdf01fc4f 100644 ---- a/arch/powerpc/mm/mmu_context_book3s64.c -+++ b/arch/powerpc/mm/mmu_context_book3s64.c -@@ -95,11 +95,11 @@ static int hash__init_new_context(struct mm_struct *mm) - return index; - - /* -- * We do switch_slb() early in fork, even before we setup the -- * mm->context.addr_limit. Default to max task size so that we copy the -- * default values to paca which will help us to handle slb miss early. -+ * In the case of exec, use the default limit, -+ * otherwise inherit it from the mm we are duplicating. - */ -- mm->context.addr_limit = DEFAULT_MAP_WINDOW_USER64; -+ if (!mm->context.addr_limit) -+ mm->context.addr_limit = DEFAULT_MAP_WINDOW_USER64; - - /* - * The old code would re-promote on fork, we don't do that when using --- -2.14.3 - diff --git a/freed-ora/current/f26/0005-ACPI-PMIC-xpower-Add-support-for-the-GPI1-regulator-.patch b/freed-ora/current/f26/0005-ACPI-PMIC-xpower-Add-support-for-the-GPI1-regulator-.patch deleted file mode 100644 index c6f299c29..000000000 --- a/freed-ora/current/f26/0005-ACPI-PMIC-xpower-Add-support-for-the-GPI1-regulator-.patch +++ /dev/null @@ -1,80 +0,0 @@ -From cc2b0e2c164d02ab42efa736f91f53baf8d8bc36 Mon Sep 17 00:00:00 2001 -From: Hans de Goede <hdegoede@redhat.com> -Date: Thu, 20 Apr 2017 22:41:20 +0200 -Subject: [PATCH 05/16] ACPI / PMIC: xpower: Add support for the GPI1 regulator - to the OpRegion handler - -Some Bay Trail devices use a GPI1 regulator field (address 0x4c) in -their 0x8d power OpRegion, add support for this. - -This fixes AE_BAD_PARAMETER errors getting thrown on these devices and -fixes these errors causing these devices to not suspend. - -Signed-off-by: Hans de Goede <hdegoede@redhat.com> -Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> ---- -Changes in v2: --Simplify reg == 0x92 handling (suggested by Andy Shevchenko) --Add special handling for reg == 0x92 to intel_xpower_pmic_get_power() too -Changes in v3: --Use defines for GPI1 reg and bits, rather then hardcoded hex values ---- - drivers/acpi/pmic/intel_pmic_xpower.c | 21 ++++++++++++++++++++- - 1 file changed, 20 insertions(+), 1 deletion(-) - -diff --git a/drivers/acpi/pmic/intel_pmic_xpower.c b/drivers/acpi/pmic/intel_pmic_xpower.c -index 1a76c784cd4c..3b7d5be5b7ed 100644 ---- a/drivers/acpi/pmic/intel_pmic_xpower.c -+++ b/drivers/acpi/pmic/intel_pmic_xpower.c -@@ -21,6 +21,11 @@ - #include "intel_pmic.h" - - #define XPOWER_GPADC_LOW 0x5b -+#define XPOWER_GPI1_CTRL 0x92 -+ -+#define GPI1_LDO_MASK GENMASK(2, 0) -+#define GPI1_LDO_ON (3 << 0) -+#define GPI1_LDO_OFF (4 << 0) - - static struct pmic_table power_table[] = { - { -@@ -118,6 +123,10 @@ static struct pmic_table power_table[] = { - .reg = 0x10, - .bit = 0x00 - }, /* BUC6 */ -+ { -+ .address = 0x4c, -+ .reg = 0x92, -+ }, /* GPI1 */ - }; - - /* TMP0 - TMP5 are the same, all from GPADC */ -@@ -156,7 +165,12 @@ static int intel_xpower_pmic_get_power(struct regmap *regmap, int reg, - if (regmap_read(regmap, reg, &data)) - return -EIO; - -- *value = (data & BIT(bit)) ? 1 : 0; -+ /* GPIO1 LDO regulator needs special handling */ -+ if (reg == XPOWER_GPI1_CTRL) -+ *value = ((data & GPI1_LDO_MASK) == GPI1_LDO_ON); -+ else -+ *value = (data & BIT(bit)) ? 1 : 0; -+ - return 0; - } - -@@ -165,6 +179,11 @@ static int intel_xpower_pmic_update_power(struct regmap *regmap, int reg, - { - int data; - -+ /* GPIO1 LDO regulator needs special handling */ -+ if (reg == XPOWER_GPI1_CTRL) -+ return regmap_update_bits(regmap, reg, GPI1_LDO_MASK, -+ on ? GPI1_LDO_ON : GPI1_LDO_OFF); -+ - if (regmap_read(regmap, reg, &data)) - return -EIO; - --- -2.13.0 - diff --git a/freed-ora/current/f26/0005-powerpc-64s-hash-Allow-MAP_FIXED-allocations-to-cros.patch b/freed-ora/current/f26/0005-powerpc-64s-hash-Allow-MAP_FIXED-allocations-to-cros.patch deleted file mode 100644 index e7e9a4acf..000000000 --- a/freed-ora/current/f26/0005-powerpc-64s-hash-Allow-MAP_FIXED-allocations-to-cros.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 2beb551e379191c2a24e7db8c4fcc64fef4b921a Mon Sep 17 00:00:00 2001 -From: Nicholas Piggin <npiggin@gmail.com> -Date: Tue, 28 Nov 2017 11:26:58 +0100 -Subject: [PATCH 5/5] powerpc/64s/hash: Allow MAP_FIXED allocations to cross - 128TB boundary - -commit 35602f82d0c765f991420e319c8d3a596c921eb8 upstream. - -While mapping hints with a length that cross 128TB are disallowed, -MAP_FIXED allocations that cross 128TB are allowed. These are failing -on hash (on radix they succeed). Add an additional case for fixed -mappings to expand the addr_limit when crossing 128TB. - -Fixes: f4ea6dcb08ea ("powerpc/mm: Enable mappings above 128TB") -Signed-off-by: Nicholas Piggin <npiggin@gmail.com> -Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> -Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> -Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> ---- - arch/powerpc/mm/slice.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/arch/powerpc/mm/slice.c b/arch/powerpc/mm/slice.c -index 3889201b560c..a4f93699194b 100644 ---- a/arch/powerpc/mm/slice.c -+++ b/arch/powerpc/mm/slice.c -@@ -418,7 +418,7 @@ unsigned long slice_get_unmapped_area(unsigned long addr, unsigned long len, - unsigned long high_limit; - - high_limit = DEFAULT_MAP_WINDOW; -- if (addr >= high_limit) -+ if (addr >= high_limit || (fixed && (addr + len > high_limit))) - high_limit = TASK_SIZE; - - if (len > high_limit) --- -2.14.3 - diff --git a/freed-ora/current/f26/0006-Input-axp20x-pek-Add-wakeup-support.patch b/freed-ora/current/f26/0006-Input-axp20x-pek-Add-wakeup-support.patch deleted file mode 100644 index 1ec9659bd..000000000 --- a/freed-ora/current/f26/0006-Input-axp20x-pek-Add-wakeup-support.patch +++ /dev/null @@ -1,67 +0,0 @@ -From fbac4c05ec1d7c2d949f50baf1e934cbfbb6a494 Mon Sep 17 00:00:00 2001 -From: Hans de Goede <hdegoede@redhat.com> -Date: Mon, 17 Apr 2017 22:06:25 +0200 -Subject: [PATCH 06/16] Input: axp20x-pek - Add wakeup support - -At least on devices with the AXP288 PMIC the device is expected to -wakeup from suspend when the power-button gets pressed, add support -for this. - -Signed-off-by: Hans de Goede <hdegoede@redhat.com> ---- - drivers/input/misc/axp20x-pek.c | 28 ++++++++++++++++++++++++++++ - 1 file changed, 28 insertions(+) - -diff --git a/drivers/input/misc/axp20x-pek.c b/drivers/input/misc/axp20x-pek.c -index 400869e61a06..5f16fceaae83 100644 ---- a/drivers/input/misc/axp20x-pek.c -+++ b/drivers/input/misc/axp20x-pek.c -@@ -253,6 +253,9 @@ static int axp20x_pek_probe_input_device(struct axp20x_pek *axp20x_pek, - return error; - } - -+ if (axp20x_pek->axp20x->variant == AXP288_ID) -+ enable_irq_wake(axp20x_pek->irq_dbr); -+ - return 0; - } - -@@ -331,10 +334,35 @@ static int axp20x_pek_probe(struct platform_device *pdev) - return 0; - } - -+static int __maybe_unused axp20x_pek_resume_noirq(struct device *dev) -+{ -+ struct axp20x_pek *axp20x_pek = dev_get_drvdata(dev); -+ -+ if (axp20x_pek->axp20x->variant != AXP288_ID) -+ return 0; -+ -+ /* -+ * Clear interrupts from button presses during suspend, to avoid -+ * a wakeup power-button press getting reported to userspace. -+ */ -+ regmap_write(axp20x_pek->axp20x->regmap, -+ AXP20X_IRQ1_STATE + AXP288_IRQ_POKN / 8, -+ BIT(AXP288_IRQ_POKN % 8)); -+ -+ return 0; -+} -+ -+const struct dev_pm_ops axp20x_pek_pm_ops = { -+#ifdef CONFIG_PM_SLEEP -+ .resume_noirq = axp20x_pek_resume_noirq, -+#endif -+}; -+ - static struct platform_driver axp20x_pek_driver = { - .probe = axp20x_pek_probe, - .driver = { - .name = "axp20x-pek", -+ .pm = &axp20x_pek_pm_ops, - }, - }; - module_platform_driver(axp20x_pek_driver); --- -2.13.0 - diff --git a/freed-ora/current/f26/0007-platform-x86-silead_dmi-Add-touchscreen-info-for-GP-.patch b/freed-ora/current/f26/0007-platform-x86-silead_dmi-Add-touchscreen-info-for-GP-.patch deleted file mode 100644 index 53408bb34..000000000 --- a/freed-ora/current/f26/0007-platform-x86-silead_dmi-Add-touchscreen-info-for-GP-.patch +++ /dev/null @@ -1,56 +0,0 @@ -From d95c127c48ef784214671359a41ac505ac30098a Mon Sep 17 00:00:00 2001 -From: Hans de Goede <hdegoede@redhat.com> -Date: Sun, 7 May 2017 12:32:11 +0200 -Subject: [PATCH 07/16] platform/x86: silead_dmi: Add touchscreen info for - GP-electronic T701 - -Add touchscreen info for the GP-electronic T701 tablet. - -Signed-off-by: Hans de Goede <hdegoede@redhat.com> ---- - drivers/platform/x86/silead_dmi.c | 22 ++++++++++++++++++++++ - 1 file changed, 22 insertions(+) - -diff --git a/drivers/platform/x86/silead_dmi.c b/drivers/platform/x86/silead_dmi.c -index a3a57d93cf06..db3a877d2160 100644 ---- a/drivers/platform/x86/silead_dmi.c -+++ b/drivers/platform/x86/silead_dmi.c -@@ -80,6 +80,19 @@ static const struct silead_ts_dmi_data surftab_wintron70_st70416_6_data = { - .properties = surftab_wintron70_st70416_6_props, - }; - -+static const struct property_entry gp_electronic_t701_props[] = { -+ PROPERTY_ENTRY_U32("touchscreen-size-x", 960), -+ PROPERTY_ENTRY_U32("touchscreen-size-y", 640), -+ PROPERTY_ENTRY_STRING("firmware-name", -+ "/*(DEBLOBBED)*/"), -+ { } -+}; -+ -+static const struct silead_ts_dmi_data gp_electronic_t701_data = { -+ .acpi_name = "MSSL1680:00", -+ .properties = gp_electronic_t701_props, -+}; -+ - static const struct dmi_system_id silead_ts_dmi_table[] = { - { - /* CUBE iwork8 Air */ -@@ -117,6 +130,15 @@ static const struct dmi_system_id silead_ts_dmi_table[] = { - DMI_MATCH(DMI_BIOS_VERSION, "TREK.G.WI71C.JGBMRBA04"), - }, - }, -+ { -+ /* GP-electronic T701 */ -+ .driver_data = (void *)&gp_electronic_t701_data, -+ .matches = { -+ DMI_MATCH(DMI_SYS_VENDOR, "Insyde"), -+ DMI_MATCH(DMI_PRODUCT_NAME, "T701"), -+ DMI_MATCH(DMI_BIOS_VERSION, "BYT70A.YNCHENG.WIN.007"), -+ }, -+ }, - { }, - }; - --- -2.13.0 - diff --git a/freed-ora/current/f26/0008-platform-x86-silead_dmi-Add-touchscreen-info-for-PoV.patch b/freed-ora/current/f26/0008-platform-x86-silead_dmi-Add-touchscreen-info-for-PoV.patch deleted file mode 100644 index b88720035..000000000 --- a/freed-ora/current/f26/0008-platform-x86-silead_dmi-Add-touchscreen-info-for-PoV.patch +++ /dev/null @@ -1,59 +0,0 @@ -From 55b347c61b2850d1e11e159ab02dc71f13b06481 Mon Sep 17 00:00:00 2001 -From: Hans de Goede <hdegoede@redhat.com> -Date: Sun, 11 Jun 2017 17:42:31 +0200 -Subject: [PATCH 08/16] platform/x86: silead_dmi: Add touchscreen info for PoV - mobii wintab p800w - -Add touchscreen info for the Point of View mobii wintab p800w tablet. - -Signed-off-by: Hans de Goede <hdegoede@redhat.com> ---- - drivers/platform/x86/silead_dmi.c | 25 +++++++++++++++++++++++++ - 1 file changed, 25 insertions(+) - -diff --git a/drivers/platform/x86/silead_dmi.c b/drivers/platform/x86/silead_dmi.c -index db3a877d2160..46c5e1ebfb53 100644 ---- a/drivers/platform/x86/silead_dmi.c -+++ b/drivers/platform/x86/silead_dmi.c -@@ -93,6 +93,20 @@ static const struct silead_ts_dmi_data gp_electronic_t701_data = { - .properties = gp_electronic_t701_props, - }; - -+static const struct property_entry pov_mobii_wintab_p800w_props[] = { -+ PROPERTY_ENTRY_U32("touchscreen-size-x", 1800), -+ PROPERTY_ENTRY_U32("touchscreen-size-y", 1150), -+ PROPERTY_ENTRY_BOOL("touchscreen-swapped-x-y"), -+ PROPERTY_ENTRY_STRING("firmware-name", -+ "/*(DEBLOBBED)*/"), -+ { } -+}; -+ -+static const struct silead_ts_dmi_data pov_mobii_wintab_p800w_data = { -+ .acpi_name = "MSSL1680:00", -+ .properties = pov_mobii_wintab_p800w_props, -+}; -+ - static const struct dmi_system_id silead_ts_dmi_table[] = { - { - /* CUBE iwork8 Air */ -@@ -139,6 +153,17 @@ static const struct dmi_system_id silead_ts_dmi_table[] = { - DMI_MATCH(DMI_BIOS_VERSION, "BYT70A.YNCHENG.WIN.007"), - }, - }, -+ { -+ /* Point of View mobii wintab p800w */ -+ .driver_data = (void *)&pov_mobii_wintab_p800w_data, -+ .matches = { -+ DMI_MATCH(DMI_BOARD_VENDOR, "AMI Corporation"), -+ DMI_MATCH(DMI_BOARD_NAME, "Aptio CRB"), -+ DMI_MATCH(DMI_BIOS_VERSION, "3BAIR1013"), -+ /* Above matches are too generic, add bios-date match */ -+ DMI_MATCH(DMI_BIOS_DATE, "08/22/2014"), -+ }, -+ }, - { }, - }; - --- -2.13.0 - diff --git a/freed-ora/current/f26/0009-platform-x86-silead_dmi-Add-touchscreen-info-for-Pip.patch b/freed-ora/current/f26/0009-platform-x86-silead_dmi-Add-touchscreen-info-for-Pip.patch deleted file mode 100644 index 980142557..000000000 --- a/freed-ora/current/f26/0009-platform-x86-silead_dmi-Add-touchscreen-info-for-Pip.patch +++ /dev/null @@ -1,57 +0,0 @@ -From b239a7a0c2a1435aa5cbab3f233e0c37e82943dd Mon Sep 17 00:00:00 2001 -From: Hans de Goede <hdegoede@redhat.com> -Date: Tue, 13 Jun 2017 18:17:07 +0200 -Subject: [PATCH 09/16] platform/x86: silead_dmi: Add touchscreen info for Pipo - W2S tablet - -Add touchscreen info for Pipo W2S tablet. - -Signed-off-by: Hans de Goede <hdegoede@redhat.com> ---- - drivers/platform/x86/silead_dmi.c | 23 +++++++++++++++++++++++ - 1 file changed, 23 insertions(+) - -diff --git a/drivers/platform/x86/silead_dmi.c b/drivers/platform/x86/silead_dmi.c -index 46c5e1ebfb53..25cbea307a5e 100644 ---- a/drivers/platform/x86/silead_dmi.c -+++ b/drivers/platform/x86/silead_dmi.c -@@ -107,6 +107,21 @@ static const struct silead_ts_dmi_data pov_mobii_wintab_p800w_data = { - .properties = pov_mobii_wintab_p800w_props, - }; - -+static const struct property_entry pipo_w2s_props[] = { -+ PROPERTY_ENTRY_U32("touchscreen-size-x", 1660), -+ PROPERTY_ENTRY_U32("touchscreen-size-y", 880), -+ PROPERTY_ENTRY_BOOL("touchscreen-inverted-x"), -+ PROPERTY_ENTRY_BOOL("touchscreen-swapped-x-y"), -+ PROPERTY_ENTRY_STRING("firmware-name", -+ "/*(DEBLOBBED)*/"), -+ { } -+}; -+ -+static const struct silead_ts_dmi_data pipo_w2s_data = { -+ .acpi_name = "MSSL1680:00", -+ .properties = pipo_w2s_props, -+}; -+ - static const struct dmi_system_id silead_ts_dmi_table[] = { - { - /* CUBE iwork8 Air */ -@@ -164,6 +179,14 @@ static const struct dmi_system_id silead_ts_dmi_table[] = { - DMI_MATCH(DMI_BIOS_DATE, "08/22/2014"), - }, - }, -+ { -+ /* Pipo W2S */ -+ .driver_data = (void *)&pipo_w2s_data, -+ .matches = { -+ DMI_MATCH(DMI_SYS_VENDOR, "PIPO"), -+ DMI_MATCH(DMI_PRODUCT_NAME, "W2S"), -+ }, -+ }, - { }, - }; - --- -2.13.0 - diff --git a/freed-ora/current/f26/0011-Input-goodix-Add-support-for-capacitive-home-button.patch b/freed-ora/current/f26/0011-Input-goodix-Add-support-for-capacitive-home-button.patch deleted file mode 100644 index 162357c21..000000000 --- a/freed-ora/current/f26/0011-Input-goodix-Add-support-for-capacitive-home-button.patch +++ /dev/null @@ -1,53 +0,0 @@ -From 2a99775c336303d2efc43eab4f24b34722a28faa Mon Sep 17 00:00:00 2001 -From: "Sergei A. Trusov" <sergei.a.trusov@ya.ru> -Date: Tue, 20 Jun 2017 18:08:35 +0200 -Subject: [PATCH 11/16] Input: goodix: Add support for capacitive home button - -On some x86 tablets with a Goodix touchscreen, the Windows logo on the -front is a capacitive home button. Touching this button results in a touch -with bit 4 of the first byte set, while only the lower 4 bits (0-3) are -used to indicate the number of touches. - -Report a KEY_LEFTMETA press when this happens. - -Note that the hardware might support more than one button, in which -case the "id" byte of coor_data would identify the button in question. -This is not implemented as we don't have access to hardware with -multiple buttons. - -Signed-off-by: Sergei A. Trusov <sergei.a.trusov@ya.ru> -Acked-by: Bastien Nocera <hadess@hadess.net> ---- - drivers/input/touchscreen/goodix.c | 9 +++++++++ - 1 file changed, 9 insertions(+) - -diff --git a/drivers/input/touchscreen/goodix.c b/drivers/input/touchscreen/goodix.c -index 240b16f3ee97..903137d9cf7d 100644 ---- a/drivers/input/touchscreen/goodix.c -+++ b/drivers/input/touchscreen/goodix.c -@@ -267,6 +267,12 @@ static void goodix_process_events(struct goodix_ts_data *ts) - if (touch_num < 0) - return; - -+ /* -+ * Bit 4 of the first byte reports the status of the capacitive -+ * Windows/Home button. -+ */ -+ input_report_key(ts->input_dev, KEY_LEFTMETA, !!(point_data[0] & BIT(4))); -+ - for (i = 0; i < touch_num; i++) - goodix_ts_report_touch(ts, - &point_data[1 + GOODIX_CONTACT_SIZE * i]); -@@ -612,6 +618,9 @@ static int goodix_request_input_dev(struct goodix_ts_data *ts) - ts->input_dev->id.product = ts->id; - ts->input_dev->id.version = ts->version; - -+ /* Capacitive Windows/Home button on some devices */ -+ input_set_capability(ts->input_dev, EV_KEY, KEY_LEFTMETA); -+ - error = input_register_device(ts->input_dev); - if (error) { - dev_err(&ts->client->dev, --- -2.13.0 - diff --git a/freed-ora/current/f26/0012-Input-gpio_keys-Do-not-report-wake-button-presses-as.patch b/freed-ora/current/f26/0012-Input-gpio_keys-Do-not-report-wake-button-presses-as.patch deleted file mode 100644 index 9b52e3908..000000000 --- a/freed-ora/current/f26/0012-Input-gpio_keys-Do-not-report-wake-button-presses-as.patch +++ /dev/null @@ -1,150 +0,0 @@ -From 02b823a4d28ffb5fde5192799abd934d9de95630 Mon Sep 17 00:00:00 2001 -From: Hans de Goede <hdegoede@redhat.com> -Date: Fri, 6 Jan 2017 20:08:11 +0100 -Subject: [PATCH 12/16] Input: gpio_keys - Do not report wake button presses as - evdev events - -If a button is a wake button, it may still be bouncing from the press -to wakeup the device by the time the gpio interrupts get enabled again -and / or the gpio_keys_report_state call from gpio_keys_resume may -find the button still pressed and report this as a new press. - -This is undesirable, esp. since the powerbutton on tablets is typically -a wakeup source and uses the gpio_keys driver on some tablets, leading -to userspace immediately re-suspending the tablet after the powerbutton -is pressed, due to it seeing a powerbutton press. - -This commit ignores wakeup button presses for the first 1 second after -resume (and while resumed, as the workqueue may run before the resume -function runs), avoiding this problem. - -Signed-off-by: Hans de Goede <hdegoede@redhat.com> ---- -Note: maybe we should make WAKE_DEBOUNCE part of gpio_keys_button and -only do this when drivers / platform-data set this to a non-zero value ? ---- - drivers/input/keyboard/gpio_keys.c | 49 ++++++++++++++++++++++++++++++++++++-- - 1 file changed, 47 insertions(+), 2 deletions(-) - -diff --git a/drivers/input/keyboard/gpio_keys.c b/drivers/input/keyboard/gpio_keys.c -index da3d362f21b1..e1488b534e7d 100644 ---- a/drivers/input/keyboard/gpio_keys.c -+++ b/drivers/input/keyboard/gpio_keys.c -@@ -31,6 +31,8 @@ - #include <linux/of_irq.h> - #include <linux/spinlock.h> - -+#define WAKE_DEBOUNCE msecs_to_jiffies(1000) -+ - struct gpio_button_data { - const struct gpio_keys_button *button; - struct input_dev *input; -@@ -44,10 +46,14 @@ struct gpio_button_data { - struct delayed_work work; - unsigned int software_debounce; /* in msecs, for GPIO-driven buttons */ - -+ unsigned long resume_time; /* in jiffies, for wakeup buttons */ -+ - unsigned int irq; - spinlock_t lock; - bool disabled; - bool key_pressed; -+ bool suspended; -+ bool resume_time_valid; - }; - - struct gpio_keys_drvdata { -@@ -356,6 +362,27 @@ static struct attribute_group gpio_keys_attr_group = { - .attrs = gpio_keys_attrs, - }; - -+static bool gpio_keys_ignore_wakeup_button_press(struct gpio_button_data *bdata) -+{ -+ unsigned long flags; -+ bool ret = false; -+ -+ if (!bdata->button->wakeup) -+ return ret; -+ -+ spin_lock_irqsave(&bdata->lock, flags); -+ -+ if (bdata->suspended) -+ ret = true; /* Our resume method did not run yet */ -+ else if (bdata->resume_time_valid && -+ time_before(jiffies, bdata->resume_time + WAKE_DEBOUNCE)) -+ ret = true; /* Assume this is a wakeup press and ignore */ -+ -+ spin_unlock_irqrestore(&bdata->lock, flags); -+ -+ return ret; -+} -+ - static void gpio_keys_gpio_report_event(struct gpio_button_data *bdata) - { - const struct gpio_keys_button *button = bdata->button; -@@ -370,6 +397,9 @@ static void gpio_keys_gpio_report_event(struct gpio_button_data *bdata) - return; - } - -+ if (state && gpio_keys_ignore_wakeup_button_press(bdata)) -+ return; -+ - if (type == EV_ABS) { - if (state) - input_event(input, type, button->code, button->value); -@@ -429,6 +459,9 @@ static irqreturn_t gpio_keys_irq_isr(int irq, void *dev_id) - - BUG_ON(irq != bdata->irq); - -+ if (gpio_keys_ignore_wakeup_button_press(bdata)) -+ return IRQ_HANDLED; -+ - spin_lock_irqsave(&bdata->lock, flags); - - if (!bdata->key_pressed) { -@@ -848,13 +881,18 @@ static int __maybe_unused gpio_keys_suspend(struct device *dev) - { - struct gpio_keys_drvdata *ddata = dev_get_drvdata(dev); - struct input_dev *input = ddata->input; -+ unsigned long flags; - int i; - - if (device_may_wakeup(dev)) { - for (i = 0; i < ddata->pdata->nbuttons; i++) { - struct gpio_button_data *bdata = &ddata->data[i]; -- if (bdata->button->wakeup) -+ if (bdata->button->wakeup) { -+ spin_lock_irqsave(&bdata->lock, flags); -+ bdata->suspended = true; -+ spin_unlock_irqrestore(&bdata->lock, flags); - enable_irq_wake(bdata->irq); -+ } - } - } else { - mutex_lock(&input->mutex); -@@ -870,14 +908,21 @@ static int __maybe_unused gpio_keys_resume(struct device *dev) - { - struct gpio_keys_drvdata *ddata = dev_get_drvdata(dev); - struct input_dev *input = ddata->input; -+ unsigned long flags; - int error = 0; - int i; - - if (device_may_wakeup(dev)) { - for (i = 0; i < ddata->pdata->nbuttons; i++) { - struct gpio_button_data *bdata = &ddata->data[i]; -- if (bdata->button->wakeup) -+ if (bdata->button->wakeup) { - disable_irq_wake(bdata->irq); -+ spin_lock_irqsave(&bdata->lock, flags); -+ bdata->resume_time = jiffies; -+ bdata->resume_time_valid = true; -+ bdata->suspended = false; -+ spin_unlock_irqrestore(&bdata->lock, flags); -+ } - } - } else { - mutex_lock(&input->mutex); --- -2.13.0 - diff --git a/freed-ora/current/f26/0013-iio-accel-bmc150-Add-support-for-BOSC0200-ACPI-devic.patch b/freed-ora/current/f26/0013-iio-accel-bmc150-Add-support-for-BOSC0200-ACPI-devic.patch deleted file mode 100644 index 8eb41ee3f..000000000 --- a/freed-ora/current/f26/0013-iio-accel-bmc150-Add-support-for-BOSC0200-ACPI-devic.patch +++ /dev/null @@ -1,32 +0,0 @@ -From bf3e9581e10a19b2ce77a45fe001116d269b4c7f Mon Sep 17 00:00:00 2001 -From: Hans de Goede <hdegoede@redhat.com> -Date: Sun, 18 Jun 2017 12:47:38 +0200 -Subject: [PATCH 13/16] iio: accel: bmc150: Add support for BOSC0200 ACPI - device id - -Add support for the BOSC0200 ACPI device id used on some x86 tablets. -note driver_data is not set to a specific model, driver_data is not -used anyways (instead detection is done on the chip_id reg) and the -2 tablets with a BOSC0200 ACPI device id I've have 2 different chips, -one has a BMA250E, the other a BMA222E. - -Signed-off-by: Hans de Goede <hdegoede@redhat.com> ---- - drivers/iio/accel/bmc150-accel-i2c.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/drivers/iio/accel/bmc150-accel-i2c.c b/drivers/iio/accel/bmc150-accel-i2c.c -index 8ca8041267ef..f85014fbaa12 100644 ---- a/drivers/iio/accel/bmc150-accel-i2c.c -+++ b/drivers/iio/accel/bmc150-accel-i2c.c -@@ -64,6 +64,7 @@ static const struct acpi_device_id bmc150_accel_acpi_match[] = { - {"BMA250E", bma250e}, - {"BMA222E", bma222e}, - {"BMA0280", bma280}, -+ {"BOSC0200"}, - { }, - }; - MODULE_DEVICE_TABLE(acpi, bmc150_accel_acpi_match); --- -2.13.0 - diff --git a/freed-ora/current/f26/0014-mmc-sdhci-acpi-Workaround-conflict-with-PCI-wifi-on-.patch b/freed-ora/current/f26/0014-mmc-sdhci-acpi-Workaround-conflict-with-PCI-wifi-on-.patch deleted file mode 100644 index b5c717c64..000000000 --- a/freed-ora/current/f26/0014-mmc-sdhci-acpi-Workaround-conflict-with-PCI-wifi-on-.patch +++ /dev/null @@ -1,143 +0,0 @@ -From 51eb7454942c68c84b82782e47637de3ba37f113 Mon Sep 17 00:00:00 2001 -From: Adrian Hunter <adrian.hunter@intel.com> -Date: Wed, 21 Jun 2017 15:08:39 +0300 -Subject: [PATCH 14/16] mmc: sdhci-acpi: Workaround conflict with PCI wifi on - GPD Win handheld - -GPDwin uses PCI wifi which conflicts with SDIO's use of -acpi_device_fix_up_power() on child device nodes. Specifically -acpi_device_fix_up_power() causes the wifi module to get turned off. -Identifying GPDwin is problematic, but since SDIO is only used for wifi, -the presence of the PCI wifi card in the expected slot with an ACPI -companion node, is used to indicate that acpi_device_fix_up_power() should -be avoided. - -Signed-off-by: Adrian Hunter <adrian.hunter@intel.com> -Acked-by: Hans de Goede <hdegoede@redhat.com> -Tested-by: Hans de Goede <hdegoede@redhat.com> -Cc: stable@vger.kernel.org ---- - drivers/mmc/host/sdhci-acpi.c | 70 +++++++++++++++++++++++++++++++++++++++---- - 1 file changed, 64 insertions(+), 6 deletions(-) - -diff --git a/drivers/mmc/host/sdhci-acpi.c b/drivers/mmc/host/sdhci-acpi.c -index c6a9a1bfaa22..b3fb155f50e4 100644 ---- a/drivers/mmc/host/sdhci-acpi.c -+++ b/drivers/mmc/host/sdhci-acpi.c -@@ -45,6 +45,7 @@ - #include <asm/cpu_device_id.h> - #include <asm/intel-family.h> - #include <asm/iosf_mbi.h> -+#include <linux/pci.h> - #endif - - #include "sdhci.h" -@@ -134,6 +135,16 @@ static bool sdhci_acpi_byt(void) - return x86_match_cpu(byt); - } - -+static bool sdhci_acpi_cht(void) -+{ -+ static const struct x86_cpu_id cht[] = { -+ { X86_VENDOR_INTEL, 6, INTEL_FAM6_ATOM_AIRMONT }, -+ {} -+ }; -+ -+ return x86_match_cpu(cht); -+} -+ - #define BYT_IOSF_SCCEP 0x63 - #define BYT_IOSF_OCP_NETCTRL0 0x1078 - #define BYT_IOSF_OCP_TIMEOUT_BASE GENMASK(10, 8) -@@ -178,6 +189,45 @@ static bool sdhci_acpi_byt_defer(struct device *dev) - return false; - } - -+static bool sdhci_acpi_cht_pci_wifi(unsigned int vendor, unsigned int device, -+ unsigned int slot, unsigned int parent_slot) -+{ -+ struct pci_dev *dev, *parent, *from = NULL; -+ -+ while (1) { -+ dev = pci_get_device(vendor, device, from); -+ pci_dev_put(from); -+ if (!dev) -+ break; -+ parent = pci_upstream_bridge(dev); -+ if (ACPI_COMPANION(&dev->dev) && PCI_SLOT(dev->devfn) == slot && -+ parent && PCI_SLOT(parent->devfn) == parent_slot && -+ !pci_upstream_bridge(parent)) { -+ pci_dev_put(dev); -+ return true; -+ } -+ from = dev; -+ } -+ -+ return false; -+} -+ -+/* -+ * GPDwin uses PCI wifi which conflicts with SDIO's use of -+ * acpi_device_fix_up_power() on child device nodes. Identifying GPDwin is -+ * problematic, but since SDIO is only used for wifi, the presence of the PCI -+ * wifi card in the expected slot with an ACPI companion node, is used to -+ * indicate that acpi_device_fix_up_power() should be avoided. -+ */ -+static inline bool sdhci_acpi_no_fixup_child_power(const char *hid, -+ const char *uid) -+{ -+ return sdhci_acpi_cht() && -+ !strcmp(hid, "80860F14") && -+ !strcmp(uid, "2") && -+ sdhci_acpi_cht_pci_wifi(0x14e4, 0x43ec, 0, 28); -+} -+ - #else - - static inline void sdhci_acpi_byt_setting(struct device *dev) -@@ -189,6 +239,12 @@ static inline bool sdhci_acpi_byt_defer(struct device *dev) - return false; - } - -+static inline bool sdhci_acpi_no_fixup_child_power(const char *hid, -+ const char *uid) -+{ -+ return false; -+} -+ - #endif - - static int bxt_get_cd(struct mmc_host *mmc) -@@ -390,11 +446,16 @@ static int sdhci_acpi_probe(struct platform_device *pdev) - if (acpi_bus_get_device(handle, &device)) - return -ENODEV; - -+ hid = acpi_device_hid(device); -+ uid = device->pnp.unique_id; -+ - /* Power on the SDHCI controller and its children */ - acpi_device_fix_up_power(device); -- list_for_each_entry(child, &device->children, node) -- if (child->status.present && child->status.enabled) -- acpi_device_fix_up_power(child); -+ if (!sdhci_acpi_no_fixup_child_power(hid, uid)) { -+ list_for_each_entry(child, &device->children, node) -+ if (child->status.present && child->status.enabled) -+ acpi_device_fix_up_power(child); -+ } - - if (acpi_bus_get_status(device) || !device->status.present) - return -ENODEV; -@@ -402,9 +463,6 @@ static int sdhci_acpi_probe(struct platform_device *pdev) - if (sdhci_acpi_byt_defer(dev)) - return -EPROBE_DEFER; - -- hid = acpi_device_hid(device); -- uid = device->pnp.unique_id; -- - iomem = platform_get_resource(pdev, IORESOURCE_MEM, 0); - if (!iomem) - return -ENOMEM; --- -2.13.0 - diff --git a/freed-ora/current/f26/0015-i2c-cht-wc-Add-Intel-Cherry-Trail-Whiskey-Cove-SMBUS.patch b/freed-ora/current/f26/0015-i2c-cht-wc-Add-Intel-Cherry-Trail-Whiskey-Cove-SMBUS.patch deleted file mode 100644 index 5d7497ce1..000000000 --- a/freed-ora/current/f26/0015-i2c-cht-wc-Add-Intel-Cherry-Trail-Whiskey-Cove-SMBUS.patch +++ /dev/null @@ -1,410 +0,0 @@ -From bd0d7169342e47919f68e75d659968f02b62f84b Mon Sep 17 00:00:00 2001 -From: Hans de Goede <hdegoede@redhat.com> -Date: Fri, 3 Mar 2017 23:48:50 +0100 -Subject: [PATCH 15/16] i2c-cht-wc: Add Intel Cherry Trail Whiskey Cove SMBUS - controller driver - -The Intel Cherry Trail Whiskey Cove PMIC does not contain a builtin -battery charger, instead boards with this PMIC use an external TI -bq24292i charger IC, which is connected to a SMBUS controller built into -the PMIC. - -This commit adds an i2c-bus driver for the PMIC's builtin SMBUS -controller. The probe function for this i2c-bus will also register an -i2c-client for the TI bq24292i charger after the i2c-bus has been -registered. - -Note that several device-properties are set on the client-device to -tell the bq24190 power-supply driver to integrate the Whiskey Cove PMIC -and e.g. use the PMIC's BC1.2 detection (through extcon) to determine -the maximum input current. - -Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com> -Signed-off-by: Hans de Goede <hdegoede@redhat.com> ---- -Changes in v2: --Various style (mostly captialization and variable name) fixes --Use device-properties instead of platform_data for the i2c_board_info ---- - drivers/i2c/busses/Kconfig | 8 + - drivers/i2c/busses/Makefile | 1 + - drivers/i2c/busses/i2c-cht-wc.c | 336 ++++++++++++++++++++++++++++++++++++++++ - 3 files changed, 345 insertions(+) - create mode 100644 drivers/i2c/busses/i2c-cht-wc.c - -diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig -index 144cbadc7c72..18c96178b177 100644 ---- a/drivers/i2c/busses/Kconfig -+++ b/drivers/i2c/busses/Kconfig -@@ -187,6 +187,14 @@ config I2C_PIIX4 - This driver can also be built as a module. If so, the module - will be called i2c-piix4. - -+config I2C_CHT_WC -+ tristate "Intel Cherry Trail Whiskey Cove PMIC smbus controller" -+ depends on INTEL_SOC_PMIC_CHTWC -+ help -+ If you say yes to this option, support will be included for the -+ SMBus controller found in the Intel Cherry Trail Whiskey Cove PMIC -+ found on some Intel Cherry Trail systems. -+ - config I2C_NFORCE2 - tristate "Nvidia nForce2, nForce3 and nForce4" - depends on PCI -diff --git a/drivers/i2c/busses/Makefile b/drivers/i2c/busses/Makefile -index 30b60855fbcd..f6443fa44f61 100644 ---- a/drivers/i2c/busses/Makefile -+++ b/drivers/i2c/busses/Makefile -@@ -12,6 +12,7 @@ obj-$(CONFIG_I2C_ALI15X3) += i2c-ali15x3.o - obj-$(CONFIG_I2C_AMD756) += i2c-amd756.o - obj-$(CONFIG_I2C_AMD756_S4882) += i2c-amd756-s4882.o - obj-$(CONFIG_I2C_AMD8111) += i2c-amd8111.o -+obj-$(CONFIG_I2C_CHT_WC) += i2c-cht-wc.o - obj-$(CONFIG_I2C_I801) += i2c-i801.o - obj-$(CONFIG_I2C_ISCH) += i2c-isch.o - obj-$(CONFIG_I2C_ISMT) += i2c-ismt.o -diff --git a/drivers/i2c/busses/i2c-cht-wc.c b/drivers/i2c/busses/i2c-cht-wc.c -new file mode 100644 -index 000000000000..ccf0785bcb75 ---- /dev/null -+++ b/drivers/i2c/busses/i2c-cht-wc.c -@@ -0,0 +1,336 @@ -+/* -+ * Intel CHT Whiskey Cove PMIC I2C Master driver -+ * Copyright (C) 2017 Hans de Goede <hdegoede@redhat.com> -+ * -+ * Based on various non upstream patches to support the CHT Whiskey Cove PMIC: -+ * Copyright (C) 2011 - 2014 Intel Corporation. All rights reserved. -+ * -+ * 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. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ */ -+ -+#include <linux/completion.h> -+#include <linux/delay.h> -+#include <linux/i2c.h> -+#include <linux/interrupt.h> -+#include <linux/irq.h> -+#include <linux/irqdomain.h> -+#include <linux/mfd/intel_soc_pmic.h> -+#include <linux/module.h> -+#include <linux/platform_device.h> -+#include <linux/slab.h> -+ -+#define CHT_WC_I2C_CTRL 0x5e24 -+#define CHT_WC_I2C_CTRL_WR BIT(0) -+#define CHT_WC_I2C_CTRL_RD BIT(1) -+#define CHT_WC_I2C_CLIENT_ADDR 0x5e25 -+#define CHT_WC_I2C_REG_OFFSET 0x5e26 -+#define CHT_WC_I2C_WRDATA 0x5e27 -+#define CHT_WC_I2C_RDDATA 0x5e28 -+ -+#define CHT_WC_EXTCHGRIRQ 0x6e0a -+#define CHT_WC_EXTCHGRIRQ_CLIENT_IRQ BIT(0) -+#define CHT_WC_EXTCHGRIRQ_WRITE_IRQ BIT(1) -+#define CHT_WC_EXTCHGRIRQ_READ_IRQ BIT(2) -+#define CHT_WC_EXTCHGRIRQ_NACK_IRQ BIT(3) -+#define CHT_WC_EXTCHGRIRQ_ADAP_IRQMASK ((u8)GENMASK(3, 1)) -+#define CHT_WC_EXTCHGRIRQ_MSK 0x6e17 -+ -+struct cht_wc_i2c_adap { -+ struct i2c_adapter adapter; -+ wait_queue_head_t wait; -+ struct irq_chip irqchip; -+ struct mutex irqchip_lock; -+ struct regmap *regmap; -+ struct irq_domain *irq_domain; -+ struct i2c_client *client; -+ int client_irq; -+ u8 irq_mask; -+ u8 old_irq_mask; -+ bool nack; -+ bool done; -+}; -+ -+static irqreturn_t cht_wc_i2c_adap_thread_handler(int id, void *data) -+{ -+ struct cht_wc_i2c_adap *adap = data; -+ int ret, reg; -+ -+ /* Read IRQs */ -+ ret = regmap_read(adap->regmap, CHT_WC_EXTCHGRIRQ, ®); -+ if (ret) { -+ dev_err(&adap->adapter.dev, "Error reading extchgrirq reg\n"); -+ return IRQ_NONE; -+ } -+ -+ reg &= ~adap->irq_mask; -+ -+ /* -+ * Immediately ack IRQs, so that if new IRQs arrives while we're -+ * handling the previous ones our irq will re-trigger when we're done. -+ */ -+ ret = regmap_write(adap->regmap, CHT_WC_EXTCHGRIRQ, reg); -+ if (ret) -+ dev_err(&adap->adapter.dev, "Error writing extchgrirq reg\n"); -+ -+ /* -+ * Do NOT use handle_nested_irq here, the client irq handler will -+ * likely want to do i2c transfers and the i2c controller uses this -+ * interrupt handler as well, so running the client irq handler from -+ * this thread will cause things to lock up. -+ */ -+ if (reg & CHT_WC_EXTCHGRIRQ_CLIENT_IRQ) { -+ /* -+ * generic_handle_irq expects local IRQs to be disabled -+ * as normally it is called from interrupt context. -+ */ -+ local_irq_disable(); -+ generic_handle_irq(adap->client_irq); -+ local_irq_enable(); -+ } -+ -+ if (reg & CHT_WC_EXTCHGRIRQ_ADAP_IRQMASK) { -+ adap->nack = !!(reg & CHT_WC_EXTCHGRIRQ_NACK_IRQ); -+ adap->done = true; -+ wake_up(&adap->wait); -+ } -+ -+ return IRQ_HANDLED; -+} -+ -+static u32 cht_wc_i2c_adap_master_func(struct i2c_adapter *adap) -+{ -+ /* This i2c adapter only supports SMBUS byte transfers */ -+ return I2C_FUNC_SMBUS_BYTE_DATA; -+} -+ -+static int cht_wc_i2c_adap_smbus_xfer(struct i2c_adapter *_adap, u16 addr, -+ unsigned short flags, char read_write, -+ u8 command, int size, -+ union i2c_smbus_data *data) -+{ -+ struct cht_wc_i2c_adap *adap = i2c_get_adapdata(_adap); -+ int ret, reg; -+ -+ adap->nack = false; -+ adap->done = false; -+ -+ ret = regmap_write(adap->regmap, CHT_WC_I2C_CLIENT_ADDR, addr); -+ if (ret) -+ return ret; -+ -+ if (read_write == I2C_SMBUS_WRITE) { -+ ret = regmap_write(adap->regmap, CHT_WC_I2C_WRDATA, data->byte); -+ if (ret) -+ return ret; -+ } -+ -+ ret = regmap_write(adap->regmap, CHT_WC_I2C_REG_OFFSET, command); -+ if (ret) -+ return ret; -+ -+ ret = regmap_write(adap->regmap, CHT_WC_I2C_CTRL, -+ (read_write == I2C_SMBUS_WRITE) ? -+ CHT_WC_I2C_CTRL_WR : CHT_WC_I2C_CTRL_RD); -+ if (ret) -+ return ret; -+ -+ /* 3 second timeout, during cable plug the PMIC responds quite slow */ -+ ret = wait_event_timeout(adap->wait, adap->done, 3 * HZ); -+ if (ret == 0) -+ return -ETIMEDOUT; -+ if (adap->nack) -+ return -EIO; -+ -+ if (read_write == I2C_SMBUS_READ) { -+ ret = regmap_read(adap->regmap, CHT_WC_I2C_RDDATA, ®); -+ if (ret) -+ return ret; -+ -+ data->byte = reg; -+ } -+ -+ return 0; -+} -+ -+static const struct i2c_algorithm cht_wc_i2c_adap_algo = { -+ .functionality = cht_wc_i2c_adap_master_func, -+ .smbus_xfer = cht_wc_i2c_adap_smbus_xfer, -+}; -+ -+/**** irqchip for the client connected to the extchgr i2c adapter ****/ -+static void cht_wc_i2c_irq_lock(struct irq_data *data) -+{ -+ struct cht_wc_i2c_adap *adap = irq_data_get_irq_chip_data(data); -+ -+ mutex_lock(&adap->irqchip_lock); -+} -+ -+static void cht_wc_i2c_irq_sync_unlock(struct irq_data *data) -+{ -+ struct cht_wc_i2c_adap *adap = irq_data_get_irq_chip_data(data); -+ int ret; -+ -+ if (adap->irq_mask != adap->old_irq_mask) { -+ ret = regmap_write(adap->regmap, CHT_WC_EXTCHGRIRQ_MSK, -+ adap->irq_mask); -+ if (ret == 0) -+ adap->old_irq_mask = adap->irq_mask; -+ else -+ dev_err(&adap->adapter.dev, "Error writing EXTCHGRIRQ_MSK\n"); -+ } -+ -+ mutex_unlock(&adap->irqchip_lock); -+} -+ -+static void cht_wc_i2c_irq_enable(struct irq_data *data) -+{ -+ struct cht_wc_i2c_adap *adap = irq_data_get_irq_chip_data(data); -+ -+ adap->irq_mask &= ~CHT_WC_EXTCHGRIRQ_CLIENT_IRQ; -+} -+ -+static void cht_wc_i2c_irq_disable(struct irq_data *data) -+{ -+ struct cht_wc_i2c_adap *adap = irq_data_get_irq_chip_data(data); -+ -+ adap->irq_mask |= CHT_WC_EXTCHGRIRQ_CLIENT_IRQ; -+} -+ -+static const struct irq_chip cht_wc_i2c_irq_chip = { -+ .irq_bus_lock = cht_wc_i2c_irq_lock, -+ .irq_bus_sync_unlock = cht_wc_i2c_irq_sync_unlock, -+ .irq_disable = cht_wc_i2c_irq_disable, -+ .irq_enable = cht_wc_i2c_irq_enable, -+ .name = "cht_wc_ext_chrg_irq_chip", -+}; -+ -+static const struct property_entry bq24190_props[] = { -+ PROPERTY_ENTRY_STRING("extcon-name", "cht_wcove_pwrsrc"), -+ PROPERTY_ENTRY_BOOL("omit-battery-class"), -+ PROPERTY_ENTRY_BOOL("disable-reset"), -+ { } -+}; -+ -+static int cht_wc_i2c_adap_i2c_probe(struct platform_device *pdev) -+{ -+ struct intel_soc_pmic *pmic = dev_get_drvdata(pdev->dev.parent); -+ struct cht_wc_i2c_adap *adap; -+ struct i2c_board_info board_info = { -+ .type = "bq24190", -+ .addr = 0x6b, -+ .properties = bq24190_props, -+ }; -+ int ret, irq; -+ -+ irq = platform_get_irq(pdev, 0); -+ if (irq < 0) { -+ dev_err(&pdev->dev, "Error missing irq resource\n"); -+ return -EINVAL; -+ } -+ -+ adap = devm_kzalloc(&pdev->dev, sizeof(*adap), GFP_KERNEL); -+ if (!adap) -+ return -ENOMEM; -+ -+ init_waitqueue_head(&adap->wait); -+ mutex_init(&adap->irqchip_lock); -+ adap->irqchip = cht_wc_i2c_irq_chip; -+ adap->regmap = pmic->regmap; -+ adap->adapter.owner = THIS_MODULE; -+ adap->adapter.class = I2C_CLASS_HWMON; -+ adap->adapter.algo = &cht_wc_i2c_adap_algo; -+ strlcpy(adap->adapter.name, "PMIC I2C Adapter", -+ sizeof(adap->adapter.name)); -+ adap->adapter.dev.parent = &pdev->dev; -+ -+ /* Clear and activate i2c-adapter interrupts, disable client IRQ */ -+ adap->old_irq_mask = adap->irq_mask = ~CHT_WC_EXTCHGRIRQ_ADAP_IRQMASK; -+ ret = regmap_write(adap->regmap, CHT_WC_EXTCHGRIRQ, ~adap->irq_mask); -+ if (ret) -+ return ret; -+ -+ ret = regmap_write(adap->regmap, CHT_WC_EXTCHGRIRQ_MSK, adap->irq_mask); -+ if (ret) -+ return ret; -+ -+ /* Alloc and register client IRQ */ -+ adap->irq_domain = irq_domain_add_linear(pdev->dev.of_node, 1, -+ &irq_domain_simple_ops, NULL); -+ if (!adap->irq_domain) -+ return -ENOMEM; -+ -+ adap->client_irq = irq_create_mapping(adap->irq_domain, 0); -+ if (!adap->client_irq) { -+ ret = -ENOMEM; -+ goto remove_irq_domain; -+ } -+ -+ irq_set_chip_data(adap->client_irq, adap); -+ irq_set_chip_and_handler(adap->client_irq, &adap->irqchip, -+ handle_simple_irq); -+ -+ ret = devm_request_threaded_irq(&pdev->dev, irq, NULL, -+ cht_wc_i2c_adap_thread_handler, -+ IRQF_ONESHOT, "PMIC I2C Adapter", adap); -+ if (ret) -+ goto remove_irq_domain; -+ -+ i2c_set_adapdata(&adap->adapter, adap); -+ ret = i2c_add_adapter(&adap->adapter); -+ if (ret) -+ goto remove_irq_domain; -+ -+ board_info.irq = adap->client_irq; -+ adap->client = i2c_new_device(&adap->adapter, &board_info); -+ if (!adap->client) { -+ ret = -ENOMEM; -+ goto del_adapter; -+ } -+ -+ platform_set_drvdata(pdev, adap); -+ return 0; -+ -+del_adapter: -+ i2c_del_adapter(&adap->adapter); -+remove_irq_domain: -+ irq_domain_remove(adap->irq_domain); -+ return ret; -+} -+ -+static int cht_wc_i2c_adap_i2c_remove(struct platform_device *pdev) -+{ -+ struct cht_wc_i2c_adap *adap = platform_get_drvdata(pdev); -+ -+ i2c_unregister_device(adap->client); -+ i2c_del_adapter(&adap->adapter); -+ irq_domain_remove(adap->irq_domain); -+ -+ return 0; -+} -+ -+static struct platform_device_id cht_wc_i2c_adap_id_table[] = { -+ { .name = "cht_wcove_ext_chgr" }, -+ {}, -+}; -+MODULE_DEVICE_TABLE(platform, cht_wc_i2c_adap_id_table); -+ -+struct platform_driver cht_wc_i2c_adap_driver = { -+ .probe = cht_wc_i2c_adap_i2c_probe, -+ .remove = cht_wc_i2c_adap_i2c_remove, -+ .driver = { -+ .name = "cht_wcove_ext_chgr", -+ }, -+ .id_table = cht_wc_i2c_adap_id_table, -+}; -+module_platform_driver(cht_wc_i2c_adap_driver); -+ -+MODULE_DESCRIPTION("Intel CHT Whiskey Cove PMIC I2C Master driver"); -+MODULE_AUTHOR("Hans de Goede <hdegoede@redhat.com>"); -+MODULE_LICENSE("GPL"); --- -2.13.0 - diff --git a/freed-ora/current/f26/0016-Input-silead-Do-not-try-to-directly-access-the-GPIO-.patch b/freed-ora/current/f26/0016-Input-silead-Do-not-try-to-directly-access-the-GPIO-.patch deleted file mode 100644 index 14b4c27bf..000000000 --- a/freed-ora/current/f26/0016-Input-silead-Do-not-try-to-directly-access-the-GPIO-.patch +++ /dev/null @@ -1,54 +0,0 @@ -From fd4fb1f6633b21042ff084868323e15e708fe1cd Mon Sep 17 00:00:00 2001 -From: Hans de Goede <hdegoede@redhat.com> -Date: Sun, 1 Jan 2017 22:11:20 +0100 -Subject: [PATCH 16/16] Input: silead: Do not try to directly access the GPIO - when using ACPI pm - -On some x86 tablets we cannot directly access the GPIOs as they are -claimed by the ACPI tables, so check it the i2c client is not being -power-managed by ACPI before trying to get the power pin GPIO. - -Note this is a workaround patch to fix this until Andy' gpiolib-ACPI -patches which make gpiolib more strict land, once those are landed this -patch is no longer needed. - -Signed-off-by: Hans de Goede <hdegoede@redhat.com> ---- - drivers/input/touchscreen/silead.c | 22 ++++++++++++++++------ - 1 file changed, 16 insertions(+), 6 deletions(-) - -diff --git a/drivers/input/touchscreen/silead.c b/drivers/input/touchscreen/silead.c -index c0ba40c09699..30fba3cbe277 100644 ---- a/drivers/input/touchscreen/silead.c -+++ b/drivers/input/touchscreen/silead.c -@@ -517,12 +518,21 @@ static int silead_ts_probe(struct i2c_client *client, - if (error) - return error; - -- /* Power GPIO pin */ -- data->gpio_power = devm_gpiod_get_optional(dev, "power", GPIOD_OUT_LOW); -- if (IS_ERR(data->gpio_power)) { -- if (PTR_ERR(data->gpio_power) != -EPROBE_DEFER) -- dev_err(dev, "Shutdown GPIO request failed\n"); -- return PTR_ERR(data->gpio_power); -+ /* -+ * If device power is not managed by ACPI, get the power_gpio -+ * and manage it ourselves. -+ */ -+#ifdef CONFIG_ACPI -+ if (!acpi_bus_power_manageable(ACPI_HANDLE(dev))) -+#endif -+ { -+ data->gpio_power = devm_gpiod_get_optional(dev, "power", -+ GPIOD_OUT_LOW); -+ if (IS_ERR(data->gpio_power)) { -+ if (PTR_ERR(data->gpio_power) != -EPROBE_DEFER) -+ dev_err(dev, "Power GPIO request failed\n"); -+ return PTR_ERR(data->gpio_power); -+ } - } - - error = silead_ts_setup(client); --- -2.13.0 - diff --git a/freed-ora/current/f26/1-2-kvm-vmx-Reinstate-support-for-CPUs-without-virtual-NMI.patch b/freed-ora/current/f26/1-2-kvm-vmx-Reinstate-support-for-CPUs-without-virtual-NMI.patch deleted file mode 100644 index ca079af42..000000000 --- a/freed-ora/current/f26/1-2-kvm-vmx-Reinstate-support-for-CPUs-without-virtual-NMI.patch +++ /dev/null @@ -1,296 +0,0 @@ -From patchwork Mon Nov 6 12:31:12 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [1/2] kvm: vmx: Reinstate support for CPUs without virtual NMI -From: Paolo Bonzini <pbonzini@redhat.com> -X-Patchwork-Id: 10043403 -Message-Id: <1509971473-74491-2-git-send-email-pbonzini@redhat.com> -To: linux-kernel@vger.kernel.org, kvm@vger.kernel.org -Cc: rkrcmar@redhat.com, stable@vger.kernel.org -Date: Mon, 6 Nov 2017 13:31:12 +0100 - -This is more or less a revert of commit 2c82878b0cb3 ("KVM: VMX: require -virtual NMI support", 2017-03-27); it turns out that Core 2 Duo machines -only had virtual NMIs in some SKUs. - -The revert is not trivial because in the meanwhile there have been several -fixes to nested NMI injection. Therefore, the entire vNMI state is moved -to struct loaded_vmcs. - -Another change compared to before the patch is a simplification here: - - if (unlikely(!cpu_has_virtual_nmis() && vmx->soft_vnmi_blocked && - !(is_guest_mode(vcpu) && nested_cpu_has_virtual_nmis( - get_vmcs12(vcpu))))) { - -The final condition here is always true (because nested_cpu_has_virtual_nmis -is always false) and is removed. - -Fixes: 2c82878b0cb38fd516fd612c67852a6bbf282003 -Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1490803 -Cc: stable@vger.kernel.org -Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> ---- - arch/x86/kvm/vmx.c | 150 +++++++++++++++++++++++++++++++++++++---------------- - 1 file changed, 106 insertions(+), 44 deletions(-) - -diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c -index e6c8ffa84968..d6b3b12ae1e2 100644 ---- a/arch/x86/kvm/vmx.c -+++ b/arch/x86/kvm/vmx.c -@@ -202,6 +202,10 @@ struct loaded_vmcs { - bool nmi_known_unmasked; - unsigned long vmcs_host_cr3; /* May not match real cr3 */ - unsigned long vmcs_host_cr4; /* May not match real cr4 */ -+ /* Support for vnmi-less CPUs */ -+ int soft_vnmi_blocked; -+ ktime_t entry_time; -+ s64 vnmi_blocked_time; - struct list_head loaded_vmcss_on_cpu_link; - }; - -@@ -1291,6 +1295,11 @@ static inline bool cpu_has_vmx_invpcid(void) - SECONDARY_EXEC_ENABLE_INVPCID; - } - -+static inline bool cpu_has_virtual_nmis(void) -+{ -+ return vmcs_config.pin_based_exec_ctrl & PIN_BASED_VIRTUAL_NMIS; -+} -+ - static inline bool cpu_has_vmx_wbinvd_exit(void) - { - return vmcs_config.cpu_based_2nd_exec_ctrl & -@@ -1348,11 +1357,6 @@ static inline bool nested_cpu_has2(struct vmcs12 *vmcs12, u32 bit) - (vmcs12->secondary_vm_exec_control & bit); - } - --static inline bool nested_cpu_has_virtual_nmis(struct vmcs12 *vmcs12) --{ -- return vmcs12->pin_based_vm_exec_control & PIN_BASED_VIRTUAL_NMIS; --} -- - static inline bool nested_cpu_has_preemption_timer(struct vmcs12 *vmcs12) - { - return vmcs12->pin_based_vm_exec_control & -@@ -3712,9 +3716,9 @@ static __init int setup_vmcs_config(struct vmcs_config *vmcs_conf) - &_vmexit_control) < 0) - return -EIO; - -- min = PIN_BASED_EXT_INTR_MASK | PIN_BASED_NMI_EXITING | -- PIN_BASED_VIRTUAL_NMIS; -- opt = PIN_BASED_POSTED_INTR | PIN_BASED_VMX_PREEMPTION_TIMER; -+ min = PIN_BASED_EXT_INTR_MASK | PIN_BASED_NMI_EXITING; -+ opt = PIN_BASED_VIRTUAL_NMIS | PIN_BASED_POSTED_INTR | -+ PIN_BASED_VMX_PREEMPTION_TIMER; - if (adjust_vmx_controls(min, opt, MSR_IA32_VMX_PINBASED_CTLS, - &_pin_based_exec_control) < 0) - return -EIO; -@@ -5669,7 +5673,8 @@ static void enable_irq_window(struct kvm_vcpu *vcpu) - - static void enable_nmi_window(struct kvm_vcpu *vcpu) - { -- if (vmcs_read32(GUEST_INTERRUPTIBILITY_INFO) & GUEST_INTR_STATE_STI) { -+ if (!cpu_has_virtual_nmis() || -+ vmcs_read32(GUEST_INTERRUPTIBILITY_INFO) & GUEST_INTR_STATE_STI) { - enable_irq_window(vcpu); - return; - } -@@ -5709,6 +5714,19 @@ static void vmx_inject_nmi(struct kvm_vcpu *vcpu) - { - struct vcpu_vmx *vmx = to_vmx(vcpu); - -+ if (!cpu_has_virtual_nmis()) { -+ /* -+ * Tracking the NMI-blocked state in software is built upon -+ * finding the next open IRQ window. This, in turn, depends on -+ * well-behaving guests: They have to keep IRQs disabled at -+ * least as long as the NMI handler runs. Otherwise we may -+ * cause NMI nesting, maybe breaking the guest. But as this is -+ * highly unlikely, we can live with the residual risk. -+ */ -+ vmx->loaded_vmcs->soft_vnmi_blocked = 1; -+ vmx->loaded_vmcs->vnmi_blocked_time = 0; -+ } -+ - ++vcpu->stat.nmi_injections; - vmx->loaded_vmcs->nmi_known_unmasked = false; - -@@ -5727,6 +5745,8 @@ static bool vmx_get_nmi_mask(struct kvm_vcpu *vcpu) - struct vcpu_vmx *vmx = to_vmx(vcpu); - bool masked; - -+ if (!cpu_has_virtual_nmis()) -+ return vmx->loaded_vmcs->soft_vnmi_blocked; - if (vmx->loaded_vmcs->nmi_known_unmasked) - return false; - masked = vmcs_read32(GUEST_INTERRUPTIBILITY_INFO) & GUEST_INTR_STATE_NMI; -@@ -5738,13 +5758,20 @@ static void vmx_set_nmi_mask(struct kvm_vcpu *vcpu, bool masked) - { - struct vcpu_vmx *vmx = to_vmx(vcpu); - -- vmx->loaded_vmcs->nmi_known_unmasked = !masked; -- if (masked) -- vmcs_set_bits(GUEST_INTERRUPTIBILITY_INFO, -- GUEST_INTR_STATE_NMI); -- else -- vmcs_clear_bits(GUEST_INTERRUPTIBILITY_INFO, -- GUEST_INTR_STATE_NMI); -+ if (!cpu_has_virtual_nmis()) { -+ if (vmx->loaded_vmcs->soft_vnmi_blocked != masked) { -+ vmx->loaded_vmcs->soft_vnmi_blocked = masked; -+ vmx->loaded_vmcs->vnmi_blocked_time = 0; -+ } -+ } else { -+ vmx->loaded_vmcs->nmi_known_unmasked = !masked; -+ if (masked) -+ vmcs_set_bits(GUEST_INTERRUPTIBILITY_INFO, -+ GUEST_INTR_STATE_NMI); -+ else -+ vmcs_clear_bits(GUEST_INTERRUPTIBILITY_INFO, -+ GUEST_INTR_STATE_NMI); -+ } - } - - static int vmx_nmi_allowed(struct kvm_vcpu *vcpu) -@@ -5752,6 +5779,10 @@ static int vmx_nmi_allowed(struct kvm_vcpu *vcpu) - if (to_vmx(vcpu)->nested.nested_run_pending) - return 0; - -+ if (!cpu_has_virtual_nmis() && -+ to_vmx(vcpu)->loaded_vmcs->soft_vnmi_blocked) -+ return 0; -+ - return !(vmcs_read32(GUEST_INTERRUPTIBILITY_INFO) & - (GUEST_INTR_STATE_MOV_SS | GUEST_INTR_STATE_STI - | GUEST_INTR_STATE_NMI)); -@@ -6479,6 +6510,7 @@ static int handle_ept_violation(struct kvm_vcpu *vcpu) - * AAK134, BY25. - */ - if (!(to_vmx(vcpu)->idt_vectoring_info & VECTORING_INFO_VALID_MASK) && -+ cpu_has_virtual_nmis() && - (exit_qualification & INTR_INFO_UNBLOCK_NMI)) - vmcs_set_bits(GUEST_INTERRUPTIBILITY_INFO, GUEST_INTR_STATE_NMI); - -@@ -6965,7 +6997,7 @@ static struct loaded_vmcs *nested_get_current_vmcs02(struct vcpu_vmx *vmx) - } - - /* Create a new VMCS */ -- item = kmalloc(sizeof(struct vmcs02_list), GFP_KERNEL); -+ item = kzalloc(sizeof(struct vmcs02_list), GFP_KERNEL); - if (!item) - return NULL; - item->vmcs02.vmcs = alloc_vmcs(); -@@ -7982,6 +8014,7 @@ static int handle_pml_full(struct kvm_vcpu *vcpu) - * "blocked by NMI" bit has to be set before next VM entry. - */ - if (!(to_vmx(vcpu)->idt_vectoring_info & VECTORING_INFO_VALID_MASK) && -+ cpu_has_virtual_nmis() && - (exit_qualification & INTR_INFO_UNBLOCK_NMI)) - vmcs_set_bits(GUEST_INTERRUPTIBILITY_INFO, - GUEST_INTR_STATE_NMI); -@@ -8826,6 +8859,25 @@ static int vmx_handle_exit(struct kvm_vcpu *vcpu) - return 0; - } - -+ if (unlikely(!cpu_has_virtual_nmis() && -+ vmx->loaded_vmcs->soft_vnmi_blocked)) { -+ if (vmx_interrupt_allowed(vcpu)) { -+ vmx->loaded_vmcs->soft_vnmi_blocked = 0; -+ } else if (vmx->loaded_vmcs->vnmi_blocked_time > 1000000000LL && -+ vcpu->arch.nmi_pending) { -+ /* -+ * This CPU don't support us in finding the end of an -+ * NMI-blocked window if the guest runs with IRQs -+ * disabled. So we pull the trigger after 1 s of -+ * futile waiting, but inform the user about this. -+ */ -+ printk(KERN_WARNING "%s: Breaking out of NMI-blocked " -+ "state on VCPU %d after 1 s timeout\n", -+ __func__, vcpu->vcpu_id); -+ vmx->loaded_vmcs->soft_vnmi_blocked = 0; -+ } -+ } -+ - if (exit_reason < kvm_vmx_max_exit_handlers - && kvm_vmx_exit_handlers[exit_reason]) - return kvm_vmx_exit_handlers[exit_reason](vcpu); -@@ -9108,33 +9160,38 @@ static void vmx_recover_nmi_blocking(struct vcpu_vmx *vmx) - - idtv_info_valid = vmx->idt_vectoring_info & VECTORING_INFO_VALID_MASK; - -- if (vmx->loaded_vmcs->nmi_known_unmasked) -- return; -- /* -- * Can't use vmx->exit_intr_info since we're not sure what -- * the exit reason is. -- */ -- exit_intr_info = vmcs_read32(VM_EXIT_INTR_INFO); -- unblock_nmi = (exit_intr_info & INTR_INFO_UNBLOCK_NMI) != 0; -- vector = exit_intr_info & INTR_INFO_VECTOR_MASK; -- /* -- * SDM 3: 27.7.1.2 (September 2008) -- * Re-set bit "block by NMI" before VM entry if vmexit caused by -- * a guest IRET fault. -- * SDM 3: 23.2.2 (September 2008) -- * Bit 12 is undefined in any of the following cases: -- * If the VM exit sets the valid bit in the IDT-vectoring -- * information field. -- * If the VM exit is due to a double fault. -- */ -- if ((exit_intr_info & INTR_INFO_VALID_MASK) && unblock_nmi && -- vector != DF_VECTOR && !idtv_info_valid) -- vmcs_set_bits(GUEST_INTERRUPTIBILITY_INFO, -- GUEST_INTR_STATE_NMI); -- else -- vmx->loaded_vmcs->nmi_known_unmasked = -- !(vmcs_read32(GUEST_INTERRUPTIBILITY_INFO) -- & GUEST_INTR_STATE_NMI); -+ if (cpu_has_virtual_nmis()) { -+ if (vmx->loaded_vmcs->nmi_known_unmasked) -+ return; -+ /* -+ * Can't use vmx->exit_intr_info since we're not sure what -+ * the exit reason is. -+ */ -+ exit_intr_info = vmcs_read32(VM_EXIT_INTR_INFO); -+ unblock_nmi = (exit_intr_info & INTR_INFO_UNBLOCK_NMI) != 0; -+ vector = exit_intr_info & INTR_INFO_VECTOR_MASK; -+ /* -+ * SDM 3: 27.7.1.2 (September 2008) -+ * Re-set bit "block by NMI" before VM entry if vmexit caused by -+ * a guest IRET fault. -+ * SDM 3: 23.2.2 (September 2008) -+ * Bit 12 is undefined in any of the following cases: -+ * If the VM exit sets the valid bit in the IDT-vectoring -+ * information field. -+ * If the VM exit is due to a double fault. -+ */ -+ if ((exit_intr_info & INTR_INFO_VALID_MASK) && unblock_nmi && -+ vector != DF_VECTOR && !idtv_info_valid) -+ vmcs_set_bits(GUEST_INTERRUPTIBILITY_INFO, -+ GUEST_INTR_STATE_NMI); -+ else -+ vmx->loaded_vmcs->nmi_known_unmasked = -+ !(vmcs_read32(GUEST_INTERRUPTIBILITY_INFO) -+ & GUEST_INTR_STATE_NMI); -+ } else if (unlikely(vmx->loaded_vmcs->soft_vnmi_blocked)) -+ vmx->loaded_vmcs->vnmi_blocked_time += -+ ktime_to_ns(ktime_sub(ktime_get(), -+ vmx->loaded_vmcs->entry_time)); - } - - static void __vmx_complete_interrupts(struct kvm_vcpu *vcpu, -@@ -9251,6 +9308,11 @@ static void __noclone vmx_vcpu_run(struct kvm_vcpu *vcpu) - struct vcpu_vmx *vmx = to_vmx(vcpu); - unsigned long debugctlmsr, cr3, cr4; - -+ /* Record the guest's net vcpu time for enforced NMI injections. */ -+ if (unlikely(!cpu_has_virtual_nmis() && -+ vmx->loaded_vmcs->soft_vnmi_blocked)) -+ vmx->loaded_vmcs->entry_time = ktime_get(); -+ - /* Don't enter VMX if guest state is invalid, let the exit handler - start emulation until we arrive back to a valid state */ - if (vmx->emulation_required) diff --git a/freed-ora/current/f26/1-3-net-set-tb--fast_sk_family.patch b/freed-ora/current/f26/1-3-net-set-tb--fast_sk_family.patch deleted file mode 100644 index dbe5250ab..000000000 --- a/freed-ora/current/f26/1-3-net-set-tb--fast_sk_family.patch +++ /dev/null @@ -1,50 +0,0 @@ -From patchwork Mon Sep 18 16:28:55 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [1/3] net: set tb->fast_sk_family -X-Patchwork-Submitter: Josef Bacik <josef@toxicpanda.com> -X-Patchwork-Id: 815031 -X-Patchwork-Delegate: davem@davemloft.net -Message-Id: <1505752137-15522-2-git-send-email-jbacik@fb.com> -To: davem@davemloft.net, netdev@vger.kernel.org, - linux-kernel@vger.kernel.org, crobinso@redhat.com, - labbott@redhat.com, kernel-team@fb.com -Cc: Josef Bacik <jbacik@fb.com>, stable@vger.kernel.org -Date: Mon, 18 Sep 2017 12:28:55 -0400 -From: josef@toxicpanda.com -List-Id: <netdev.vger.kernel.org> - -From: Josef Bacik <jbacik@fb.com> - -We need to set the tb->fast_sk_family properly so we can use the proper -comparison function for all subsequent reuseport bind requests. - -Cc: stable@vger.kernel.org -Fixes: 637bc8bbe6c0 ("inet: reset tb->fastreuseport when adding a reuseport sk") -Reported-and-tested-by: Cole Robinson <crobinso@redhat.com> -Signed-off-by: Josef Bacik <jbacik@fb.com> ---- - net/ipv4/inet_connection_sock.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/net/ipv4/inet_connection_sock.c b/net/ipv4/inet_connection_sock.c -index b9c64b40a83a..f87f4805e244 100644 ---- a/net/ipv4/inet_connection_sock.c -+++ b/net/ipv4/inet_connection_sock.c -@@ -328,6 +328,7 @@ int inet_csk_get_port(struct sock *sk, unsigned short snum) - tb->fastuid = uid; - tb->fast_rcv_saddr = sk->sk_rcv_saddr; - tb->fast_ipv6_only = ipv6_only_sock(sk); -+ tb->fast_sk_family = sk->sk_family; - #if IS_ENABLED(CONFIG_IPV6) - tb->fast_v6_rcv_saddr = sk->sk_v6_rcv_saddr; - #endif -@@ -354,6 +355,7 @@ int inet_csk_get_port(struct sock *sk, unsigned short snum) - tb->fastuid = uid; - tb->fast_rcv_saddr = sk->sk_rcv_saddr; - tb->fast_ipv6_only = ipv6_only_sock(sk); -+ tb->fast_sk_family = sk->sk_family; - #if IS_ENABLED(CONFIG_IPV6) - tb->fast_v6_rcv_saddr = sk->sk_v6_rcv_saddr; - #endif diff --git a/freed-ora/current/f26/2-3-net-use-inet6_rcv_saddr-to-compare-sockets.patch b/freed-ora/current/f26/2-3-net-use-inet6_rcv_saddr-to-compare-sockets.patch deleted file mode 100644 index 3d64361df..000000000 --- a/freed-ora/current/f26/2-3-net-use-inet6_rcv_saddr-to-compare-sockets.patch +++ /dev/null @@ -1,44 +0,0 @@ -From patchwork Mon Sep 18 16:28:56 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [2/3] net: use inet6_rcv_saddr to compare sockets -X-Patchwork-Submitter: Josef Bacik <josef@toxicpanda.com> -X-Patchwork-Id: 815028 -X-Patchwork-Delegate: davem@davemloft.net -Message-Id: <1505752137-15522-3-git-send-email-jbacik@fb.com> -To: davem@davemloft.net, netdev@vger.kernel.org, - linux-kernel@vger.kernel.org, crobinso@redhat.com, - labbott@redhat.com, kernel-team@fb.com -Cc: Josef Bacik <jbacik@fb.com>, stable@vger.kernel.org -Date: Mon, 18 Sep 2017 12:28:56 -0400 -From: josef@toxicpanda.com -List-Id: <netdev.vger.kernel.org> - -From: Josef Bacik <jbacik@fb.com> - -In ipv6_rcv_saddr_equal() we need to use inet6_rcv_saddr(sk) for the -ipv6 compare with the fast socket information to make sure we're doing -the proper comparisons. - -Cc: stable@vger.kernel.org -Fixes: 637bc8bbe6c0 ("inet: reset tb->fastreuseport when adding a reuseport sk") -Reported-and-tested-by: Cole Robinson <crobinso@redhat.com> -Signed-off-by: Josef Bacik <jbacik@fb.com> ---- - net/ipv4/inet_connection_sock.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/net/ipv4/inet_connection_sock.c b/net/ipv4/inet_connection_sock.c -index f87f4805e244..a1bf30438bc5 100644 ---- a/net/ipv4/inet_connection_sock.c -+++ b/net/ipv4/inet_connection_sock.c -@@ -266,7 +266,7 @@ static inline int sk_reuseport_match(struct inet_bind_bucket *tb, - #if IS_ENABLED(CONFIG_IPV6) - if (tb->fast_sk_family == AF_INET6) - return ipv6_rcv_saddr_equal(&tb->fast_v6_rcv_saddr, -- &sk->sk_v6_rcv_saddr, -+ inet6_rcv_saddr(sk), - tb->fast_rcv_saddr, - sk->sk_rcv_saddr, - tb->fast_ipv6_only, diff --git a/freed-ora/current/f26/3-3-inet-fix-improper-empty-comparison.patch b/freed-ora/current/f26/3-3-inet-fix-improper-empty-comparison.patch deleted file mode 100644 index 421a235cb..000000000 --- a/freed-ora/current/f26/3-3-inet-fix-improper-empty-comparison.patch +++ /dev/null @@ -1,53 +0,0 @@ -From patchwork Mon Sep 18 16:28:57 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [3/3] inet: fix improper empty comparison -X-Patchwork-Submitter: Josef Bacik <josef@toxicpanda.com> -X-Patchwork-Id: 815029 -X-Patchwork-Delegate: davem@davemloft.net -Message-Id: <1505752137-15522-4-git-send-email-jbacik@fb.com> -To: davem@davemloft.net, netdev@vger.kernel.org, - linux-kernel@vger.kernel.org, crobinso@redhat.com, - labbott@redhat.com, kernel-team@fb.com -Cc: Josef Bacik <jbacik@fb.com>, stable@vger.kernel.org -Date: Mon, 18 Sep 2017 12:28:57 -0400 -From: josef@toxicpanda.com -List-Id: <netdev.vger.kernel.org> - -From: Josef Bacik <jbacik@fb.com> - -When doing my reuseport rework I screwed up and changed a - -if (hlist_empty(&tb->owners)) - -to - -if (!hlist_empty(&tb->owners)) - -This is obviously bad as all of the reuseport/reuse logic was reversed, -which caused weird problems like allowing an ipv4 bind conflict if we -opened an ipv4 only socket on a port followed by an ipv6 only socket on -the same port. - -Cc: stable@vger.kernel.org -Fixes: b9470c27607b ("inet: kill smallest_size and smallest_port") -Reported-by: Cole Robinson <crobinso@redhat.com> -Signed-off-by: Josef Bacik <jbacik@fb.com> ---- - net/ipv4/inet_connection_sock.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/net/ipv4/inet_connection_sock.c b/net/ipv4/inet_connection_sock.c -index a1bf30438bc5..c039c937ba90 100644 ---- a/net/ipv4/inet_connection_sock.c -+++ b/net/ipv4/inet_connection_sock.c -@@ -321,7 +321,7 @@ int inet_csk_get_port(struct sock *sk, unsigned short snum) - goto fail_unlock; - } - success: -- if (!hlist_empty(&tb->owners)) { -+ if (hlist_empty(&tb->owners)) { - tb->fastreuse = reuse; - if (sk->sk_reuseport) { - tb->fastreuseport = FASTREUSEPORT_ANY; diff --git a/freed-ora/current/f26/AllWinner-net-emac.patch b/freed-ora/current/f26/AllWinner-net-emac.patch deleted file mode 100644 index 591b2350f..000000000 --- a/freed-ora/current/f26/AllWinner-net-emac.patch +++ /dev/null @@ -1,2554 +0,0 @@ -From patchwork Mon May 1 12:45:01 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [v5, - 01/20] net: stmmac: export stmmac_set_mac_addr/stmmac_get_mac_addr -From: Corentin LABBE <clabbe.montjoie@gmail.com> -X-Patchwork-Id: 9706455 -Message-Id: <20170501124520.3769-2-clabbe.montjoie@gmail.com> -To: robh+dt@kernel.org, mark.rutland@arm.com, - maxime.ripard@free-electrons.com, wens@csie.org, - linux@armlinux.org.uk, catalin.marinas@arm.com, - will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com -Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, - netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org, - Corentin Labbe <clabbe.montjoie@gmail.com> -Date: Mon, 1 May 2017 14:45:01 +0200 - -Thoses symbol will be needed for the dwmac-sun8i ethernet driver. -For letting it to be build as module, they need to be exported. - -Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com> ---- - drivers/net/ethernet/stmicro/stmmac/dwmac_lib.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac_lib.c b/drivers/net/ethernet/stmicro/stmmac/dwmac_lib.c -index 38f9430..67af0bd 100644 ---- a/drivers/net/ethernet/stmicro/stmmac/dwmac_lib.c -+++ b/drivers/net/ethernet/stmicro/stmmac/dwmac_lib.c -@@ -248,6 +248,7 @@ void stmmac_set_mac_addr(void __iomem *ioaddr, u8 addr[6], - data = (addr[3] << 24) | (addr[2] << 16) | (addr[1] << 8) | addr[0]; - writel(data, ioaddr + low); - } -+EXPORT_SYMBOL_GPL(stmmac_set_mac_addr); - - /* Enable disable MAC RX/TX */ - void stmmac_set_mac(void __iomem *ioaddr, bool enable) -@@ -279,4 +280,4 @@ void stmmac_get_mac_addr(void __iomem *ioaddr, unsigned char *addr, - addr[4] = hi_addr & 0xff; - addr[5] = (hi_addr >> 8) & 0xff; - } -- -+EXPORT_SYMBOL_GPL(stmmac_get_mac_addr); - -From patchwork Mon May 1 12:45:02 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [v5,02/20] net: stmmac: add optional setup function -From: Corentin LABBE <clabbe.montjoie@gmail.com> -X-Patchwork-Id: 9706501 -Message-Id: <20170501124520.3769-3-clabbe.montjoie@gmail.com> -To: robh+dt@kernel.org, mark.rutland@arm.com, - maxime.ripard@free-electrons.com, wens@csie.org, - linux@armlinux.org.uk, catalin.marinas@arm.com, - will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com -Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, - netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org, - Corentin Labbe <clabbe.montjoie@gmail.com> -Date: Mon, 1 May 2017 14:45:02 +0200 - -Instead of adding more ifthen logic for adding a new mac_device_info -setup function, it is easier to add a function pointer to the function -needed. - -Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com> ---- - drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 4 +++- - include/linux/stmmac.h | 1 + - 2 files changed, 4 insertions(+), 1 deletion(-) - -diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c -index cd8c601..b82ab64 100644 ---- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c -+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c -@@ -3947,7 +3947,9 @@ static int stmmac_hw_init(struct stmmac_priv *priv) - struct mac_device_info *mac; - - /* Identify the MAC HW device */ -- if (priv->plat->has_gmac) { -+ if (priv->plat->setup) { -+ mac = priv->plat->setup(priv); -+ } else if (priv->plat->has_gmac) { - priv->dev->priv_flags |= IFF_UNICAST_FLT; - mac = dwmac1000_setup(priv->ioaddr, - priv->plat->multicast_filter_bins, -diff --git a/include/linux/stmmac.h b/include/linux/stmmac.h -index 3921cb9..8bb550b 100644 ---- a/include/linux/stmmac.h -+++ b/include/linux/stmmac.h -@@ -177,6 +177,7 @@ struct plat_stmmacenet_data { - void (*fix_mac_speed)(void *priv, unsigned int speed); - int (*init)(struct platform_device *pdev, void *priv); - void (*exit)(struct platform_device *pdev, void *priv); -+ struct mac_device_info *(*setup)(void *priv); - void *bsp_priv; - struct clk *stmmac_clk; - struct clk *pclk; - -From patchwork Mon May 1 12:45:03 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [v5, - 03/20] dt-bindings: net: Add DT bindings documentation for Allwinner - dwmac-sun8i -From: Corentin LABBE <clabbe.montjoie@gmail.com> -X-Patchwork-Id: 9706457 -Message-Id: <20170501124520.3769-4-clabbe.montjoie@gmail.com> -To: robh+dt@kernel.org, mark.rutland@arm.com, - maxime.ripard@free-electrons.com, wens@csie.org, - linux@armlinux.org.uk, catalin.marinas@arm.com, - will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com -Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, - netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org, - Corentin Labbe <clabbe.montjoie@gmail.com> -Date: Mon, 1 May 2017 14:45:03 +0200 - -This patch adds documentation for Device-Tree bindings for the -Allwinner dwmac-sun8i driver. - -Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com> -Acked-by: Rob Herring <robh@kernel.org> ---- - .../devicetree/bindings/net/dwmac-sun8i.txt | 77 ++++++++++++++++++++++ - 1 file changed, 77 insertions(+) - create mode 100644 Documentation/devicetree/bindings/net/dwmac-sun8i.txt - -diff --git a/Documentation/devicetree/bindings/net/dwmac-sun8i.txt b/Documentation/devicetree/bindings/net/dwmac-sun8i.txt -new file mode 100644 -index 0000000..05cd067 ---- /dev/null -+++ b/Documentation/devicetree/bindings/net/dwmac-sun8i.txt -@@ -0,0 +1,77 @@ -+* Allwinner sun8i GMAC ethernet controller -+ -+This device is a platform glue layer for stmmac. -+Please see stmmac.txt for the other unchanged properties. -+ -+Required properties: -+- compatible: should be one of the following string: -+ "allwinner,sun8i-a83t-emac" -+ "allwinner,sun8i-h3-emac" -+ "allwinner,sun50i-a64-emac" -+- reg: address and length of the register for the device. -+- interrupts: interrupt for the device -+- interrupt-names: should be "macirq" -+- clocks: A phandle to the reference clock for this device -+- clock-names: should be "stmmaceth" -+- resets: A phandle to the reset control for this device -+- reset-names: should be "stmmaceth" -+- phy-mode: See ethernet.txt -+- phy-handle: See ethernet.txt -+- #address-cells: shall be 1 -+- #size-cells: shall be 0 -+- syscon: A phandle to the syscon of the SoC with one of the following -+ compatible string: -+ - allwinner,sun8i-h3-system-controller -+ - allwinner,sun50i-a64-system-controller -+ - allwinner,sun8i-a83t-system-controller -+ -+Optional properties: -+- allwinner,tx-delay-ps: TX clock delay chain value in ps. Range value is 0-700. Default is 0) -+- allwinner,rx-delay-ps: RX clock delay chain value in ps. Range value is 0-3100. Default is 0) -+Both delay properties need to be a multiple of 100. -+ -+Optional properties for "allwinner,sun8i-h3-emac": -+- allwinner,leds-active-low: EPHY LEDs are active low -+ -+Required child node of emac: -+- mdio bus node: should be named mdio -+ -+Required properties of the mdio node: -+- #address-cells: shall be 1 -+- #size-cells: shall be 0 -+ -+The device node referenced by "phy" or "phy-handle" should be a child node -+of the mdio node. See phy.txt for the generic PHY bindings. -+ -+Required properties of the phy node with "allwinner,sun8i-h3-emac": -+- clocks: a phandle to the reference clock for the EPHY -+- resets: a phandle to the reset control for the EPHY -+ -+Example: -+ -+emac: ethernet@1c0b000 { -+ compatible = "allwinner,sun8i-h3-emac"; -+ syscon = <&syscon>; -+ reg = <0x01c0b000 0x104>; -+ interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>; -+ interrupt-names = "macirq"; -+ resets = <&ccu RST_BUS_EMAC>; -+ reset-names = "stmmaceth"; -+ clocks = <&ccu CLK_BUS_EMAC>; -+ clock-names = "stmmaceth"; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ -+ phy = <&int_mii_phy>; -+ phy-mode = "mii"; -+ allwinner,leds-active-low; -+ mdio: mdio { -+ #address-cells = <1>; -+ #size-cells = <0>; -+ int_mii_phy: ethernet-phy@1 { -+ reg = <1>; -+ clocks = <&ccu CLK_BUS_EPHY>; -+ resets = <&ccu RST_BUS_EPHY>; -+ }; -+ }; -+}; - -From patchwork Mon May 1 12:45:04 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [v5, 04/20] dt-bindings: syscon: Add DT bindings documentation for - Allwinner syscon -From: Corentin LABBE <clabbe.montjoie@gmail.com> -X-Patchwork-Id: 9706469 -Message-Id: <20170501124520.3769-5-clabbe.montjoie@gmail.com> -To: robh+dt@kernel.org, mark.rutland@arm.com, - maxime.ripard@free-electrons.com, wens@csie.org, - linux@armlinux.org.uk, catalin.marinas@arm.com, - will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com -Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, - netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org, - Corentin Labbe <clabbe.montjoie@gmail.com> -Date: Mon, 1 May 2017 14:45:04 +0200 - -This patch adds documentation for Device-Tree bindings for the -syscon present in allwinner devices. - -Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com> ---- - .../devicetree/bindings/misc/allwinner,syscon.txt | 19 +++++++++++++++++++ - 1 file changed, 19 insertions(+) - create mode 100644 Documentation/devicetree/bindings/misc/allwinner,syscon.txt - -diff --git a/Documentation/devicetree/bindings/misc/allwinner,syscon.txt b/Documentation/devicetree/bindings/misc/allwinner,syscon.txt -new file mode 100644 -index 0000000..cb57691 ---- /dev/null -+++ b/Documentation/devicetree/bindings/misc/allwinner,syscon.txt -@@ -0,0 +1,19 @@ -+* Allwinner sun8i system controller -+ -+This file describes the bindings for the system controller present in -+Allwinner SoC H3, A83T and A64. -+The principal function of this syscon is to control EMAC PHY choice and -+config. -+ -+Required properties for the system controller: -+- reg: address and length of the register for the device. -+- compatible: should be "syscon" and one of the following string: -+ "allwinner,sun8i-h3-system-controller" -+ "allwinner,sun50i-a64-system-controller" -+ "allwinner,sun8i-a83t-system-controller" -+ -+Example: -+syscon: syscon@1c00000 { -+ compatible = "allwinner,sun8i-h3-system-controller", "syscon"; -+ reg = <0x01c00000 0x1000>; -+}; - -From patchwork Mon May 1 12:45:05 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [v5,05/20] net: stmmac: Add dwmac-sun8i -From: Corentin LABBE <clabbe.montjoie@gmail.com> -X-Patchwork-Id: 9706473 -Message-Id: <20170501124520.3769-6-clabbe.montjoie@gmail.com> -To: robh+dt@kernel.org, mark.rutland@arm.com, - maxime.ripard@free-electrons.com, wens@csie.org, - linux@armlinux.org.uk, catalin.marinas@arm.com, - will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com -Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, - netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org, - Corentin Labbe <clabbe.montjoie@gmail.com> -Date: Mon, 1 May 2017 14:45:05 +0200 - -The dwmac-sun8i is a heavy hacked version of stmmac hardware by -allwinner. -In fact the only common part is the descriptor management and the first -register function. - -Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com> ---- - drivers/net/ethernet/stmicro/stmmac/Kconfig | 11 + - drivers/net/ethernet/stmicro/stmmac/Makefile | 1 + - drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c | 973 +++++++++++++++++++++ - drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 29 + - .../net/ethernet/stmicro/stmmac/stmmac_platform.c | 9 +- - include/linux/stmmac.h | 1 + - 6 files changed, 1022 insertions(+), 2 deletions(-) - create mode 100644 drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c - -diff --git a/drivers/net/ethernet/stmicro/stmmac/Kconfig b/drivers/net/ethernet/stmicro/stmmac/Kconfig -index cfbe363..85c0e41 100644 ---- a/drivers/net/ethernet/stmicro/stmmac/Kconfig -+++ b/drivers/net/ethernet/stmicro/stmmac/Kconfig -@@ -145,6 +145,17 @@ config DWMAC_SUNXI - This selects Allwinner SoC glue layer support for the - stmmac device driver. This driver is used for A20/A31 - GMAC ethernet controller. -+ -+config DWMAC_SUN8I -+ tristate "Allwinner sun8i GMAC support" -+ default ARCH_SUNXI -+ depends on OF && (ARCH_SUNXI || COMPILE_TEST) -+ ---help--- -+ Support for Allwinner H3 A83T A64 EMAC ethernet controllers. -+ -+ This selects Allwinner SoC glue layer support for the -+ stmmac device driver. This driver is used for H3/A83T/A64 -+ EMAC ethernet controller. - endif - - config STMMAC_PCI -diff --git a/drivers/net/ethernet/stmicro/stmmac/Makefile b/drivers/net/ethernet/stmicro/stmmac/Makefile -index 700c603..fd4937a 100644 ---- a/drivers/net/ethernet/stmicro/stmmac/Makefile -+++ b/drivers/net/ethernet/stmicro/stmmac/Makefile -@@ -16,6 +16,7 @@ obj-$(CONFIG_DWMAC_SOCFPGA) += dwmac-altr-socfpga.o - obj-$(CONFIG_DWMAC_STI) += dwmac-sti.o - obj-$(CONFIG_DWMAC_STM32) += dwmac-stm32.o - obj-$(CONFIG_DWMAC_SUNXI) += dwmac-sunxi.o -+obj-$(CONFIG_DWMAC_SUN8I) += dwmac-sun8i.o - obj-$(CONFIG_DWMAC_DWC_QOS_ETH) += dwmac-dwc-qos-eth.o - obj-$(CONFIG_DWMAC_GENERIC) += dwmac-generic.o - stmmac-platform-objs:= stmmac_platform.o -diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c -new file mode 100644 -index 0000000..66eb980 ---- /dev/null -+++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c -@@ -0,0 +1,973 @@ -+/* -+ * dwmac-sun8i.c - Allwinner sun8i DWMAC specific glue layer -+ * -+ * Copyright (C) 2017 Corentin Labbe <clabbe.montjoie@gmail.com> -+ * -+ * This program is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation; either version 2 of the License, or -+ * (at your option) any later version. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ */ -+ -+#include <linux/clk.h> -+#include <linux/io.h> -+#include <linux/iopoll.h> -+#include <linux/mfd/syscon.h> -+#include <linux/module.h> -+#include <linux/of_device.h> -+#include <linux/of_mdio.h> -+#include <linux/of_net.h> -+#include <linux/phy.h> -+#include <linux/platform_device.h> -+#include <linux/regulator/consumer.h> -+#include <linux/regmap.h> -+#include <linux/stmmac.h> -+ -+#include "stmmac.h" -+#include "stmmac_platform.h" -+ -+/* General notes on dwmac-sun8i: -+ * Locking: no locking is necessary in this file because all necessary locking -+ * is done in the "stmmac files" -+ */ -+ -+/* struct emac_variant - Descrive dwmac-sun8i hardware variant -+ * @default_syscon_value: The default value of the EMAC register in syscon -+ * This value is used for disabling properly EMAC -+ * and used as a good starting value in case of the -+ * boot process(uboot) leave some stuff. -+ * @internal_phy: Does the MAC embed an internal PHY -+ * @support_mii: Does the MAC handle MII -+ * @support_rmii: Does the MAC handle RMII -+ * @support_rgmii: Does the MAC handle RGMII -+ */ -+struct emac_variant { -+ u32 default_syscon_value; -+ int internal_phy; -+ bool support_mii; -+ bool support_rmii; -+ bool support_rgmii; -+}; -+ -+/* struct sunxi_priv_data - hold all sunxi private data -+ * @tx_clk: reference to MAC TX clock -+ * @ephy_clk: reference to the optional EPHY clock for the internal PHY -+ * @regulator: reference to the optional regulator -+ * @rst_ephy: reference to the optional EPHY reset for the internal PHY -+ * @variant: reference to the current board variant -+ * @regmap: regmap for using the syscon -+ * @use_internal_phy: Does the current PHY choice imply using the internal PHY -+ */ -+struct sunxi_priv_data { -+ struct clk *tx_clk; -+ struct clk *ephy_clk; -+ struct regulator *regulator; -+ struct reset_control *rst_ephy; -+ const struct emac_variant *variant; -+ struct regmap *regmap; -+ bool use_internal_phy; -+}; -+ -+static const struct emac_variant emac_variant_h3 = { -+ .default_syscon_value = 0x58000, -+ .internal_phy = PHY_INTERFACE_MODE_MII, -+ .support_mii = true, -+ .support_rmii = true, -+ .support_rgmii = true -+}; -+ -+static const struct emac_variant emac_variant_a83t = { -+ .default_syscon_value = 0, -+ .internal_phy = 0, -+ .support_mii = true, -+ .support_rgmii = true -+}; -+ -+static const struct emac_variant emac_variant_a64 = { -+ .default_syscon_value = 0, -+ .internal_phy = 0, -+ .support_mii = true, -+ .support_rmii = true, -+ .support_rgmii = true -+}; -+ -+#define EMAC_BASIC_CTL0 0x00 -+#define EMAC_BASIC_CTL1 0x04 -+#define EMAC_INT_STA 0x08 -+#define EMAC_INT_EN 0x0C -+#define EMAC_TX_CTL0 0x10 -+#define EMAC_TX_CTL1 0x14 -+#define EMAC_TX_FLOW_CTL 0x1C -+#define EMAC_TX_DESC_LIST 0x20 -+#define EMAC_RX_CTL0 0x24 -+#define EMAC_RX_CTL1 0x28 -+#define EMAC_RX_DESC_LIST 0x34 -+#define EMAC_RX_FRM_FLT 0x38 -+#define EMAC_MDIO_CMD 0x48 -+#define EMAC_MDIO_DATA 0x4C -+#define EMAC_MACADDR_HI(reg) (0x50 + (reg) * 8) -+#define EMAC_MACADDR_LO(reg) (0x54 + (reg) * 8) -+#define EMAC_TX_DMA_STA 0xB0 -+#define EMAC_TX_CUR_DESC 0xB4 -+#define EMAC_TX_CUR_BUF 0xB8 -+#define EMAC_RX_DMA_STA 0xC0 -+#define EMAC_RX_CUR_DESC 0xC4 -+#define EMAC_RX_CUR_BUF 0xC8 -+ -+/* Use in EMAC_BASIC_CTL1 */ -+#define EMAC_BURSTLEN_SHIFT 24 -+ -+/* Used in EMAC_RX_FRM_FLT */ -+#define EMAC_FRM_FLT_RXALL BIT(0) -+#define EMAC_FRM_FLT_CTL BIT(13) -+#define EMAC_FRM_FLT_MULTICAST BIT(16) -+ -+/* Used in RX_CTL1*/ -+#define EMAC_RX_MD BIT(1) -+#define EMAC_RX_TH_MASK GENMASK(4, 5) -+#define EMAC_RX_TH_32 0 -+#define EMAC_RX_TH_64 (0x1 << 4) -+#define EMAC_RX_TH_96 (0x2 << 4) -+#define EMAC_RX_TH_128 (0x3 << 4) -+#define EMAC_RX_DMA_EN BIT(30) -+#define EMAC_RX_DMA_START BIT(31) -+ -+/* Used in TX_CTL1*/ -+#define EMAC_TX_MD BIT(1) -+#define EMAC_TX_NEXT_FRM BIT(2) -+#define EMAC_TX_TH_MASK GENMASK(8, 10) -+#define EMAC_TX_TH_64 0 -+#define EMAC_TX_TH_128 (0x1 << 8) -+#define EMAC_TX_TH_192 (0x2 << 8) -+#define EMAC_TX_TH_256 (0x3 << 8) -+#define EMAC_TX_DMA_EN BIT(30) -+#define EMAC_TX_DMA_START BIT(31) -+ -+/* Used in RX_CTL0 */ -+#define EMAC_RX_RECEIVER_EN BIT(31) -+#define EMAC_RX_DO_CRC BIT(27) -+#define EMAC_RX_FLOW_CTL_EN BIT(16) -+ -+/* Used in TX_CTL0 */ -+#define EMAC_TX_TRANSMITTER_EN BIT(31) -+ -+/* Used in EMAC_TX_FLOW_CTL */ -+#define EMAC_TX_FLOW_CTL_EN BIT(0) -+ -+/* Used in EMAC_INT_STA */ -+#define EMAC_TX_INT BIT(0) -+#define EMAC_TX_DMA_STOP_INT BIT(1) -+#define EMAC_TX_BUF_UA_INT BIT(2) -+#define EMAC_TX_TIMEOUT_INT BIT(3) -+#define EMAC_TX_UNDERFLOW_INT BIT(4) -+#define EMAC_TX_EARLY_INT BIT(5) -+#define EMAC_RX_INT BIT(8) -+#define EMAC_RX_BUF_UA_INT BIT(9) -+#define EMAC_RX_DMA_STOP_INT BIT(10) -+#define EMAC_RX_TIMEOUT_INT BIT(11) -+#define EMAC_RX_OVERFLOW_INT BIT(12) -+#define EMAC_RX_EARLY_INT BIT(13) -+#define EMAC_RGMII_STA_INT BIT(16) -+ -+#define MAC_ADDR_TYPE_DST BIT(31) -+ -+/* H3 specific bits for EPHY */ -+#define H3_EPHY_ADDR_SHIFT 20 -+#define H3_EPHY_LED_POL BIT(17) /* 1: active low, 0: active high */ -+#define H3_EPHY_SHUTDOWN BIT(16) /* 1: shutdown, 0: power up */ -+#define H3_EPHY_SELECT BIT(15) /* 1: internal PHY, 0: external PHY */ -+ -+/* H3/A64 specific bits */ -+#define SYSCON_RMII_EN BIT(13) /* 1: enable RMII (overrides EPIT) */ -+ -+/* Generic system control EMAC_CLK bits */ -+#define SYSCON_ETXDC_MASK GENMASK(2, 0) -+#define SYSCON_ETXDC_SHIFT 10 -+#define SYSCON_ERXDC_MASK GENMASK(4, 0) -+#define SYSCON_ERXDC_SHIFT 5 -+/* EMAC PHY Interface Type */ -+#define SYSCON_EPIT BIT(2) /* 1: RGMII, 0: MII */ -+#define SYSCON_ETCS_MASK GENMASK(1, 0) -+#define SYSCON_ETCS_MII 0x0 -+#define SYSCON_ETCS_EXT_GMII 0x1 -+#define SYSCON_ETCS_INT_GMII 0x2 -+#define SYSCON_EMAC_REG 0x30 -+ -+/* sun8i_dwmac_dma_reset() - reset the EMAC -+ * Called from stmmac via stmmac_dma_ops->reset -+ */ -+static int sun8i_dwmac_dma_reset(void __iomem *ioaddr) -+{ -+ writel(0, ioaddr + EMAC_RX_CTL1); -+ writel(0, ioaddr + EMAC_TX_CTL1); -+ writel(0, ioaddr + EMAC_RX_FRM_FLT); -+ writel(0, ioaddr + EMAC_RX_DESC_LIST); -+ writel(0, ioaddr + EMAC_TX_DESC_LIST); -+ writel(0, ioaddr + EMAC_INT_EN); -+ writel(0x1FFFFFF, ioaddr + EMAC_INT_STA); -+ return 0; -+} -+ -+/* sun8i_dwmac_dma_init() - initialize the EMAC -+ * Called from stmmac via stmmac_dma_ops->init -+ */ -+static void sun8i_dwmac_dma_init(void __iomem *ioaddr, -+ struct stmmac_dma_cfg *dma_cfg, -+ u32 dma_tx, u32 dma_rx, int atds) -+{ -+ /* Write TX and RX descriptors address */ -+ writel(dma_rx, ioaddr + EMAC_RX_DESC_LIST); -+ writel(dma_tx, ioaddr + EMAC_TX_DESC_LIST); -+ -+ writel(EMAC_RX_INT | EMAC_TX_INT, ioaddr + EMAC_INT_EN); -+ writel(0x1FFFFFF, ioaddr + EMAC_INT_STA); -+} -+ -+/* sun8i_dwmac_dump_regs() - Dump EMAC address space -+ * Called from stmmac_dma_ops->dump_regs -+ * Used for ethtool -+ */ -+static void sun8i_dwmac_dump_regs(void __iomem *ioaddr, u32 *reg_space) -+{ -+ int i; -+ -+ for (i = 0; i < 0xC8; i += 4) { -+ if (i == 0x32 || i == 0x3C) -+ continue; -+ reg_space[i / 4] = readl(ioaddr + i); -+ } -+} -+ -+/* sun8i_dwmac_dump_mac_regs() - Dump EMAC address space -+ * Called from stmmac_ops->dump_regs -+ * Used for ethtool -+ */ -+static void sun8i_dwmac_dump_mac_regs(struct mac_device_info *hw, -+ u32 *reg_space) -+{ -+ int i; -+ void __iomem *ioaddr = hw->pcsr; -+ -+ for (i = 0; i < 0xC8; i += 4) { -+ if (i == 0x32 || i == 0x3C) -+ continue; -+ reg_space[i / 4] = readl(ioaddr + i); -+ } -+} -+ -+static void sun8i_dwmac_enable_dma_irq(void __iomem *ioaddr, u32 chan) -+{ -+ writel(EMAC_RX_INT | EMAC_TX_INT, ioaddr + EMAC_INT_EN); -+} -+ -+static void sun8i_dwmac_disable_dma_irq(void __iomem *ioaddr, u32 chan) -+{ -+ writel(0, ioaddr + EMAC_INT_EN); -+} -+ -+static void sun8i_dwmac_dma_start_tx(void __iomem *ioaddr, u32 chan) -+{ -+ u32 v; -+ -+ v = readl(ioaddr + EMAC_TX_CTL1); -+ v |= EMAC_TX_DMA_START; -+ v |= EMAC_TX_DMA_EN; -+ writel(v, ioaddr + EMAC_TX_CTL1); -+} -+ -+static void sun8i_dwmac_enable_dma_transmission(void __iomem *ioaddr) -+{ -+ u32 v; -+ -+ v = readl(ioaddr + EMAC_TX_CTL1); -+ v |= EMAC_TX_DMA_START; -+ v |= EMAC_TX_DMA_EN; -+ writel(v, ioaddr + EMAC_TX_CTL1); -+} -+ -+static void sun8i_dwmac_dma_stop_tx(void __iomem *ioaddr, u32 chan) -+{ -+ u32 v; -+ -+ v = readl(ioaddr + EMAC_TX_CTL1); -+ v &= ~EMAC_TX_DMA_EN; -+ writel(v, ioaddr + EMAC_TX_CTL1); -+} -+ -+static void sun8i_dwmac_dma_start_rx(void __iomem *ioaddr, u32 chan) -+{ -+ u32 v; -+ -+ v = readl(ioaddr + EMAC_RX_CTL1); -+ v |= EMAC_RX_DMA_START; -+ v |= EMAC_RX_DMA_EN; -+ writel(v, ioaddr + EMAC_RX_CTL1); -+} -+ -+static void sun8i_dwmac_dma_stop_rx(void __iomem *ioaddr, u32 chan) -+{ -+ u32 v; -+ -+ v = readl(ioaddr + EMAC_RX_CTL1); -+ v &= ~EMAC_RX_DMA_EN; -+ writel(v, ioaddr + EMAC_RX_CTL1); -+} -+ -+static int sun8i_dwmac_dma_interrupt(void __iomem *ioaddr, -+ struct stmmac_extra_stats *x, u32 chan) -+{ -+ u32 v; -+ int ret = 0; -+ -+ v = readl(ioaddr + EMAC_INT_STA); -+ -+ if (v & EMAC_TX_INT) { -+ ret |= handle_tx; -+ x->tx_normal_irq_n++; -+ } -+ -+ if (v & EMAC_TX_DMA_STOP_INT) -+ x->tx_process_stopped_irq++; -+ -+ if (v & EMAC_TX_BUF_UA_INT) -+ x->tx_process_stopped_irq++; -+ -+ if (v & EMAC_TX_TIMEOUT_INT) -+ ret |= tx_hard_error; -+ -+ if (v & EMAC_TX_UNDERFLOW_INT) { -+ ret |= tx_hard_error; -+ x->tx_undeflow_irq++; -+ } -+ -+ if (v & EMAC_TX_EARLY_INT) -+ x->tx_early_irq++; -+ -+ if (v & EMAC_RX_INT) { -+ ret |= handle_rx; -+ x->rx_normal_irq_n++; -+ } -+ -+ if (v & EMAC_RX_BUF_UA_INT) -+ x->rx_buf_unav_irq++; -+ -+ if (v & EMAC_RX_DMA_STOP_INT) -+ x->rx_process_stopped_irq++; -+ -+ if (v & EMAC_RX_TIMEOUT_INT) -+ ret |= tx_hard_error; -+ -+ if (v & EMAC_RX_OVERFLOW_INT) { -+ ret |= tx_hard_error; -+ x->rx_overflow_irq++; -+ } -+ -+ if (v & EMAC_RX_EARLY_INT) -+ x->rx_early_irq++; -+ -+ if (v & EMAC_RGMII_STA_INT) -+ x->irq_rgmii_n++; -+ -+ writel(v, ioaddr + EMAC_INT_STA); -+ -+ return ret; -+} -+ -+static void sun8i_dwmac_dma_operation_mode(void __iomem *ioaddr, int txmode, -+ int rxmode, int rxfifosz) -+{ -+ u32 v; -+ -+ v = readl(ioaddr + EMAC_TX_CTL1); -+ if (txmode == SF_DMA_MODE) { -+ v |= EMAC_TX_MD; -+ /* Undocumented bit (called TX_NEXT_FRM in BSP), the original -+ * comment is -+ * "Operating on second frame increase the performance -+ * especially when transmit store-and-forward is used." -+ */ -+ v |= EMAC_TX_NEXT_FRM; -+ } else { -+ v &= ~EMAC_TX_MD; -+ v &= ~EMAC_TX_TH_MASK; -+ if (txmode < 64) -+ v |= EMAC_TX_TH_64; -+ else if (txmode < 128) -+ v |= EMAC_TX_TH_128; -+ else if (txmode < 192) -+ v |= EMAC_TX_TH_192; -+ else if (txmode < 256) -+ v |= EMAC_TX_TH_256; -+ } -+ writel(v, ioaddr + EMAC_TX_CTL1); -+ -+ v = readl(ioaddr + EMAC_RX_CTL1); -+ if (rxmode == SF_DMA_MODE) { -+ v |= EMAC_RX_MD; -+ } else { -+ v &= ~EMAC_RX_MD; -+ v &= ~EMAC_RX_TH_MASK; -+ if (rxmode < 32) -+ v |= EMAC_RX_TH_32; -+ else if (rxmode < 64) -+ v |= EMAC_RX_TH_64; -+ else if (rxmode < 96) -+ v |= EMAC_RX_TH_96; -+ else if (rxmode < 128) -+ v |= EMAC_RX_TH_128; -+ } -+ writel(v, ioaddr + EMAC_RX_CTL1); -+} -+ -+static const struct stmmac_dma_ops sun8i_dwmac_dma_ops = { -+ .reset = sun8i_dwmac_dma_reset, -+ .init = sun8i_dwmac_dma_init, -+ .dump_regs = sun8i_dwmac_dump_regs, -+ .dma_mode = sun8i_dwmac_dma_operation_mode, -+ .enable_dma_transmission = sun8i_dwmac_enable_dma_transmission, -+ .enable_dma_irq = sun8i_dwmac_enable_dma_irq, -+ .disable_dma_irq = sun8i_dwmac_disable_dma_irq, -+ .start_tx = sun8i_dwmac_dma_start_tx, -+ .stop_tx = sun8i_dwmac_dma_stop_tx, -+ .start_rx = sun8i_dwmac_dma_start_rx, -+ .stop_rx = sun8i_dwmac_dma_stop_rx, -+ .dma_interrupt = sun8i_dwmac_dma_interrupt, -+}; -+ -+static int sun8i_dwmac_init(struct platform_device *pdev, void *priv) -+{ -+ struct sunxi_priv_data *gmac = priv; -+ int ret; -+ -+ if (gmac->regulator) { -+ ret = regulator_enable(gmac->regulator); -+ if (ret) { -+ dev_err(&pdev->dev, "Fail to enable regulator\n"); -+ return ret; -+ } -+ } -+ -+ ret = clk_prepare_enable(gmac->tx_clk); -+ if (ret) { -+ if (gmac->regulator) -+ regulator_disable(gmac->regulator); -+ dev_err(&pdev->dev, "Could not enable AHB clock\n"); -+ return ret; -+ } -+ -+ return 0; -+} -+ -+static void sun8i_dwmac_core_init(struct mac_device_info *hw, int mtu) -+{ -+ void __iomem *ioaddr = hw->pcsr; -+ u32 v; -+ -+ v = (8 << EMAC_BURSTLEN_SHIFT); /* burst len */ -+ writel(v, ioaddr + EMAC_BASIC_CTL1); -+} -+ -+static void sun8i_dwmac_set_mac(void __iomem *ioaddr, bool enable) -+{ -+ u32 t, r; -+ -+ t = readl(ioaddr + EMAC_TX_CTL0); -+ r = readl(ioaddr + EMAC_RX_CTL0); -+ if (enable) { -+ t |= EMAC_TX_TRANSMITTER_EN; -+ r |= EMAC_RX_RECEIVER_EN; -+ } else { -+ t &= ~EMAC_TX_TRANSMITTER_EN; -+ r &= ~EMAC_RX_RECEIVER_EN; -+ } -+ writel(t, ioaddr + EMAC_TX_CTL0); -+ writel(r, ioaddr + EMAC_RX_CTL0); -+} -+ -+/* Set MAC address at slot reg_n -+ * All slot > 0 need to be enabled with MAC_ADDR_TYPE_DST -+ * If addr is NULL, clear the slot -+ */ -+static void sun8i_dwmac_set_umac_addr(struct mac_device_info *hw, -+ unsigned char *addr, -+ unsigned int reg_n) -+{ -+ void __iomem *ioaddr = hw->pcsr; -+ u32 v; -+ -+ if (!addr) { -+ writel(0, ioaddr + EMAC_MACADDR_HI(reg_n)); -+ return; -+ } -+ -+ stmmac_set_mac_addr(ioaddr, addr, EMAC_MACADDR_HI(reg_n), -+ EMAC_MACADDR_LO(reg_n)); -+ if (reg_n > 0) { -+ v = readl(ioaddr + EMAC_MACADDR_HI(reg_n)); -+ v |= MAC_ADDR_TYPE_DST; -+ writel(v, ioaddr + EMAC_MACADDR_HI(reg_n)); -+ } -+} -+ -+static void sun8i_dwmac_get_umac_addr(struct mac_device_info *hw, -+ unsigned char *addr, -+ unsigned int reg_n) -+{ -+ void __iomem *ioaddr = hw->pcsr; -+ -+ stmmac_get_mac_addr(ioaddr, addr, EMAC_MACADDR_HI(reg_n), -+ EMAC_MACADDR_LO(reg_n)); -+} -+ -+/* caution this function must return non 0 to work */ -+static int sun8i_dwmac_rx_ipc_enable(struct mac_device_info *hw) -+{ -+ void __iomem *ioaddr = hw->pcsr; -+ u32 v; -+ -+ v = readl(ioaddr + EMAC_RX_CTL0); -+ v |= EMAC_RX_DO_CRC; -+ writel(v, ioaddr + EMAC_RX_CTL0); -+ -+ return 1; -+} -+ -+static void sun8i_dwmac_set_filter(struct mac_device_info *hw, -+ struct net_device *dev) -+{ -+ void __iomem *ioaddr = hw->pcsr; -+ u32 v; -+ int i = 1; -+ struct netdev_hw_addr *ha; -+ int macaddrs = netdev_uc_count(dev) + netdev_mc_count(dev) + 1; -+ -+ v = EMAC_FRM_FLT_CTL; -+ -+ if (dev->flags & IFF_PROMISC) { -+ v = EMAC_FRM_FLT_RXALL; -+ } else if (dev->flags & IFF_ALLMULTI) { -+ v |= EMAC_FRM_FLT_MULTICAST; -+ } else if (macaddrs <= hw->unicast_filter_entries) { -+ if (!netdev_mc_empty(dev)) { -+ netdev_for_each_mc_addr(ha, dev) { -+ sun8i_dwmac_set_umac_addr(hw, ha->addr, i); -+ i++; -+ } -+ } -+ if (!netdev_uc_empty(dev)) { -+ netdev_for_each_uc_addr(ha, dev) { -+ sun8i_dwmac_set_umac_addr(hw, ha->addr, i); -+ i++; -+ } -+ } -+ } else { -+ netdev_info(dev, "Too many address, switching to promiscuous\n"); -+ v = EMAC_FRM_FLT_RXALL; -+ } -+ -+ /* Disable unused address filter slots */ -+ while (i < hw->unicast_filter_entries) -+ sun8i_dwmac_set_umac_addr(hw, NULL, i++); -+ -+ writel(v, ioaddr + EMAC_RX_FRM_FLT); -+} -+ -+static void sun8i_dwmac_flow_ctrl(struct mac_device_info *hw, -+ unsigned int duplex, unsigned int fc, -+ unsigned int pause_time, u32 tx_cnt) -+{ -+ void __iomem *ioaddr = hw->pcsr; -+ u32 v; -+ -+ v = readl(ioaddr + EMAC_RX_CTL0); -+ if (fc == FLOW_AUTO) -+ v |= EMAC_RX_FLOW_CTL_EN; -+ else -+ v &= ~EMAC_RX_FLOW_CTL_EN; -+ writel(v, ioaddr + EMAC_RX_CTL0); -+ -+ v = readl(ioaddr + EMAC_TX_FLOW_CTL); -+ if (fc == FLOW_AUTO) -+ v |= EMAC_TX_FLOW_CTL_EN; -+ else -+ v &= ~EMAC_TX_FLOW_CTL_EN; -+ writel(v, ioaddr + EMAC_TX_FLOW_CTL); -+} -+ -+static int sun8i_dwmac_reset(struct stmmac_priv *priv) -+{ -+ u32 v; -+ int err; -+ -+ v = readl(priv->ioaddr + EMAC_BASIC_CTL1); -+ writel(v | 0x01, priv->ioaddr + EMAC_BASIC_CTL1); -+ -+ err = readl_poll_timeout(priv->ioaddr + EMAC_BASIC_CTL1, v, -+ !(v & 0x01), 100, 10000); -+ -+ if (err) { -+ dev_err(priv->device, "EMAC reset timeout\n"); -+ return -EFAULT; -+ } -+ return 0; -+} -+ -+static int sun8i_dwmac_set_syscon(struct stmmac_priv *priv) -+{ -+ struct sunxi_priv_data *gmac = priv->plat->bsp_priv; -+ struct device_node *node = priv->device->of_node; -+ int ret; -+ u32 reg, val; -+ -+ regmap_read(gmac->regmap, SYSCON_EMAC_REG, &val); -+ reg = gmac->variant->default_syscon_value; -+ if (reg != val) -+ dev_warn(priv->device, -+ "Current syscon value is not the default %x (expect %x)\n", -+ val, reg); -+ -+ if (gmac->variant->internal_phy) { -+ if (!gmac->use_internal_phy) { -+ /* switch to external PHY interface */ -+ reg &= ~H3_EPHY_SELECT; -+ } else { -+ reg |= H3_EPHY_SELECT; -+ reg &= ~H3_EPHY_SHUTDOWN; -+ dev_dbg(priv->device, "Select internal_phy %x\n", reg); -+ -+ if (of_property_read_bool(priv->plat->phy_node, -+ "allwinner,leds-active-low")) -+ reg |= H3_EPHY_LED_POL; -+ else -+ reg &= ~H3_EPHY_LED_POL; -+ -+ ret = of_mdio_parse_addr(priv->device, -+ priv->plat->phy_node); -+ if (ret < 0) { -+ dev_err(priv->device, "Could not parse MDIO addr\n"); -+ return ret; -+ } -+ /* of_mdio_parse_addr returns a valid (0 ~ 31) PHY -+ * address. No need to mask it again. -+ */ -+ reg |= ret << H3_EPHY_ADDR_SHIFT; -+ } -+ } -+ -+ if (!of_property_read_u32(node, "allwinner,tx-delay-ps", &val)) { -+ if (val % 100) { -+ dev_err(priv->device, "tx-delay must be a multiple of 100\n"); -+ return -EINVAL; -+ } -+ val /= 100; -+ dev_dbg(priv->device, "set tx-delay to %x\n", val); -+ if (val <= SYSCON_ETXDC_MASK) { -+ reg &= ~(SYSCON_ETXDC_MASK << SYSCON_ETXDC_SHIFT); -+ reg |= (val << SYSCON_ETXDC_SHIFT); -+ } else { -+ dev_err(priv->device, "Invalid TX clock delay: %d\n", -+ val); -+ return -EINVAL; -+ } -+ } -+ -+ if (!of_property_read_u32(node, "allwinner,rx-delay-ps", &val)) { -+ if (val % 100) { -+ dev_err(priv->device, "rx-delay must be a multiple of 100\n"); -+ return -EINVAL; -+ } -+ val /= 100; -+ dev_dbg(priv->device, "set rx-delay to %x\n", val); -+ if (val <= SYSCON_ERXDC_MASK) { -+ reg &= ~(SYSCON_ERXDC_MASK << SYSCON_ERXDC_SHIFT); -+ reg |= (val << SYSCON_ERXDC_SHIFT); -+ } else { -+ dev_err(priv->device, "Invalid RX clock delay: %d\n", -+ val); -+ return -EINVAL; -+ } -+ } -+ -+ /* Clear interface mode bits */ -+ reg &= ~(SYSCON_ETCS_MASK | SYSCON_EPIT); -+ if (gmac->variant->support_rmii) -+ reg &= ~SYSCON_RMII_EN; -+ -+ switch (priv->plat->interface) { -+ case PHY_INTERFACE_MODE_MII: -+ /* default */ -+ break; -+ case PHY_INTERFACE_MODE_RGMII: -+ reg |= SYSCON_EPIT | SYSCON_ETCS_INT_GMII; -+ break; -+ case PHY_INTERFACE_MODE_RMII: -+ reg |= SYSCON_RMII_EN | SYSCON_ETCS_EXT_GMII; -+ break; -+ default: -+ dev_err(priv->device, "Unsupported interface mode: %s", -+ phy_modes(priv->plat->interface)); -+ return -EINVAL; -+ } -+ -+ regmap_write(gmac->regmap, SYSCON_EMAC_REG, reg); -+ -+ return 0; -+} -+ -+static void sun8i_dwmac_unset_syscon(struct sunxi_priv_data *gmac) -+{ -+ u32 reg = gmac->variant->default_syscon_value; -+ -+ regmap_write(gmac->regmap, SYSCON_EMAC_REG, reg); -+} -+ -+static int sun8i_dwmac_power_internal_phy(struct stmmac_priv *priv) -+{ -+ struct sunxi_priv_data *gmac = priv->plat->bsp_priv; -+ int ret; -+ -+ if (!gmac->use_internal_phy) -+ return 0; -+ -+ ret = clk_prepare_enable(gmac->ephy_clk); -+ if (ret) { -+ dev_err(priv->device, "Cannot enable ephy\n"); -+ return ret; -+ } -+ -+ ret = reset_control_deassert(gmac->rst_ephy); -+ if (ret) { -+ dev_err(priv->device, "Cannot deassert ephy\n"); -+ clk_disable_unprepare(gmac->ephy_clk); -+ return ret; -+ } -+ -+ return 0; -+} -+ -+static int sun8i_dwmac_unpower_internal_phy(struct sunxi_priv_data *gmac) -+{ -+ if (!gmac->use_internal_phy) -+ return 0; -+ -+ clk_disable_unprepare(gmac->ephy_clk); -+ reset_control_assert(gmac->rst_ephy); -+ return 0; -+} -+ -+static int sun8i_power_phy(struct stmmac_priv *priv) -+{ -+ struct sunxi_priv_data *gmac = priv->plat->bsp_priv; -+ int ret; -+ -+ ret = sun8i_dwmac_power_internal_phy(priv); -+ if (ret) -+ return ret; -+ -+ ret = sun8i_dwmac_set_syscon(priv); -+ if (ret) -+ goto error_phy; -+ -+ ret = sun8i_dwmac_reset(priv); -+ if (ret) -+ goto error_phy; -+ return 0; -+ -+error_phy: -+ sun8i_dwmac_unset_syscon(gmac); -+ sun8i_dwmac_unpower_internal_phy(gmac); -+ return ret; -+} -+ -+static void sun8i_unpower_phy(struct sunxi_priv_data *gmac) -+{ -+ sun8i_dwmac_unset_syscon(gmac); -+ sun8i_dwmac_unpower_internal_phy(gmac); -+} -+ -+static void sun8i_dwmac_exit(struct platform_device *pdev, void *priv) -+{ -+ struct sunxi_priv_data *gmac = priv; -+ -+ sun8i_unpower_phy(gmac); -+ -+ clk_disable_unprepare(gmac->tx_clk); -+ -+ if (gmac->regulator) -+ regulator_disable(gmac->regulator); -+} -+ -+static const struct stmmac_ops sun8i_dwmac_ops = { -+ .core_init = sun8i_dwmac_core_init, -+ .set_mac = sun8i_dwmac_set_mac, -+ .dump_regs = sun8i_dwmac_dump_mac_regs, -+ .rx_ipc = sun8i_dwmac_rx_ipc_enable, -+ .set_filter = sun8i_dwmac_set_filter, -+ .flow_ctrl = sun8i_dwmac_flow_ctrl, -+ .set_umac_addr = sun8i_dwmac_set_umac_addr, -+ .get_umac_addr = sun8i_dwmac_get_umac_addr, -+}; -+ -+static struct mac_device_info *sun8i_dwmac_setup(void *ppriv) -+{ -+ struct mac_device_info *mac; -+ struct stmmac_priv *priv = ppriv; -+ int ret; -+ -+ mac = devm_kzalloc(priv->device, sizeof(*mac), GFP_KERNEL); -+ if (!mac) -+ return NULL; -+ -+ ret = sun8i_power_phy(priv); -+ if (ret) -+ return NULL; -+ -+ mac->pcsr = priv->ioaddr; -+ mac->mac = &sun8i_dwmac_ops; -+ mac->dma = &sun8i_dwmac_dma_ops; -+ -+ mac->link.port = 0; -+ mac->link.duplex = BIT(0); -+ mac->link.speed = 1; -+ mac->mii.addr = EMAC_MDIO_CMD; -+ mac->mii.data = EMAC_MDIO_DATA; -+ mac->mii.reg_shift = 4; -+ mac->mii.reg_mask = GENMASK(8, 4); -+ mac->mii.addr_shift = 12; -+ mac->mii.addr_mask = GENMASK(16, 12); -+ mac->mii.clk_csr_shift = 20; -+ mac->mii.clk_csr_mask = GENMASK(22, 20); -+ mac->unicast_filter_entries = 8; -+ -+ /* Synopsys Id is not available */ -+ priv->synopsys_id = 0; -+ -+ return mac; -+} -+ -+static int sun8i_dwmac_probe(struct platform_device *pdev) -+{ -+ struct plat_stmmacenet_data *plat_dat; -+ struct stmmac_resources stmmac_res; -+ struct sunxi_priv_data *gmac; -+ struct device *dev = &pdev->dev; -+ int ret; -+ -+ ret = stmmac_get_platform_resources(pdev, &stmmac_res); -+ if (ret) -+ return ret; -+ -+ plat_dat = stmmac_probe_config_dt(pdev, &stmmac_res.mac); -+ if (IS_ERR(plat_dat)) -+ return PTR_ERR(plat_dat); -+ -+ gmac = devm_kzalloc(dev, sizeof(*gmac), GFP_KERNEL); -+ if (!gmac) -+ return -ENOMEM; -+ -+ gmac->variant = of_device_get_match_data(&pdev->dev); -+ if (!gmac->variant) { -+ dev_err(&pdev->dev, "Missing dwmac-sun8i variant\n"); -+ return -EINVAL; -+ } -+ -+ gmac->tx_clk = devm_clk_get(dev, "stmmaceth"); -+ if (IS_ERR(gmac->tx_clk)) { -+ dev_err(dev, "Could not get TX clock\n"); -+ return PTR_ERR(gmac->tx_clk); -+ } -+ -+ /* Optional regulator for PHY */ -+ gmac->regulator = devm_regulator_get_optional(dev, "phy"); -+ if (IS_ERR(gmac->regulator)) { -+ if (PTR_ERR(gmac->regulator) == -EPROBE_DEFER) -+ return -EPROBE_DEFER; -+ dev_info(dev, "No regulator found\n"); -+ gmac->regulator = NULL; -+ } -+ -+ gmac->regmap = syscon_regmap_lookup_by_phandle(pdev->dev.of_node, -+ "syscon"); -+ if (IS_ERR(gmac->regmap)) { -+ ret = PTR_ERR(gmac->regmap); -+ dev_err(&pdev->dev, "Unable to map syscon: %d\n", ret); -+ return ret; -+ } -+ -+ plat_dat->interface = of_get_phy_mode(dev->of_node); -+ if (plat_dat->interface == gmac->variant->internal_phy) { -+ dev_info(&pdev->dev, "Will use internal PHY\n"); -+ gmac->use_internal_phy = true; -+ gmac->ephy_clk = of_clk_get(plat_dat->phy_node, 0); -+ if (IS_ERR(gmac->ephy_clk)) { -+ ret = PTR_ERR(gmac->ephy_clk); -+ dev_err(&pdev->dev, "Cannot get EPHY clock: %d\n", ret); -+ return -EINVAL; -+ } -+ -+ gmac->rst_ephy = of_reset_control_get(plat_dat->phy_node, NULL); -+ if (IS_ERR(gmac->rst_ephy)) { -+ ret = PTR_ERR(gmac->rst_ephy); -+ if (ret == -EPROBE_DEFER) -+ return ret; -+ dev_err(&pdev->dev, "No EPHY reset control found %d\n", -+ ret); -+ return -EINVAL; -+ } -+ } else { -+ dev_info(&pdev->dev, "Will use external PHY\n"); -+ gmac->use_internal_phy = false; -+ } -+ -+ /* platform data specifying hardware features and callbacks. -+ * hardware features were copied from Allwinner drivers. -+ */ -+ plat_dat->rx_coe = STMMAC_RX_COE_TYPE2; -+ plat_dat->tx_coe = 1; -+ plat_dat->has_sun8i = true; -+ plat_dat->bsp_priv = gmac; -+ plat_dat->init = sun8i_dwmac_init; -+ plat_dat->exit = sun8i_dwmac_exit; -+ plat_dat->setup = sun8i_dwmac_setup; -+ -+ ret = sun8i_dwmac_init(pdev, plat_dat->bsp_priv); -+ if (ret) -+ return ret; -+ -+ ret = stmmac_dvr_probe(&pdev->dev, plat_dat, &stmmac_res); -+ if (ret) -+ sun8i_dwmac_exit(pdev, plat_dat->bsp_priv); -+ -+ return ret; -+} -+ -+static const struct of_device_id sun8i_dwmac_match[] = { -+ { .compatible = "allwinner,sun8i-h3-emac", -+ .data = &emac_variant_h3 }, -+ { .compatible = "allwinner,sun8i-a83t-emac", -+ .data = &emac_variant_a83t }, -+ { .compatible = "allwinner,sun50i-a64-emac", -+ .data = &emac_variant_a64 }, -+ { } -+}; -+MODULE_DEVICE_TABLE(of, sun8i_dwmac_match); -+ -+static struct platform_driver sun8i_dwmac_driver = { -+ .probe = sun8i_dwmac_probe, -+ .remove = stmmac_pltfr_remove, -+ .driver = { -+ .name = "dwmac-sun8i", -+ .pm = &stmmac_pltfr_pm_ops, -+ .of_match_table = sun8i_dwmac_match, -+ }, -+}; -+module_platform_driver(sun8i_dwmac_driver); -+ -+MODULE_AUTHOR("Corentin Labbe <clabbe.montjoie@gmail.com>"); -+MODULE_DESCRIPTION("Allwinner sun8i DWMAC specific glue layer"); -+MODULE_LICENSE("GPL"); -diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c -index b82ab64..39777a7 100644 ---- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c -+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c -@@ -235,6 +235,17 @@ static void stmmac_clk_csr_set(struct stmmac_priv *priv) - else if ((clk_rate >= CSR_F_250M) && (clk_rate < CSR_F_300M)) - priv->clk_csr = STMMAC_CSR_250_300M; - } -+ -+ if (priv->plat->has_sun8i) { -+ if (clk_rate > 160000000) -+ priv->clk_csr = 0x03; -+ else if (clk_rate > 80000000) -+ priv->clk_csr = 0x02; -+ else if (clk_rate > 40000000) -+ priv->clk_csr = 0x01; -+ else -+ priv->clk_csr = 0; -+ } - } - - static void print_pkt(unsigned char *buf, int len) -@@ -784,6 +795,14 @@ static void stmmac_adjust_link(struct net_device *dev) - if (phydev->link) { - u32 ctrl = readl(priv->ioaddr + MAC_CTRL_REG); - -+ /* dwmac-sun8i handle loopback in MAC_CTRL_REG */ -+ if (priv->plat->has_sun8i) { -+ if (dev->features & NETIF_F_LOOPBACK) -+ ctrl |= BIT(1); -+ else -+ ctrl &= ~BIT(1); -+ } -+ - /* Now we make sure that we can be in full duplex mode. - * If not, we operate in half-duplex mode. */ - if (phydev->duplex != priv->oldduplex) { -@@ -800,6 +819,8 @@ static void stmmac_adjust_link(struct net_device *dev) - - if (phydev->speed != priv->speed) { - new_state = 1; -+ if (priv->plat->has_sun8i) -+ ctrl &= ~GENMASK(3, 2); - switch (phydev->speed) { - case 1000: - if (priv->plat->has_gmac || -@@ -811,6 +832,8 @@ static void stmmac_adjust_link(struct net_device *dev) - priv->plat->has_gmac4) { - ctrl |= priv->hw->link.port; - ctrl |= priv->hw->link.speed; -+ } else if (priv->plat->has_sun8i) { -+ ctrl |= 3 << 2; - } else { - ctrl &= ~priv->hw->link.port; - } -@@ -820,6 +843,8 @@ static void stmmac_adjust_link(struct net_device *dev) - priv->plat->has_gmac4) { - ctrl |= priv->hw->link.port; - ctrl &= ~(priv->hw->link.speed); -+ } else if (priv->plat->has_sun8i) { -+ ctrl |= 2 << 2; - } else { - ctrl &= ~priv->hw->link.port; - } -@@ -3969,6 +3994,10 @@ static int stmmac_hw_init(struct stmmac_priv *priv) - - priv->hw = mac; - -+ /* dwmac-sun8i only work in chain mode */ -+ if (priv->plat->has_sun8i) -+ chain_mode = 1; -+ - /* To use the chained or ring mode */ - if (priv->synopsys_id >= DWMAC_CORE_4_00) { - priv->hw->mode = &dwmac4_ring_mode_ops; -diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c -index 7fc3a1e..3840529 100644 ---- a/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c -+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c -@@ -309,6 +309,12 @@ static int stmmac_dt_phy(struct plat_stmmacenet_data *plat, - struct device_node *np, struct device *dev) - { - bool mdio = true; -+ static const struct of_device_id need_mdio_ids[] = { -+ { .compatible = "snps,dwc-qos-ethernet-4.10" }, -+ { .compatible = "allwinner,sun8i-a83t-emac" }, -+ { .compatible = "allwinner,sun8i-h3-emac" }, -+ { .compatible = "allwinner,sun50i-a64-emac" }, -+ }; - - /* If phy-handle property is passed from DT, use it as the PHY */ - plat->phy_node = of_parse_phandle(np, "phy-handle", 0); -@@ -325,8 +331,7 @@ static int stmmac_dt_phy(struct plat_stmmacenet_data *plat, - mdio = false; - } - -- /* exception for dwmac-dwc-qos-eth glue logic */ -- if (of_device_is_compatible(np, "snps,dwc-qos-ethernet-4.10")) { -+ if (of_match_node(need_mdio_ids, np)) { - plat->mdio_node = of_get_child_by_name(np, "mdio"); - } else { - /** -diff --git a/include/linux/stmmac.h b/include/linux/stmmac.h -index 8bb550b..108739f 100644 ---- a/include/linux/stmmac.h -+++ b/include/linux/stmmac.h -@@ -186,6 +186,7 @@ struct plat_stmmacenet_data { - struct reset_control *stmmac_rst; - struct stmmac_axi *axi; - int has_gmac4; -+ bool has_sun8i; - bool tso_en; - int mac_port_sel_speed; - bool en_tx_lpi_clockgating; - -From patchwork Mon May 1 12:45:06 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [v5, - 06/20] arm: sun8i: sunxi-h3-h5: Add dt node for the syscon control - module -From: Corentin LABBE <clabbe.montjoie@gmail.com> -X-Patchwork-Id: 9706459 -Message-Id: <20170501124520.3769-7-clabbe.montjoie@gmail.com> -To: robh+dt@kernel.org, mark.rutland@arm.com, - maxime.ripard@free-electrons.com, wens@csie.org, - linux@armlinux.org.uk, catalin.marinas@arm.com, - will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com -Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, - netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org, - Corentin Labbe <clabbe.montjoie@gmail.com> -Date: Mon, 1 May 2017 14:45:06 +0200 - -This patch add the dt node for the syscon register present on the -Allwinner H3/H5 - -Only two register are present in this syscon and the only one useful is -the one dedicated to EMAC clock.. - -Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com> ---- - arch/arm/boot/dts/sunxi-h3-h5.dtsi | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/arch/arm/boot/dts/sunxi-h3-h5.dtsi b/arch/arm/boot/dts/sunxi-h3-h5.dtsi -index 1aeeacb..d9691fc 100644 ---- a/arch/arm/boot/dts/sunxi-h3-h5.dtsi -+++ b/arch/arm/boot/dts/sunxi-h3-h5.dtsi -@@ -83,6 +83,12 @@ - #size-cells = <1>; - ranges; - -+ syscon: syscon@1c00000 { -+ compatible = "allwinner,sun8i-h3-system-controller", -+ "syscon"; -+ reg = <0x01c00000 0x1000>; -+ }; -+ - dma: dma-controller@01c02000 { - compatible = "allwinner,sun8i-h3-dma"; - reg = <0x01c02000 0x1000>; - -From patchwork Mon May 1 12:45:07 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [v5,07/20] arm: sun8i: sunxi-h3-h5: add dwmac-sun8i ethernet driver -From: Corentin LABBE <clabbe.montjoie@gmail.com> -X-Patchwork-Id: 9706465 -Message-Id: <20170501124520.3769-8-clabbe.montjoie@gmail.com> -To: robh+dt@kernel.org, mark.rutland@arm.com, - maxime.ripard@free-electrons.com, wens@csie.org, - linux@armlinux.org.uk, catalin.marinas@arm.com, - will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com -Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, - netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org, - Corentin Labbe <clabbe.montjoie@gmail.com> -Date: Mon, 1 May 2017 14:45:07 +0200 - -The dwmac-sun8i is an ethernet MAC hardware that support 10/100/1000 -speed. - -This patch enable the dwmac-sun8i on Allwinner H3/H5 SoC Device-tree. -SoC H3/H5 have an internal PHY, so optionals syscon and ephy are set. - -Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com> ---- - arch/arm/boot/dts/sunxi-h3-h5.dtsi | 34 ++++++++++++++++++++++++++++++++++ - 1 file changed, 34 insertions(+) - -diff --git a/arch/arm/boot/dts/sunxi-h3-h5.dtsi b/arch/arm/boot/dts/sunxi-h3-h5.dtsi -index d9691fc..45a9a30 100644 ---- a/arch/arm/boot/dts/sunxi-h3-h5.dtsi -+++ b/arch/arm/boot/dts/sunxi-h3-h5.dtsi -@@ -285,6 +285,14 @@ - interrupt-controller; - #interrupt-cells = <3>; - -+ emac_rgmii_pins: emac0 { -+ pins = "PD0", "PD1", "PD2", "PD3", "PD4", -+ "PD5", "PD7", "PD8", "PD9", "PD10", -+ "PD12", "PD13", "PD15", "PD16", "PD17"; -+ function = "emac"; -+ drive-strength = <40>; -+ }; -+ - i2c0_pins: i2c0 { - pins = "PA11", "PA12"; - function = "i2c0"; -@@ -381,6 +389,32 @@ - clocks = <&osc24M>; - }; - -+ emac: ethernet@1c30000 { -+ compatible = "allwinner,sun8i-h3-emac"; -+ syscon = <&syscon>; -+ reg = <0x01c30000 0x104>; -+ interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>; -+ interrupt-names = "macirq"; -+ resets = <&ccu RST_BUS_EMAC>; -+ reset-names = "stmmaceth"; -+ clocks = <&ccu CLK_BUS_EMAC>; -+ clock-names = "stmmaceth"; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ status = "disabled"; -+ -+ mdio: mdio { -+ #address-cells = <1>; -+ #size-cells = <0>; -+ int_mii_phy: ethernet-phy@1 { -+ compatible = "ethernet-phy-ieee802.3-c22"; -+ reg = <1>; -+ clocks = <&ccu CLK_BUS_EPHY>; -+ resets = <&ccu RST_BUS_EPHY>; -+ }; -+ }; -+ }; -+ - spi0: spi@01c68000 { - compatible = "allwinner,sun8i-h3-spi"; - reg = <0x01c68000 0x1000>; - -From patchwork Mon May 1 12:45:08 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [v5,08/20] arm: sun8i: orangepi-pc: Enable dwmac-sun8i -From: Corentin LABBE <clabbe.montjoie@gmail.com> -X-Patchwork-Id: 9706463 -Message-Id: <20170501124520.3769-9-clabbe.montjoie@gmail.com> -To: robh+dt@kernel.org, mark.rutland@arm.com, - maxime.ripard@free-electrons.com, wens@csie.org, - linux@armlinux.org.uk, catalin.marinas@arm.com, - will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com -Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, - netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org, - Corentin Labbe <clabbe.montjoie@gmail.com> -Date: Mon, 1 May 2017 14:45:08 +0200 - -The dwmac-sun8i hardware is present on the Orange PI PC. -It uses the internal PHY. - -This patch create the needed emac node. - -Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com> ---- - arch/arm/boot/dts/sun8i-h3-orangepi-pc.dts | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git a/arch/arm/boot/dts/sun8i-h3-orangepi-pc.dts b/arch/arm/boot/dts/sun8i-h3-orangepi-pc.dts -index f148111..52e6575 100644 ---- a/arch/arm/boot/dts/sun8i-h3-orangepi-pc.dts -+++ b/arch/arm/boot/dts/sun8i-h3-orangepi-pc.dts -@@ -52,6 +52,7 @@ - compatible = "xunlong,orangepi-pc", "allwinner,sun8i-h3"; - - aliases { -+ ethernet0 = &emac; - serial0 = &uart0; - }; - -@@ -109,6 +110,13 @@ - status = "okay"; - }; - -+&emac { -+ phy-handle = <&int_mii_phy>; -+ phy-mode = "mii"; -+ allwinner,leds-active-low; -+ status = "okay"; -+}; -+ - &ir { - pinctrl-names = "default"; - pinctrl-0 = <&ir_pins_a>; - -From patchwork Mon May 1 12:45:09 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [v5,09/20] arm: sun8i: orangepi-zero: Enable dwmac-sun8i -From: Corentin LABBE <clabbe.montjoie@gmail.com> -X-Patchwork-Id: 9706461 -Message-Id: <20170501124520.3769-10-clabbe.montjoie@gmail.com> -To: robh+dt@kernel.org, mark.rutland@arm.com, - maxime.ripard@free-electrons.com, wens@csie.org, - linux@armlinux.org.uk, catalin.marinas@arm.com, - will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com -Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, - netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org, - Corentin Labbe <clabbe.montjoie@gmail.com> -Date: Mon, 1 May 2017 14:45:09 +0200 - -The dwmac-sun8i hardware is present on the Orange PI Zero. -It uses the internal PHY. - -This patch create the needed emac node. - -Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com> ---- - arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git a/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts b/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts -index 9e8b082..dd3525a 100644 ---- a/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts -+++ b/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts -@@ -57,6 +57,7 @@ - aliases { - serial0 = &uart0; - /* ethernet0 is the H3 emac, defined in sun8i-h3.dtsi */ -+ ethernet0 = &emac; - ethernet1 = &xr819; - }; - -@@ -103,6 +104,13 @@ - status = "okay"; - }; - -+&emac { -+ phy-handle = <&int_mii_phy>; -+ phy-mode = "mii"; -+ allwinner,leds-active-low; -+ status = "okay"; -+}; -+ - &mmc0 { - pinctrl-names = "default"; - pinctrl-0 = <&mmc0_pins_a>; - -From patchwork Mon May 1 12:45:10 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [v5,10/20] arm: sun8i: orangepi-one: Enable dwmac-sun8i -From: Corentin LABBE <clabbe.montjoie@gmail.com> -X-Patchwork-Id: 9706471 -Message-Id: <20170501124520.3769-11-clabbe.montjoie@gmail.com> -To: robh+dt@kernel.org, mark.rutland@arm.com, - maxime.ripard@free-electrons.com, wens@csie.org, - linux@armlinux.org.uk, catalin.marinas@arm.com, - will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com -Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, - netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org, - Corentin Labbe <clabbe.montjoie@gmail.com> -Date: Mon, 1 May 2017 14:45:10 +0200 - -The dwmac-sun8i hardware is present on the Orange PI One. -It uses the internal PHY. - -This patch create the needed emac node. - -Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com> ---- - arch/arm/boot/dts/sun8i-h3-orangepi-one.dts | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git a/arch/arm/boot/dts/sun8i-h3-orangepi-one.dts b/arch/arm/boot/dts/sun8i-h3-orangepi-one.dts -index 5fea430..6880268 100644 ---- a/arch/arm/boot/dts/sun8i-h3-orangepi-one.dts -+++ b/arch/arm/boot/dts/sun8i-h3-orangepi-one.dts -@@ -52,6 +52,7 @@ - compatible = "xunlong,orangepi-one", "allwinner,sun8i-h3"; - - aliases { -+ ethernet0 = &emac; - serial0 = &uart0; - }; - -@@ -97,6 +98,13 @@ - status = "okay"; - }; - -+&emac { -+ phy-handle = <&int_mii_phy>; -+ phy-mode = "mii"; -+ allwinner,leds-active-low; -+ status = "okay"; -+}; -+ - &mmc0 { - pinctrl-names = "default"; - pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin>; - -From patchwork Mon May 1 12:45:11 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [v5,11/20] arm: sun8i: orangepi-2: Enable dwmac-sun8i -From: Corentin LABBE <clabbe.montjoie@gmail.com> -X-Patchwork-Id: 9706467 -Message-Id: <20170501124520.3769-12-clabbe.montjoie@gmail.com> -To: robh+dt@kernel.org, mark.rutland@arm.com, - maxime.ripard@free-electrons.com, wens@csie.org, - linux@armlinux.org.uk, catalin.marinas@arm.com, - will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com -Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, - netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org, - Corentin Labbe <clabbe.montjoie@gmail.com> -Date: Mon, 1 May 2017 14:45:11 +0200 - -The dwmac-sun8i hardware is present on the Orange PI 2. -It uses the internal PHY. - -This patch create the needed emac node. - -Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com> ---- - arch/arm/boot/dts/sun8i-h3-orangepi-2.dts | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git a/arch/arm/boot/dts/sun8i-h3-orangepi-2.dts b/arch/arm/boot/dts/sun8i-h3-orangepi-2.dts -index 5b6d145..cedd326 100644 ---- a/arch/arm/boot/dts/sun8i-h3-orangepi-2.dts -+++ b/arch/arm/boot/dts/sun8i-h3-orangepi-2.dts -@@ -54,6 +54,7 @@ - aliases { - serial0 = &uart0; - /* ethernet0 is the H3 emac, defined in sun8i-h3.dtsi */ -+ ethernet0 = &emac; - ethernet1 = &rtl8189; - }; - -@@ -108,6 +109,13 @@ - status = "okay"; - }; - -+&emac { -+ phy-handle = <&int_mii_phy>; -+ phy-mode = "mii"; -+ allwinner,leds-active-low; -+ status = "okay"; -+}; -+ - &ir { - pinctrl-names = "default"; - pinctrl-0 = <&ir_pins_a>; - -From patchwork Mon May 1 12:45:12 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [v5, - 12/20] arm: sun8i: orangepi-pc-plus: Set EMAC activity LEDs to active - high -From: Corentin LABBE <clabbe.montjoie@gmail.com> -X-Patchwork-Id: 9706481 -Message-Id: <20170501124520.3769-13-clabbe.montjoie@gmail.com> -To: robh+dt@kernel.org, mark.rutland@arm.com, - maxime.ripard@free-electrons.com, wens@csie.org, - linux@armlinux.org.uk, catalin.marinas@arm.com, - will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com -Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, - netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org, - Corentin Labbe <clabbe.montjoie@gmail.com> -Date: Mon, 1 May 2017 14:45:12 +0200 - -On the Orange Pi PC Plus, the polarity of the LEDs on the RJ45 Ethernet -port were changed from active low to active high. - -Signed-off-by: Chen-Yu Tsai <wens@csie.org> -Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com> ---- - arch/arm/boot/dts/sun8i-h3-orangepi-pc-plus.dts | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/arch/arm/boot/dts/sun8i-h3-orangepi-pc-plus.dts b/arch/arm/boot/dts/sun8i-h3-orangepi-pc-plus.dts -index 8b93f5c..a10281b 100644 ---- a/arch/arm/boot/dts/sun8i-h3-orangepi-pc-plus.dts -+++ b/arch/arm/boot/dts/sun8i-h3-orangepi-pc-plus.dts -@@ -53,6 +53,11 @@ - }; - }; - -+&emac { -+ /* LEDs changed to active high on the plus */ -+ /delete-property/ allwinner,leds-active-low; -+}; -+ - &mmc1 { - pinctrl-names = "default"; - pinctrl-0 = <&mmc1_pins_a>; - -From patchwork Mon May 1 12:45:13 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [v5, 13/20] arm64: allwinner: sun50i-a64: Add dt node for the syscon - control module -From: Corentin LABBE <clabbe.montjoie@gmail.com> -X-Patchwork-Id: 9706477 -Message-Id: <20170501124520.3769-14-clabbe.montjoie@gmail.com> -To: robh+dt@kernel.org, mark.rutland@arm.com, - maxime.ripard@free-electrons.com, wens@csie.org, - linux@armlinux.org.uk, catalin.marinas@arm.com, - will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com -Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, - netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org, - Corentin Labbe <clabbe.montjoie@gmail.com> -Date: Mon, 1 May 2017 14:45:13 +0200 - -This patch add the dt node for the syscon register present on the -Allwinner A64. - -Only two register are present in this syscon and the only one useful is -the one dedicated to EMAC clock. - -Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com> ---- - arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi -index c7f669f..d7341ba 100644 ---- a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi -+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi -@@ -129,6 +129,12 @@ - #size-cells = <1>; - ranges; - -+ syscon: syscon@1c00000 { -+ compatible = "allwinner,sun50i-a64-system-controller", -+ "syscon"; -+ reg = <0x01c00000 0x1000>; -+ }; -+ - mmc0: mmc@1c0f000 { - compatible = "allwinner,sun50i-a64-mmc"; - reg = <0x01c0f000 0x1000>; - -From patchwork Mon May 1 12:45:14 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [v5, - 14/20] arm64: allwinner: sun50i-a64: add dwmac-sun8i Ethernet driver -From: Corentin LABBE <clabbe.montjoie@gmail.com> -X-Patchwork-Id: 9706485 -Message-Id: <20170501124520.3769-15-clabbe.montjoie@gmail.com> -To: robh+dt@kernel.org, mark.rutland@arm.com, - maxime.ripard@free-electrons.com, wens@csie.org, - linux@armlinux.org.uk, catalin.marinas@arm.com, - will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com -Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, - netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org, - Corentin Labbe <clabbe.montjoie@gmail.com> -Date: Mon, 1 May 2017 14:45:14 +0200 - -The dwmac-sun8i is an Ethernet MAC that supports 10/100/1000 Mbit -connections. It is very similar to the device found in the Allwinner -H3, but lacks the internal 100 Mbit PHY and its associated control -bits. -This adds the necessary bits to the Allwinner A64 SoC .dtsi, but keeps -it disabled at this level. - -Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com> ---- - arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi | 35 +++++++++++++++++++++++++++ - 1 file changed, 35 insertions(+) - -diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi -index d7341ba..18b3642 100644 ---- a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi -+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi -@@ -287,6 +287,21 @@ - bias-pull-up; - }; - -+ rmii_pins: rmii_pins { -+ pins = "PD10", "PD11", "PD13", "PD14", "PD17", -+ "PD18", "PD19", "PD20", "PD22", "PD23"; -+ function = "emac"; -+ drive-strength = <40>; -+ }; -+ -+ rgmii_pins: rgmii_pins { -+ pins = "PD8", "PD9", "PD10", "PD11", "PD12", -+ "PD13", "PD15", "PD16", "PD17", "PD18", -+ "PD19", "PD20", "PD21", "PD22", "PD23"; -+ function = "emac"; -+ drive-strength = <40>; -+ }; -+ - uart0_pins_a: uart0@0 { - pins = "PB8", "PB9"; - function = "uart0"; -@@ -391,6 +406,26 @@ - #size-cells = <0>; - }; - -+ emac: ethernet@1c30000 { -+ compatible = "allwinner,sun50i-a64-emac"; -+ syscon = <&syscon>; -+ reg = <0x01c30000 0x100>; -+ interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>; -+ interrupt-names = "macirq"; -+ resets = <&ccu RST_BUS_EMAC>; -+ reset-names = "stmmaceth"; -+ clocks = <&ccu CLK_BUS_EMAC>; -+ clock-names = "stmmaceth"; -+ status = "disabled"; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ -+ mdio: mdio { -+ #address-cells = <1>; -+ #size-cells = <0>; -+ }; -+ }; -+ - gic: interrupt-controller@1c81000 { - compatible = "arm,gic-400"; - reg = <0x01c81000 0x1000>, - -From patchwork Mon May 1 12:45:15 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [v5,15/20] arm64: allwinner: pine64: Enable dwmac-sun8i -From: Corentin LABBE <clabbe.montjoie@gmail.com> -X-Patchwork-Id: 9706489 -Message-Id: <20170501124520.3769-16-clabbe.montjoie@gmail.com> -To: robh+dt@kernel.org, mark.rutland@arm.com, - maxime.ripard@free-electrons.com, wens@csie.org, - linux@armlinux.org.uk, catalin.marinas@arm.com, - will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com -Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, - netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org, - Corentin Labbe <clabbe.montjoie@gmail.com> -Date: Mon, 1 May 2017 14:45:15 +0200 - -The dwmac-sun8i hardware is present on the pine64 -It uses an external PHY via RMII. - -Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com> ---- - arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts | 16 ++++++++++++++++ - 1 file changed, 16 insertions(+) - -diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts -index c680ed3..3b491c0 100644 ---- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts -+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts -@@ -70,6 +70,15 @@ - status = "okay"; - }; - -+&emac { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&rmii_pins>; -+ phy-mode = "rmii"; -+ phy-handle = <&ext_rmii_phy1>; -+ status = "okay"; -+ -+}; -+ - &i2c1 { - pinctrl-names = "default"; - pinctrl-0 = <&i2c1_pins>; -@@ -80,6 +89,13 @@ - bias-pull-up; - }; - -+&mdio { -+ ext_rmii_phy1: ethernet-phy@1 { -+ compatible = "ethernet-phy-ieee802.3-c22"; -+ reg = <1>; -+ }; -+}; -+ - &mmc0 { - pinctrl-names = "default"; - pinctrl-0 = <&mmc0_pins>; - -From patchwork Mon May 1 12:45:16 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [v5,16/20] arm64: allwinner: pine64-plus: Enable dwmac-sun8i -From: Corentin LABBE <clabbe.montjoie@gmail.com> -X-Patchwork-Id: 9706511 -Message-Id: <20170501124520.3769-17-clabbe.montjoie@gmail.com> -To: robh+dt@kernel.org, mark.rutland@arm.com, - maxime.ripard@free-electrons.com, wens@csie.org, - linux@armlinux.org.uk, catalin.marinas@arm.com, - will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com -Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, - netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org, - Corentin Labbe <clabbe.montjoie@gmail.com> -Date: Mon, 1 May 2017 14:45:16 +0200 - -The dwmac-sun8i hardware is present on the pine64 plus. -It uses an external PHY rtl8211e via RGMII. - -Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com> ---- - .../arm64/boot/dts/allwinner/sun50i-a64-pine64-plus.dts | 17 ++++++++++++++++- - 1 file changed, 16 insertions(+), 1 deletion(-) - -diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64-plus.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64-plus.dts -index 790d14d..24f1aac 100644 ---- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64-plus.dts -+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64-plus.dts -@@ -46,5 +46,20 @@ - model = "Pine64+"; - compatible = "pine64,pine64-plus", "allwinner,sun50i-a64"; - -- /* TODO: Camera, Ethernet PHY, touchscreen, etc. */ -+ /* TODO: Camera, touchscreen, etc. */ -+}; -+ -+&emac { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&rgmii_pins>; -+ phy-mode = "rgmii"; -+ phy-handle = <&ext_rgmii_phy>; -+ status = "okay"; -+}; -+ -+&mdio { -+ ext_rgmii_phy: ethernet-phy@1 { -+ compatible = "ethernet-phy-ieee802.3-c22"; -+ reg = <1>; -+ }; - }; - -From patchwork Mon May 1 12:45:17 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [v5,17/20] arm64: allwinner: bananapi-m64: Enable dwmac-sun8i -From: Corentin LABBE <clabbe.montjoie@gmail.com> -X-Patchwork-Id: 9706509 -Message-Id: <20170501124520.3769-18-clabbe.montjoie@gmail.com> -To: robh+dt@kernel.org, mark.rutland@arm.com, - maxime.ripard@free-electrons.com, wens@csie.org, - linux@armlinux.org.uk, catalin.marinas@arm.com, - will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com -Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, - netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org, - Corentin Labbe <clabbe.montjoie@gmail.com> -Date: Mon, 1 May 2017 14:45:17 +0200 - -The dwmac-sun8i hardware is present on the BananaPi M64. -It uses an external PHY rtl8211e via RGMII. - -Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com> ---- - arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts | 15 +++++++++++++++ - 1 file changed, 15 insertions(+) - -diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts -index 6872135..0d1f026 100644 ---- a/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts -+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts -@@ -67,6 +67,14 @@ - }; - }; - -+&emac { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&rgmii_pins>; -+ phy-mode = "rgmii"; -+ phy-handle = <&ext_rgmii_phy>; -+ status = "okay"; -+}; -+ - &i2c1 { - pinctrl-names = "default"; - pinctrl-0 = <&i2c1_pins>; -@@ -77,6 +85,13 @@ - bias-pull-up; - }; - -+&mdio { -+ ext_rgmii_phy: ethernet-phy@1 { -+ compatible = "ethernet-phy-ieee802.3-c22"; -+ reg = <1>; -+ }; -+}; -+ - &mmc0 { - pinctrl-names = "default"; - pinctrl-0 = <&mmc0_pins>; - -From patchwork Mon May 1 12:45:18 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [v5,18/20] arm: sunxi: Enable dwmac-sun8i driver on sunxi_defconfig -From: Corentin LABBE <clabbe.montjoie@gmail.com> -X-Patchwork-Id: 9706507 -Message-Id: <20170501124520.3769-19-clabbe.montjoie@gmail.com> -To: robh+dt@kernel.org, mark.rutland@arm.com, - maxime.ripard@free-electrons.com, wens@csie.org, - linux@armlinux.org.uk, catalin.marinas@arm.com, - will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com -Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, - netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org, - Corentin Labbe <clabbe.montjoie@gmail.com> -Date: Mon, 1 May 2017 14:45:18 +0200 - -Enable the dwmac-sun8i driver in the sunxi default configuration - -Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com> ---- - arch/arm/configs/sunxi_defconfig | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/arch/arm/configs/sunxi_defconfig b/arch/arm/configs/sunxi_defconfig -index 5cd5dd70..504e022 100644 ---- a/arch/arm/configs/sunxi_defconfig -+++ b/arch/arm/configs/sunxi_defconfig -@@ -40,6 +40,7 @@ CONFIG_ATA=y - CONFIG_AHCI_SUNXI=y - CONFIG_NETDEVICES=y - CONFIG_SUN4I_EMAC=y -+CONFIG_DWMAC_SUN8I=y - # CONFIG_NET_VENDOR_ARC is not set - # CONFIG_NET_CADENCE is not set - # CONFIG_NET_VENDOR_BROADCOM is not set - -From patchwork Mon May 1 12:45:19 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [v5, - 19/20] arm: multi_v7: Enable dwmac-sun8i driver on multi_v7_defconfig -From: Corentin LABBE <clabbe.montjoie@gmail.com> -X-Patchwork-Id: 9706513 -Message-Id: <20170501124520.3769-20-clabbe.montjoie@gmail.com> -To: robh+dt@kernel.org, mark.rutland@arm.com, - maxime.ripard@free-electrons.com, wens@csie.org, - linux@armlinux.org.uk, catalin.marinas@arm.com, - will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com -Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, - netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org, - Corentin Labbe <clabbe.montjoie@gmail.com> -Date: Mon, 1 May 2017 14:45:19 +0200 - -Enable the dwmac-sun8i driver in the multi_v7 default configuration - -Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com> ---- - arch/arm/configs/multi_v7_defconfig | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/arch/arm/configs/multi_v7_defconfig b/arch/arm/configs/multi_v7_defconfig -index 2685e03..6da6af8 100644 ---- a/arch/arm/configs/multi_v7_defconfig -+++ b/arch/arm/configs/multi_v7_defconfig -@@ -257,6 +257,7 @@ CONFIG_SMSC911X=y - CONFIG_STMMAC_ETH=y - CONFIG_STMMAC_PLATFORM=y - CONFIG_DWMAC_DWC_QOS_ETH=y -+CONFIG_DWMAC_SUN8I=y - CONFIG_TI_CPSW=y - CONFIG_XILINX_EMACLITE=y - CONFIG_AT803X_PHY=y - -From patchwork Mon May 1 12:45:20 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [v5,20/20] arm64: defconfig: Enable dwmac-sun8i driver on defconfig -From: Corentin LABBE <clabbe.montjoie@gmail.com> -X-Patchwork-Id: 9706505 -Message-Id: <20170501124520.3769-21-clabbe.montjoie@gmail.com> -To: robh+dt@kernel.org, mark.rutland@arm.com, - maxime.ripard@free-electrons.com, wens@csie.org, - linux@armlinux.org.uk, catalin.marinas@arm.com, - will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com -Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, - netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org, - Corentin Labbe <clabbe.montjoie@gmail.com> -Date: Mon, 1 May 2017 14:45:20 +0200 - -Enable the dwmac-sun8i ethernet driver as a module in the ARM64 defconfig. - -Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com> ---- - arch/arm64/configs/defconfig | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig -index ce07285..4575fbb 100644 ---- a/arch/arm64/configs/defconfig -+++ b/arch/arm64/configs/defconfig -@@ -193,6 +193,7 @@ CONFIG_RAVB=y - CONFIG_SMC91X=y - CONFIG_SMSC911X=y - CONFIG_STMMAC_ETH=m -+CONFIG_DWMAC_SUN8I=m - CONFIG_MDIO_BUS_MUX_MMIOREG=y - CONFIG_MESON_GXL_PHY=m - CONFIG_MICREL_PHY=y -From patchwork Mon Jun 5 19:21:26 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [1/5] ARM: sun8i: orangepi-plus: Enable dwmac-sun8i -From: Corentin LABBE <clabbe.montjoie@gmail.com> -X-Patchwork-Id: 9767313 -Message-Id: <20170605192130.25320-2-clabbe.montjoie@gmail.com> -To: robh+dt@kernel.org, mark.rutland@arm.com, linux@armlinux.org.uk, - maxime.ripard@free-electrons.com, wens@csie.org, - catalin.marinas@arm.com, will.deacon@arm.com -Cc: devicetree@vger.kernel.org, linux-sunxi@googlegroups.com, - Corentin Labbe <clabbe.montjoie@gmail.com>, - linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org -Date: Mon, 5 Jun 2017 21:21:26 +0200 - -The dwmac-sun8i hardware is present on the Orange PI plus. -It uses an external PHY rtl8211e via RGMII. - -This patch create the needed regulator, emac and phy nodes. - -Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com> ---- - arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts | 32 ++++++++++++++++++++++++++++ - 1 file changed, 32 insertions(+) - -diff --git a/arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts b/arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts -index 8c40ab7bfa72..331ed683ac62 100644 ---- a/arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts -+++ b/arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts -@@ -47,6 +47,20 @@ - model = "Xunlong Orange Pi Plus / Plus 2"; - compatible = "xunlong,orangepi-plus", "allwinner,sun8i-h3"; - -+ aliases { -+ ethernet0 = &emac; -+ }; -+ -+ reg_gmac_3v3: gmac-3v3 { -+ compatible = "regulator-fixed"; -+ regulator-name = "gmac-3v3"; -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ startup-delay-us = <100000>; -+ enable-active-high; -+ gpio = <&pio 3 6 GPIO_ACTIVE_HIGH>; -+ }; -+ - reg_usb3_vbus: usb3-vbus { - compatible = "regulator-fixed"; - pinctrl-names = "default"; -@@ -64,6 +78,24 @@ - status = "okay"; - }; - -+&emac { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&emac_rgmii_pins>; -+ phy-supply = <®_gmac_3v3>; -+ phy-handle = <&ext_rgmii_phy>; -+ phy-mode = "rgmii"; -+ -+ allwinner,leds-active-low; -+ status = "okay"; -+}; -+ -+&mdio { -+ ext_rgmii_phy: ethernet-phy@1 { -+ compatible = "ethernet-phy-ieee802.3-c22"; -+ reg = <0>; -+ }; -+}; -+ - &mmc2 { - pinctrl-names = "default"; - pinctrl-0 = <&mmc2_8bit_pins>; -From patchwork Mon Jun 5 19:21:27 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [2/5] ARM: sun8i: bananapi-m2-plus: Enable dwmac-sun8i -From: Corentin LABBE <clabbe.montjoie@gmail.com> -X-Patchwork-Id: 9767321 -Message-Id: <20170605192130.25320-3-clabbe.montjoie@gmail.com> -To: robh+dt@kernel.org, mark.rutland@arm.com, linux@armlinux.org.uk, - maxime.ripard@free-electrons.com, wens@csie.org, - catalin.marinas@arm.com, will.deacon@arm.com -Cc: devicetree@vger.kernel.org, linux-sunxi@googlegroups.com, - Corentin Labbe <clabbe.montjoie@gmail.com>, - linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org -Date: Mon, 5 Jun 2017 21:21:27 +0200 - -The dwmac-sun8i hardware is present on the Banana Pi M2+ -It uses an external PHY rtl8211e via RGMII. - -This patch create the needed regulator, emac and phy nodes. - -Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com> ---- - arch/arm/boot/dts/sun8i-h3-bananapi-m2-plus.dts | 29 +++++++++++++++++++++++++ - 1 file changed, 29 insertions(+) - -diff --git a/arch/arm/boot/dts/sun8i-h3-bananapi-m2-plus.dts b/arch/arm/boot/dts/sun8i-h3-bananapi-m2-plus.dts -index 883072b611fa..d756ff825116 100644 ---- a/arch/arm/boot/dts/sun8i-h3-bananapi-m2-plus.dts -+++ b/arch/arm/boot/dts/sun8i-h3-bananapi-m2-plus.dts -@@ -52,6 +52,7 @@ - compatible = "sinovoip,bpi-m2-plus", "allwinner,sun8i-h3"; - - aliases { -+ ethernet0 = &emac; - serial0 = &uart0; - serial1 = &uart1; - }; -@@ -84,6 +85,16 @@ - }; - }; - -+ reg_gmac_3v3: gmac-3v3 { -+ compatible = "regulator-fixed"; -+ regulator-name = "gmac-3v3"; -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ startup-delay-us = <100000>; -+ enable-active-high; -+ gpio = <&pio 3 6 GPIO_ACTIVE_HIGH>; -+ }; -+ - wifi_pwrseq: wifi_pwrseq { - compatible = "mmc-pwrseq-simple"; - pinctrl-names = "default"; -@@ -104,12 +115,30 @@ - status = "okay"; - }; - -+&emac { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&emac_rgmii_pins>; -+ phy-supply = <®_gmac_3v3>; -+ phy-handle = <&ext_rgmii_phy>; -+ phy-mode = "rgmii"; -+ -+ allwinner,leds-active-low; -+ status = "okay"; -+}; -+ - &ir { - pinctrl-names = "default"; - pinctrl-0 = <&ir_pins_a>; - status = "okay"; - }; - -+&mdio { -+ ext_rgmii_phy: ethernet-phy@1 { -+ compatible = "ethernet-phy-ieee802.3-c22"; -+ reg = <0>; -+ }; -+}; -+ - &mmc0 { - pinctrl-names = "default"; - pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin>; -From patchwork Mon Jun 5 19:21:28 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [3/5] ARM: sun50i: orangepi-pc2: Enable dwmac-sun8i -From: Corentin LABBE <clabbe.montjoie@gmail.com> -X-Patchwork-Id: 9767347 -Message-Id: <20170605192130.25320-4-clabbe.montjoie@gmail.com> -To: robh+dt@kernel.org, mark.rutland@arm.com, linux@armlinux.org.uk, - maxime.ripard@free-electrons.com, wens@csie.org, - catalin.marinas@arm.com, will.deacon@arm.com -Cc: devicetree@vger.kernel.org, linux-sunxi@googlegroups.com, - Corentin Labbe <clabbe.montjoie@gmail.com>, - linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org -Date: Mon, 5 Jun 2017 21:21:28 +0200 - -The dwmac-sun8i hardware is present on the Orange PI PC2. -It uses an external PHY rtl8211e via RGMII. - -This patch create the needed regulator, emac and phy nodes. -Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com> ---- - .../boot/dts/allwinner/sun50i-h5-orangepi-pc2.dts | 27 ++++++++++++++++++++++ - 1 file changed, 27 insertions(+) - -diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-pc2.dts b/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-pc2.dts -index dfecc17dcc92..a8296feee884 100644 ---- a/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-pc2.dts -+++ b/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-pc2.dts -@@ -59,6 +59,7 @@ - }; - - aliases { -+ ethernet0 = &emac; - serial0 = &uart0; - }; - -@@ -91,6 +92,16 @@ - }; - }; - -+ reg_gmac_3v3: gmac-3v3 { -+ compatible = "regulator-fixed"; -+ regulator-name = "gmac-3v3"; -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ startup-delay-us = <100000>; -+ enable-active-high; -+ gpio = <&pio 3 6 GPIO_ACTIVE_HIGH>; -+ }; -+ - reg_usb0_vbus: usb0-vbus { - compatible = "regulator-fixed"; - regulator-name = "usb0-vbus"; -@@ -126,12 +137,28 @@ - status = "okay"; - }; - -+&emac { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&emac_rgmii_pins>; -+ phy-supply = <®_gmac_3v3>; -+ phy-handle = <&ext_rgmii_phy>; -+ phy-mode = "rgmii"; -+ status = "okay"; -+}; -+ - &ir { - pinctrl-names = "default"; - pinctrl-0 = <&ir_pins_a>; - status = "okay"; - }; - -+&mdio { -+ ext_rgmii_phy: ethernet-phy@1 { -+ compatible = "ethernet-phy-ieee802.3-c22"; -+ reg = <1>; -+ }; -+}; -+ - &mmc0 { - pinctrl-names = "default"; - pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin>; -From patchwork Wed May 31 07:18:44 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [v6,13/21] arm: sun8i: nanopi-neo: Enable dwmac-sun8i -From: Corentin LABBE <clabbe.montjoie@gmail.com> -X-Patchwork-Id: 9756089 -Message-Id: <20170531071852.12422-14-clabbe.montjoie@gmail.com> -To: robh+dt@kernel.org, mark.rutland@arm.com, - maxime.ripard@free-electrons.com, - wens@csie.org, linux@armlinux.org.uk, catalin.marinas@arm.com, - will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com -Cc: devicetree@vger.kernel.org, netdev@vger.kernel.org, - linux-kernel@vger.kernel.org, linux-sunxi@googlegroups.com, - Corentin Labbe <clabbe.montjoie@gmail.com>, - linux-arm-kernel@lists.infradead.org -Date: Wed, 31 May 2017 09:18:44 +0200 - -The dwmac-sun8i hardware is present on the NanoPi Neo. -It uses the internal PHY. -This patch create the needed emac node. - -Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com> ---- - arch/arm/boot/dts/sun8i-h3-nanopi-neo.dts | 7 +++++++ - 1 file changed, 7 insertions(+) - -diff --git a/arch/arm/boot/dts/sun8i-h3-nanopi-neo.dts b/arch/arm/boot/dts/sun8i-h3-nanopi-neo.dts -index 8d2cc6e9a03f..78f6c24952dd 100644 ---- a/arch/arm/boot/dts/sun8i-h3-nanopi-neo.dts -+++ b/arch/arm/boot/dts/sun8i-h3-nanopi-neo.dts -@@ -46,3 +46,10 @@ - model = "FriendlyARM NanoPi NEO"; - compatible = "friendlyarm,nanopi-neo", "allwinner,sun8i-h3"; - }; -+ -+&emac { -+ phy-handle = <&int_mii_phy>; -+ phy-mode = "mii"; -+ allwinner,leds-active-low; -+ status = "okay"; -+}; -From 051516f1c20c7d7c274c91b4c2fa73bc8d7fc372 Mon Sep 17 00:00:00 2001 -From: Peter Robinson <pbrobinson@gmail.com> -Date: Sat, 22 Jul 2017 15:08:12 +0100 -Subject: [PATCH] fix mac assignment so we get static not dynamic MACs - ---- - arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts | 1 + - arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts | 1 + - 2 files changed, 2 insertions(+) - -diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts -index 0d1f026d831a..ba2fde2909f9 100644 ---- a/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts -+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts -@@ -51,6 +51,7 @@ - compatible = "sinovoip,bananapi-m64", "allwinner,sun50i-a64"; - - aliases { -+ ethernet0 = &emac; - serial0 = &uart0; - serial1 = &uart1; - }; -diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts -index 3b491c0e3b0d..8442eb6c9244 100644 ---- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts -+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts -@@ -51,6 +51,7 @@ - compatible = "pine64,pine64", "allwinner,sun50i-a64"; - - aliases { -+ ethernet0 = &emac; - serial0 = &uart0; - }; - --- -2.13.3 - diff --git a/freed-ora/current/f26/CVE-2017-16538.patch b/freed-ora/current/f26/CVE-2017-16538.patch deleted file mode 100644 index e9cf4b054..000000000 --- a/freed-ora/current/f26/CVE-2017-16538.patch +++ /dev/null @@ -1,166 +0,0 @@ -From patchwork Tue Sep 26 21:10:20 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [1/2] media: dvb-usb-v2: lmedm04: Improve logic checking of warm - start. -From: Malcolm Priestley <tvboxspy@gmail.com> -X-Patchwork-Id: 44566 -Message-Id: <20170926211021.11036-1-tvboxspy@gmail.com> -To: linux-media@vger.kernel.org -Cc: Andrey Konovalov <andreyknvl@google.com>, - Malcolm Priestley <tvboxspy@gmail.com> -Date: Tue, 26 Sep 2017 22:10:20 +0100 - -Warm start has no check as whether a genuine device has -connected and proceeds to next execution path. - -Check device should read 0x47 at offset of 2 on USB descriptor read -and it is the amount requested of 6 bytes. - -Fix for -kasan: CONFIG_KASAN_INLINE enabled -kasan: GPF could be caused by NULL-ptr deref or user memory access as - -Reported-by: Andrey Konovalov <andreyknvl@google.com> -Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com> ---- - drivers/media/usb/dvb-usb-v2/lmedm04.c | 26 ++++++++++++++++++-------- - 1 file changed, 18 insertions(+), 8 deletions(-) - -diff --git a/drivers/media/usb/dvb-usb-v2/lmedm04.c b/drivers/media/usb/dvb-usb-v2/lmedm04.c -index 5e320fa4a795..992f2011a6ba 100644 ---- a/drivers/media/usb/dvb-usb-v2/lmedm04.c -+++ b/drivers/media/usb/dvb-usb-v2/lmedm04.c -@@ -494,18 +494,23 @@ static int lme2510_pid_filter(struct dvb_usb_adapter *adap, int index, u16 pid, - - static int lme2510_return_status(struct dvb_usb_device *d) - { -- int ret = 0; -+ int ret; - u8 *data; - -- data = kzalloc(10, GFP_KERNEL); -+ data = kzalloc(6, GFP_KERNEL); - if (!data) - return -ENOMEM; - -- ret |= usb_control_msg(d->udev, usb_rcvctrlpipe(d->udev, 0), -- 0x06, 0x80, 0x0302, 0x00, data, 0x0006, 200); -- info("Firmware Status: %x (%x)", ret , data[2]); -+ ret = usb_control_msg(d->udev, usb_rcvctrlpipe(d->udev, 0), -+ 0x06, 0x80, 0x0302, 0x00, -+ data, 0x6, 200); -+ if (ret != 6) -+ ret = -EINVAL; -+ else -+ ret = data[2]; -+ -+ info("Firmware Status: %6ph", data); - -- ret = (ret < 0) ? -ENODEV : data[2]; - kfree(data); - return ret; - } -@@ -1189,6 +1194,7 @@ static int lme2510_get_adapter_count(struct dvb_usb_device *d) - static int lme2510_identify_state(struct dvb_usb_device *d, const char **name) - { - struct lme2510_state *st = d->priv; -+ int status; - - usb_reset_configuration(d->udev); - -@@ -1197,12 +1203,16 @@ static int lme2510_identify_state(struct dvb_usb_device *d, const char **name) - - st->dvb_usb_lme2510_firmware = dvb_usb_lme2510_firmware; - -- if (lme2510_return_status(d) == 0x44) { -+ status = lme2510_return_status(d); -+ if (status == 0x44) { - *name = lme_firmware_switch(d, 0); - return COLD; - } - -- return 0; -+ if (status != 0x47) -+ return -EINVAL; -+ -+ return WARM; - } - - static int lme2510_get_stream_config(struct dvb_frontend *fe, u8 *ts_type, -From patchwork Tue Sep 26 21:10:21 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [2/2] media: dvb-usb-v2: lmedm04: move ts2020 attach to - dm04_lme2510_tuner -From: Malcolm Priestley <tvboxspy@gmail.com> -X-Patchwork-Id: 44567 -Message-Id: <20170926211021.11036-2-tvboxspy@gmail.com> -To: linux-media@vger.kernel.org -Cc: Andrey Konovalov <andreyknvl@google.com>, - Malcolm Priestley <tvboxspy@gmail.com> -Date: Tue, 26 Sep 2017 22:10:21 +0100 - -When the tuner was split from m88rs2000 the attach function is in wrong -place. - -Move to dm04_lme2510_tuner to trap errors on failure and removing -a call to lme_coldreset. - -Prevents driver starting up without any tuner connected. - -Fixes to trap for ts2020 fail. -LME2510(C): FE Found M88RS2000 -ts2020: probe of 0-0060 failed with error -11 -... -LME2510(C): TUN Found RS2000 tuner -kasan: CONFIG_KASAN_INLINE enabled -kasan: GPF could be caused by NULL-ptr deref or user memory access -general protection fault: 0000 [#1] PREEMPT SMP KASAN - -Reported-by: Andrey Konovalov <andreyknvl@google.com> -Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com> -Tested-by: Andrey Konovalov <andreyknvl@google.com> ---- - drivers/media/usb/dvb-usb-v2/lmedm04.c | 13 ++++++------- - 1 file changed, 6 insertions(+), 7 deletions(-) - -diff --git a/drivers/media/usb/dvb-usb-v2/lmedm04.c b/drivers/media/usb/dvb-usb-v2/lmedm04.c -index 992f2011a6ba..be26c029546b 100644 ---- a/drivers/media/usb/dvb-usb-v2/lmedm04.c -+++ b/drivers/media/usb/dvb-usb-v2/lmedm04.c -@@ -1076,8 +1076,6 @@ static int dm04_lme2510_frontend_attach(struct dvb_usb_adapter *adap) - - if (adap->fe[0]) { - info("FE Found M88RS2000"); -- dvb_attach(ts2020_attach, adap->fe[0], &ts2020_config, -- &d->i2c_adap); - st->i2c_tuner_gate_w = 5; - st->i2c_tuner_gate_r = 5; - st->i2c_tuner_addr = 0x60; -@@ -1143,17 +1141,18 @@ static int dm04_lme2510_tuner(struct dvb_usb_adapter *adap) - ret = st->tuner_config; - break; - case TUNER_RS2000: -- ret = st->tuner_config; -+ if (dvb_attach(ts2020_attach, adap->fe[0], -+ &ts2020_config, &d->i2c_adap)) -+ ret = st->tuner_config; - break; - default: - break; - } - -- if (ret) -+ if (ret) { - info("TUN Found %s tuner", tun_msg[ret]); -- else { -- info("TUN No tuner found --- resetting device"); -- lme_coldreset(d); -+ } else { -+ info("TUN No tuner found"); - return -ENODEV; - } - diff --git a/freed-ora/current/f26/CVE-2017-7477.patch b/freed-ora/current/f26/CVE-2017-7477.patch deleted file mode 100644 index 6405614cc..000000000 --- a/freed-ora/current/f26/CVE-2017-7477.patch +++ /dev/null @@ -1,73 +0,0 @@ -From 4d6fa57b4dab0d77f4d8e9d9c73d1e63f6fe8fee Mon Sep 17 00:00:00 2001 -From: "Jason A. Donenfeld" <Jason@zx2c4.com> -Date: Fri, 21 Apr 2017 23:14:48 +0200 -Subject: macsec: avoid heap overflow in skb_to_sgvec - -While this may appear as a humdrum one line change, it's actually quite -important. An sk_buff stores data in three places: - -1. A linear chunk of allocated memory in skb->data. This is the easiest - one to work with, but it precludes using scatterdata since the memory - must be linear. -2. The array skb_shinfo(skb)->frags, which is of maximum length - MAX_SKB_FRAGS. This is nice for scattergather, since these fragments - can point to different pages. -3. skb_shinfo(skb)->frag_list, which is a pointer to another sk_buff, - which in turn can have data in either (1) or (2). - -The first two are rather easy to deal with, since they're of a fixed -maximum length, while the third one is not, since there can be -potentially limitless chains of fragments. Fortunately dealing with -frag_list is opt-in for drivers, so drivers don't actually have to deal -with this mess. For whatever reason, macsec decided it wanted pain, and -so it explicitly specified NETIF_F_FRAGLIST. - -Because dealing with (1), (2), and (3) is insane, most users of sk_buff -doing any sort of crypto or paging operation calls a convenient function -called skb_to_sgvec (which happens to be recursive if (3) is in use!). -This takes a sk_buff as input, and writes into its output pointer an -array of scattergather list items. Sometimes people like to declare a -fixed size scattergather list on the stack; othertimes people like to -allocate a fixed size scattergather list on the heap. However, if you're -doing it in a fixed-size fashion, you really shouldn't be using -NETIF_F_FRAGLIST too (unless you're also ensuring the sk_buff and its -frag_list children arent't shared and then you check the number of -fragments in total required.) - -Macsec specifically does this: - - size += sizeof(struct scatterlist) * (MAX_SKB_FRAGS + 1); - tmp = kmalloc(size, GFP_ATOMIC); - *sg = (struct scatterlist *)(tmp + sg_offset); - ... - sg_init_table(sg, MAX_SKB_FRAGS + 1); - skb_to_sgvec(skb, sg, 0, skb->len); - -Specifying MAX_SKB_FRAGS + 1 is the right answer usually, but not if you're -using NETIF_F_FRAGLIST, in which case the call to skb_to_sgvec will -overflow the heap, and disaster ensues. - -Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> -Cc: stable@vger.kernel.org -Cc: security@kernel.org -Signed-off-by: David S. Miller <davem@davemloft.net> ---- - drivers/net/macsec.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/drivers/net/macsec.c b/drivers/net/macsec.c -index ff0a5ed..dbab05a 100644 ---- a/drivers/net/macsec.c -+++ b/drivers/net/macsec.c -@@ -2716,7 +2716,7 @@ static netdev_tx_t macsec_start_xmit(struct sk_buff *skb, - } - - #define MACSEC_FEATURES \ -- (NETIF_F_SG | NETIF_F_HIGHDMA | NETIF_F_FRAGLIST) -+ (NETIF_F_SG | NETIF_F_HIGHDMA) - static struct lock_class_key macsec_netdev_addr_lock_key; - - static int macsec_dev_init(struct net_device *dev) --- -cgit v1.1 - diff --git a/freed-ora/current/f26/CVE-2017-7645.patch b/freed-ora/current/f26/CVE-2017-7645.patch new file mode 100644 index 000000000..0be019cc3 --- /dev/null +++ b/freed-ora/current/f26/CVE-2017-7645.patch @@ -0,0 +1,180 @@ +From: "J. Bruce Fields" <bfields@redhat.com> +Date: 2017-04-14 15:04:40 +Subject: [PATCH] nfsd: check for oversized NFSv2/v3 arguments + +A client can append random data to the end of an NFSv2 or NFSv3 RPC call +without our complaining; we'll just stop parsing at the end of the +expected data and ignore the rest. + +Encoded arguments and replies are stored together in an array of pages, +and if a call is too large it could leave inadequate space for the +reply. This is normally OK because NFS RPC's typically have either +short arguments and long replies (like READ) or long arguments and short +replies (like WRITE). But a client that sends an incorrectly long reply +can violate those assumptions. This was observed to cause crashes. + +So, insist that the argument not be any longer than we expect. + +Also, several operations increment rq_next_page in the decode routine +before checking the argument size, which can leave rq_next_page pointing +well past the end of the page array, causing trouble later in +svc_free_pages. + +As followup we may also want to rewrite the encoding routines to check +more carefully that they aren't running off the end of the page array. + +Reported-by: Tuomas Haanpää <thaan@synopsys.com> +Reported-by: Ari Kauppi <ari@synopsys.com> +Cc: stable@vger.kernel.org +Signed-off-by: J. Bruce Fields <bfields@redhat.com> +--- + fs/nfsd/nfs3xdr.c | 23 +++++++++++++++++------ + fs/nfsd/nfsxdr.c | 13 ++++++++++--- + include/linux/sunrpc/svc.h | 3 +-- + 3 files changed, 28 insertions(+), 11 deletions(-) + +diff --git a/fs/nfsd/nfs3xdr.c b/fs/nfsd/nfs3xdr.c +index dba2ff8eaa68..be66bcadfaea 100644 +--- a/fs/nfsd/nfs3xdr.c ++++ b/fs/nfsd/nfs3xdr.c +@@ -334,8 +334,11 @@ nfs3svc_decode_readargs(struct svc_rqst *rqstp, __be32 *p, + if (!p) + return 0; + p = xdr_decode_hyper(p, &args->offset); +- + args->count = ntohl(*p++); ++ ++ if (!xdr_argsize_check(rqstp, p)) ++ return 0; ++ + len = min(args->count, max_blocksize); + + /* set up the kvec */ +@@ -349,7 +352,7 @@ nfs3svc_decode_readargs(struct svc_rqst *rqstp, __be32 *p, + v++; + } + args->vlen = v; +- return xdr_argsize_check(rqstp, p); ++ return 1; + } + + int +@@ -536,9 +539,11 @@ nfs3svc_decode_readlinkargs(struct svc_rqst *rqstp, __be32 *p, + p = decode_fh(p, &args->fh); + if (!p) + return 0; ++ if (!xdr_argsize_check(rqstp, p)) ++ return 0; + args->buffer = page_address(*(rqstp->rq_next_page++)); + +- return xdr_argsize_check(rqstp, p); ++ return 1; + } + + int +@@ -564,10 +569,14 @@ nfs3svc_decode_readdirargs(struct svc_rqst *rqstp, __be32 *p, + args->verf = p; p += 2; + args->dircount = ~0; + args->count = ntohl(*p++); ++ ++ if (!xdr_argsize_check(rqstp, p)) ++ return 0; ++ + args->count = min_t(u32, args->count, PAGE_SIZE); + args->buffer = page_address(*(rqstp->rq_next_page++)); + +- return xdr_argsize_check(rqstp, p); ++ return 1; + } + + int +@@ -585,6 +594,9 @@ nfs3svc_decode_readdirplusargs(struct svc_rqst *rqstp, __be32 *p, + args->dircount = ntohl(*p++); + args->count = ntohl(*p++); + ++ if (!xdr_argsize_check(rqstp, p)) ++ return 0; ++ + len = args->count = min(args->count, max_blocksize); + while (len > 0) { + struct page *p = *(rqstp->rq_next_page++); +@@ -592,8 +604,7 @@ nfs3svc_decode_readdirplusargs(struct svc_rqst *rqstp, __be32 *p, + args->buffer = page_address(p); + len -= PAGE_SIZE; + } +- +- return xdr_argsize_check(rqstp, p); ++ return 1; + } + + int +diff --git a/fs/nfsd/nfsxdr.c b/fs/nfsd/nfsxdr.c +index 41b468a6a90f..79268369f7b3 100644 +--- a/fs/nfsd/nfsxdr.c ++++ b/fs/nfsd/nfsxdr.c +@@ -257,6 +257,9 @@ nfssvc_decode_readargs(struct svc_rqst *rqstp, __be32 *p, + len = args->count = ntohl(*p++); + p++; /* totalcount - unused */ + ++ if (!xdr_argsize_check(rqstp, p)) ++ return 0; ++ + len = min_t(unsigned int, len, NFSSVC_MAXBLKSIZE_V2); + + /* set up somewhere to store response. +@@ -272,7 +275,7 @@ nfssvc_decode_readargs(struct svc_rqst *rqstp, __be32 *p, + v++; + } + args->vlen = v; +- return xdr_argsize_check(rqstp, p); ++ return 1; + } + + int +@@ -360,9 +363,11 @@ nfssvc_decode_readlinkargs(struct svc_rqst *rqstp, __be32 *p, struct nfsd_readli + p = decode_fh(p, &args->fh); + if (!p) + return 0; ++ if (!xdr_argsize_check(rqstp, p)) ++ return 0; + args->buffer = page_address(*(rqstp->rq_next_page++)); + +- return xdr_argsize_check(rqstp, p); ++ return 1; + } + + int +@@ -400,9 +405,11 @@ nfssvc_decode_readdirargs(struct svc_rqst *rqstp, __be32 *p, + args->cookie = ntohl(*p++); + args->count = ntohl(*p++); + args->count = min_t(u32, args->count, PAGE_SIZE); ++ if (!xdr_argsize_check(rqstp, p)) ++ return 0; + args->buffer = page_address(*(rqstp->rq_next_page++)); + +- return xdr_argsize_check(rqstp, p); ++ return 1; + } + + /* +diff --git a/include/linux/sunrpc/svc.h b/include/linux/sunrpc/svc.h +index e770abeed32d..6ef19cf658b4 100644 +--- a/include/linux/sunrpc/svc.h ++++ b/include/linux/sunrpc/svc.h +@@ -336,8 +336,7 @@ xdr_argsize_check(struct svc_rqst *rqstp, __be32 *p) + { + char *cp = (char *)p; + struct kvec *vec = &rqstp->rq_arg.head[0]; +- return cp >= (char*)vec->iov_base +- && cp <= (char*)vec->iov_base + vec->iov_len; ++ return cp == (char *)vec->iov_base + vec->iov_len; + } + + static inline int +-- +2.9.3 + +-- +To unsubscribe from this list: send the line "unsubscribe linux-nfs" in +the body of a message to majordomo@vger.kernel.org +More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/freed-ora/current/f26/HID-rmi-Check-that-a-device-is-a-RMI-device-before-c.patch b/freed-ora/current/f26/HID-rmi-Check-that-a-device-is-a-RMI-device-before-c.patch deleted file mode 100644 index d6a8e6a52..000000000 --- a/freed-ora/current/f26/HID-rmi-Check-that-a-device-is-a-RMI-device-before-c.patch +++ /dev/null @@ -1,54 +0,0 @@ -From ef14a4bf0910d06c7e202552914028d4956809cb Mon Sep 17 00:00:00 2001 -From: Andrew Duggan <aduggan@synaptics.com> -Date: Tue, 17 Oct 2017 18:37:36 -0700 -Subject: [PATCH] HID: rmi: Check that a device is a RMI device before calling - RMI functions - -The hid-rmi driver may handle non rmi devices on composite USB devices. -Callbacks need to make sure that the current device is a RMI device before -calling RMI specific functions. Most callbacks already have this check, but -this patch adds checks to the remaining callbacks. - -Reported-by: Hendrik Langer <hendrik.langer@gmx.de> -Tested-by: Hendrik Langer <hendrik.langer@gmx.de> -Reviewed-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> -Signed-off-by: Andrew Duggan <aduggan@synaptics.com> -Signed-off-by: Jiri Kosina <jkosina@suse.cz> ---- - drivers/hid/hid-rmi.c | 13 ++++++++++--- - 1 file changed, 10 insertions(+), 3 deletions(-) - -diff --git a/drivers/hid/hid-rmi.c b/drivers/hid/hid-rmi.c -index ef241d66562e..0f43c4292685 100644 ---- a/drivers/hid/hid-rmi.c -+++ b/drivers/hid/hid-rmi.c -@@ -368,6 +368,11 @@ static int rmi_check_sanity(struct hid_device *hdev, u8 *data, int size) - static int rmi_raw_event(struct hid_device *hdev, - struct hid_report *report, u8 *data, int size) - { -+ struct rmi_data *hdata = hid_get_drvdata(hdev); -+ -+ if (!(hdata->device_flags & RMI_DEVICE)) -+ return 0; -+ - size = rmi_check_sanity(hdev, data, size); - if (size < 2) - return 0; -@@ -713,9 +718,11 @@ static void rmi_remove(struct hid_device *hdev) - { - struct rmi_data *hdata = hid_get_drvdata(hdev); - -- clear_bit(RMI_STARTED, &hdata->flags); -- cancel_work_sync(&hdata->reset_work); -- rmi_unregister_transport_device(&hdata->xport); -+ if (hdata->device_flags & RMI_DEVICE) { -+ clear_bit(RMI_STARTED, &hdata->flags); -+ cancel_work_sync(&hdata->reset_work); -+ rmi_unregister_transport_device(&hdata->xport); -+ } - - hid_hw_stop(hdev); - } --- -2.14.3 - diff --git a/freed-ora/current/f26/Input-synaptics---Disable-kernel-tracking-on-SMBus-devices.patch b/freed-ora/current/f26/Input-synaptics---Disable-kernel-tracking-on-SMBus-devices.patch deleted file mode 100644 index 81e858fd0..000000000 --- a/freed-ora/current/f26/Input-synaptics---Disable-kernel-tracking-on-SMBus-devices.patch +++ /dev/null @@ -1,51 +0,0 @@ -From patchwork Thu Sep 28 20:07:19 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 8bit -Subject: Input: synaptics - Disable kernel tracking on SMBus devices -From: Andrew Duggan <aduggan@synaptics.com> -X-Patchwork-Id: 9976729 -Message-Id: <1506629239-5940-1-git-send-email-aduggan@synaptics.com> -To: linux-input@vger.kernel.org, linux-kernel@vger.kernel.org -Cc: Andrew Duggan <aduggan@synaptics.com>, - Dmitry Torokhov <dmitry.torokhov@gmail.com>, - Benjamin Tissoires <benjamin.tissoires@redhat.com>, - =?UTF-8?q?Kamil=20P=C3=A1ral?= <kparal@redhat.com> -Date: Thu, 28 Sep 2017 13:07:19 -0700 - -In certain situations kernel tracking seems to be getting confused -and incorrectly reporting the slot of a contact. On example is when -the user does a three finger click or tap and then places two fingers -on the touchpad in the same area. The kernel tracking code seems to -continue to think that there are three contacts on the touchpad and -incorrectly alternates the slot of one of the contacts. The result that -is the input subsystem reports a stream of button press and release -events as the reported slot changes. - -Kernel tracking was originally enabled to prevent cursor jumps, but it -is unclear how much of an issue kernel jumps actually are. This patch -simply disabled kernel tracking for now. - -Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1482640 - -Signed-off-by: Andrew Duggan <aduggan@synaptics.com> -Tested-by: Kamil Páral <kparal@redhat.com> -Acked-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> ---- - drivers/input/mouse/synaptics.c | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -diff --git a/drivers/input/mouse/synaptics.c b/drivers/input/mouse/synaptics.c -index 5af0b7d..ee5466a 100644 ---- a/drivers/input/mouse/synaptics.c -+++ b/drivers/input/mouse/synaptics.c -@@ -1709,8 +1709,7 @@ static int synaptics_create_intertouch(struct psmouse *psmouse, - .sensor_pdata = { - .sensor_type = rmi_sensor_touchpad, - .axis_align.flip_y = true, -- /* to prevent cursors jumps: */ -- .kernel_tracking = true, -+ .kernel_tracking = false, - .topbuttonpad = topbuttonpad, - }, - .f30_data = { diff --git a/freed-ora/current/f26/KEYS-Add-a-system-blacklist-keyring.patch b/freed-ora/current/f26/KEYS-Add-a-system-blacklist-keyring.patch deleted file mode 100644 index 262c960b8..000000000 --- a/freed-ora/current/f26/KEYS-Add-a-system-blacklist-keyring.patch +++ /dev/null @@ -1,102 +0,0 @@ -From 2a54526850121cd0d7cf649a321488b4dab5731d Mon Sep 17 00:00:00 2001 -From: Josh Boyer <jwboyer@fedoraproject.org> -Date: Fri, 26 Oct 2012 12:36:24 -0400 -Subject: [PATCH 17/20] KEYS: Add a system blacklist keyring - -This adds an additional keyring that is used to store certificates that -are blacklisted. This keyring is searched first when loading signed modules -and if the module's certificate is found, it will refuse to load. This is -useful in cases where third party certificates are used for module signing. - -Signed-off-by: Josh Boyer <jwboyer@fedoraproject.org> ---- - certs/system_keyring.c | 22 ++++++++++++++++++++++ - include/keys/system_keyring.h | 4 ++++ - init/Kconfig | 9 +++++++++ - 3 files changed, 35 insertions(+) - -diff --git a/certs/system_keyring.c b/certs/system_keyring.c -index 50979d6dcecd..787eeead2f57 100644 ---- a/certs/system_keyring.c -+++ b/certs/system_keyring.c -@@ -22,6 +22,9 @@ static struct key *builtin_trusted_keys; - #ifdef CONFIG_SECONDARY_TRUSTED_KEYRING - static struct key *secondary_trusted_keys; - #endif -+#ifdef CONFIG_SYSTEM_BLACKLIST_KEYRING -+struct key *system_blacklist_keyring; -+#endif - - extern __initconst const u8 system_certificate_list[]; - extern __initconst const unsigned long system_certificate_list_size; -@@ -99,6 +102,16 @@ static __init int system_trusted_keyring_init(void) - if (key_link(secondary_trusted_keys, builtin_trusted_keys) < 0) - panic("Can't link trusted keyrings\n"); - #endif -+#ifdef CONFIG_SYSTEM_BLACKLIST_KEYRING -+ system_blacklist_keyring = keyring_alloc(".system_blacklist_keyring", -+ KUIDT_INIT(0), KGIDT_INIT(0), current_cred(), -+ ((KEY_POS_ALL & ~KEY_POS_SETATTR) | -+ KEY_USR_VIEW | KEY_USR_READ | KEY_USR_SEARCH), -+ KEY_ALLOC_NOT_IN_QUOTA, -+ NULL, NULL); -+ if (IS_ERR(system_blacklist_keyring)) -+ panic("Can't allocate system blacklist keyring\n"); -+#endif - - return 0; - } -@@ -214,6 +227,15 @@ int verify_pkcs7_signature(const void *data, size_t len, - trusted_keys = builtin_trusted_keys; - #endif - } -+#ifdef CONFIG_SYSTEM_BLACKLIST_KEYRING -+ ret = pkcs7_validate_trust(pkcs7, system_blacklist_keyring); -+ if (!ret) { -+ /* module is signed with a cert in the blacklist. reject */ -+ pr_err("Module key is in the blacklist\n"); -+ ret = -EKEYREJECTED; -+ goto error; -+ } -+#endif - ret = pkcs7_validate_trust(pkcs7, trusted_keys); - if (ret < 0) { - if (ret == -ENOKEY) -diff --git a/include/keys/system_keyring.h b/include/keys/system_keyring.h -index fbd4647767e9..5bc291a3d261 100644 ---- a/include/keys/system_keyring.h -+++ b/include/keys/system_keyring.h -@@ -33,6 +33,10 @@ extern int restrict_link_by_builtin_and_secondary_trusted( - #define restrict_link_by_builtin_and_secondary_trusted restrict_link_by_builtin_trusted - #endif - -+#ifdef CONFIG_SYSTEM_BLACKLIST_KEYRING -+extern struct key *system_blacklist_keyring; -+#endif -+ - #ifdef CONFIG_IMA_BLACKLIST_KEYRING - extern struct key *ima_blacklist_keyring; - -diff --git a/init/Kconfig b/init/Kconfig -index 34407f15e6d3..461ad575a608 100644 ---- a/init/Kconfig -+++ b/init/Kconfig -@@ -1859,6 +1859,15 @@ config SYSTEM_DATA_VERIFICATION - module verification, kexec image verification and firmware blob - verification. - -+config SYSTEM_BLACKLIST_KEYRING -+ bool "Provide system-wide ring of blacklisted keys" -+ depends on KEYS -+ help -+ Provide a system keyring to which blacklisted keys can be added. -+ Keys in the keyring are considered entirely untrusted. Keys in this -+ keyring are used by the module signature checking to reject loading -+ of modules signed with a blacklisted key. -+ - config PROFILING - bool "Profiling support" - help --- -2.9.3 - diff --git a/freed-ora/current/f26/PCI-aspm-deal-with-missing-root-ports-in-link-state-handling.patch b/freed-ora/current/f26/PCI-aspm-deal-with-missing-root-ports-in-link-state-handling.patch new file mode 100644 index 000000000..03b011561 --- /dev/null +++ b/freed-ora/current/f26/PCI-aspm-deal-with-missing-root-ports-in-link-state-handling.patch @@ -0,0 +1,55 @@ +From patchwork Mon Oct 2 14:08:40 2017 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +Subject: PCI: aspm: deal with missing root ports in link state handling +From: Ard Biesheuvel <ard.biesheuvel@linaro.org> +X-Patchwork-Id: 9980861 +Message-Id: <20171002140840.7767-1-ard.biesheuvel@linaro.org> +To: linux-pci@vger.kernel.org, bhelgaas@google.com +Cc: graeme.gregory@linaro.org, leif.lindholm@linaro.org, + daniel.thompson@Linaro.org, Ard Biesheuvel <ard.biesheuvel@linaro.org> +Date: Mon, 2 Oct 2017 15:08:40 +0100 + +Even though it is unconventional, some PCIe host implementations omit +the root ports entirely, and simply consist of a host bridge (which +is not modeled as a device in the PCI hierarchy) and a link. + +When the downstream device is an endpoint, our current code does not +seem to mind this unusual configuration. However, when PCIe switches +are involved, the ASPM code assumes that any downstream switch port +has a parent, and blindly derefences the bus->parent->self field of +the pci_dev struct to chain the downstream link state to the link +state of the root port. Given that the root port is missing, the link +is not modeled at all, and nor is the link state, and attempting to +access it results in a NULL pointer dereference and a crash. + +So let's avoid this by allowing the link state chain to terminate at +the downstream port if no root port exists. + +Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> +--- + drivers/pci/pcie/aspm.c | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +diff --git a/drivers/pci/pcie/aspm.c b/drivers/pci/pcie/aspm.c +index 1dfa10cc566b..0bea8498b5a5 100644 +--- a/drivers/pci/pcie/aspm.c ++++ b/drivers/pci/pcie/aspm.c +@@ -802,10 +802,14 @@ static struct pcie_link_state *alloc_pcie_link_state(struct pci_dev *pdev) + + /* + * Root Ports and PCI/PCI-X to PCIe Bridges are roots of PCIe +- * hierarchies. ++ * hierarchies. Note that some PCIe host implementations omit ++ * the root ports entirely, in which case a downstream port on ++ * a switch may become the root of the link state chain for all ++ * its subordinate endpoints. + */ + if (pci_pcie_type(pdev) == PCI_EXP_TYPE_ROOT_PORT || +- pci_pcie_type(pdev) == PCI_EXP_TYPE_PCIE_BRIDGE) { ++ pci_pcie_type(pdev) == PCI_EXP_TYPE_PCIE_BRIDGE || ++ !pdev->bus->parent->self) { + link->root = link; + } else { + struct pcie_link_state *parent; diff --git a/freed-ora/current/f26/RFC-audit-fix-a-race-condition-with-the-auditd-tracking-code.patch b/freed-ora/current/f26/RFC-audit-fix-a-race-condition-with-the-auditd-tracking-code.patch deleted file mode 100644 index d79fd256f..000000000 --- a/freed-ora/current/f26/RFC-audit-fix-a-race-condition-with-the-auditd-tracking-code.patch +++ /dev/null @@ -1,156 +0,0 @@ -From patchwork Thu Jun 15 15:28:58 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [RFC] audit: fix a race condition with the auditd tracking code -From: Paul Moore <pmoore@redhat.com> -X-Patchwork-Id: 9789009 -Message-Id: <149754053819.11365.5047864735077505545.stgit@sifl> -To: linux-audit@redhat.com -Cc: Dusty Mabe <dustymabe@redhat.com> -Date: Thu, 15 Jun 2017 11:28:58 -0400 - -From: Paul Moore <paul@paul-moore.com> - -Originally reported by Adam and Dusty, it appears we have a small -race window in kauditd_thread(), as documented in the Fedora BZ: - - * https://bugzilla.redhat.com/show_bug.cgi?id=1459326#c35 - - "This issue is partly due to the read-copy nature of RCU, and - partly due to how we sync the auditd_connection state across - kauditd_thread and the audit control channel. The kauditd_thread - thread is always running so it can service the record queues and - emit the multicast messages, if it happens to be just past the - "main_queue" label, but before the "if (sk == NULL || ...)" - if-statement which calls auditd_reset() when the new auditd - connection is registered it could end up resetting the auditd - connection, regardless of if it is valid or not. This is a rather - small window and the variable nature of multi-core scheduling - explains why this is proving rather difficult to reproduce." - -The fix is to have functions only call auditd_reset() when they -believe that the kernel/auditd connection is still valid, e.g. -non-NULL, and to have these callers pass their local copy of the -auditd_connection pointer to auditd_reset() where it can be compared -with the current connection state before resetting. If the caller -has a stale state tracking pointer then the reset is ignored. - -We also make a small change to kauditd_thread() so that if the -kernel/auditd connection is dead we skip the retry queue and send the -records straight to the hold queue. This is necessary as we used to -rely on auditd_reset() to occasionally purge the retry queue but we -are going to be calling the reset function much less now and we want -to make sure the retry queue doesn't grow unbounded. - -Reported-by: Adam Williamson <awilliam@redhat.com> -Reported-by: Dusty Mabe <dustymabe@redhat.com> -Signed-off-by: Paul Moore <paul@paul-moore.com> -Reviewed-by: Richard Guy Briggs <rgb@redhat.com> ---- - kernel/audit.c | 36 +++++++++++++++++++++++------------- - 1 file changed, 23 insertions(+), 13 deletions(-) - - --- -Linux-audit mailing list -Linux-audit@redhat.com -https://www.redhat.com/mailman/listinfo/linux-audit - -diff --git a/kernel/audit.c b/kernel/audit.c -index b2e877100242..e1e2b3abfb93 100644 ---- a/kernel/audit.c -+++ b/kernel/audit.c -@@ -575,12 +575,16 @@ static void kauditd_retry_skb(struct sk_buff *skb) - - /** - * auditd_reset - Disconnect the auditd connection -+ * @ac: auditd connection state - * - * Description: - * Break the auditd/kauditd connection and move all the queued records into the -- * hold queue in case auditd reconnects. -+ * hold queue in case auditd reconnects. It is important to note that the @ac -+ * pointer should never be dereferenced inside this function as it may be NULL -+ * or invalid, you can only compare the memory address! If @ac is NULL then -+ * the connection will always be reset. - */ --static void auditd_reset(void) -+static void auditd_reset(const struct auditd_connection *ac) - { - unsigned long flags; - struct sk_buff *skb; -@@ -590,6 +594,11 @@ static void auditd_reset(void) - spin_lock_irqsave(&auditd_conn_lock, flags); - ac_old = rcu_dereference_protected(auditd_conn, - lockdep_is_held(&auditd_conn_lock)); -+ if (ac && ac != ac_old) { -+ /* someone already registered a new auditd connection */ -+ spin_unlock_irqrestore(&auditd_conn_lock, flags); -+ return; -+ } - rcu_assign_pointer(auditd_conn, NULL); - spin_unlock_irqrestore(&auditd_conn_lock, flags); - -@@ -649,8 +658,8 @@ static int auditd_send_unicast_skb(struct sk_buff *skb) - return rc; - - err: -- if (rc == -ECONNREFUSED) -- auditd_reset(); -+ if (ac && rc == -ECONNREFUSED) -+ auditd_reset(ac); - return rc; - } - -@@ -795,9 +804,9 @@ static int kauditd_thread(void *dummy) - rc = kauditd_send_queue(sk, portid, - &audit_hold_queue, UNICAST_RETRIES, - NULL, kauditd_rehold_skb); -- if (rc < 0) { -+ if (ac && rc < 0) { - sk = NULL; -- auditd_reset(); -+ auditd_reset(ac); - goto main_queue; - } - -@@ -805,9 +814,9 @@ static int kauditd_thread(void *dummy) - rc = kauditd_send_queue(sk, portid, - &audit_retry_queue, UNICAST_RETRIES, - NULL, kauditd_hold_skb); -- if (rc < 0) { -+ if (ac && rc < 0) { - sk = NULL; -- auditd_reset(); -+ auditd_reset(ac); - goto main_queue; - } - -@@ -815,12 +824,13 @@ static int kauditd_thread(void *dummy) - /* process the main queue - do the multicast send and attempt - * unicast, dump failed record sends to the retry queue; if - * sk == NULL due to previous failures we will just do the -- * multicast send and move the record to the retry queue */ -+ * multicast send and move the record to the hold queue */ - rc = kauditd_send_queue(sk, portid, &audit_queue, 1, - kauditd_send_multicast_skb, -- kauditd_retry_skb); -- if (sk == NULL || rc < 0) -- auditd_reset(); -+ (sk ? -+ kauditd_retry_skb : kauditd_hold_skb)); -+ if (ac && rc < 0) -+ auditd_reset(ac); - sk = NULL; - - /* drop our netns reference, no auditd sends past this line */ -@@ -1230,7 +1240,7 @@ static int audit_receive_msg(struct sk_buff *skb, struct nlmsghdr *nlh) - auditd_pid, 1); - - /* unregister the auditd connection */ -- auditd_reset(); -+ auditd_reset(NULL); - } - } - if (s.mask & AUDIT_STATUS_RATE_LIMIT) { diff --git a/freed-ora/current/f26/USB-ulpi-fix-bus-node-lookup.patch b/freed-ora/current/f26/USB-ulpi-fix-bus-node-lookup.patch new file mode 100644 index 000000000..835cf2ab6 --- /dev/null +++ b/freed-ora/current/f26/USB-ulpi-fix-bus-node-lookup.patch @@ -0,0 +1,48 @@ +From patchwork Sat Nov 11 15:31:18 2017 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +Subject: USB: ulpi: fix bus-node lookup +From: Johan Hovold <johan@kernel.org> +X-Patchwork-Id: 10054387 +Message-Id: <20171111153118.16038-1-johan@kernel.org> +To: Heikki Krogerus <heikki.krogerus@linux.intel.com> +Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>, + linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, + linux-arm-msm@vger.kernel.org, Rob Clark <robdclark@gmail.com>, + Peter Robinson <pbrobinson@gmail.com>, Johan Hovold <johan@kernel.org>, + stable <stable@vger.kernel.org> +Date: Sat, 11 Nov 2017 16:31:18 +0100 + +Fix bus-node lookup during registration, which ended up searching the whole +device tree depth-first starting at the parent (or grand parent) rather +than just matching on its children. + +To make things worse, the parent (or grand-parent) node could end being +prematurely freed as well. + +Fixes: ef6a7bcfb01c ("usb: ulpi: Support device discovery via DT") +Reported-by: Peter Robinson <pbrobinson@gmail.com> +Reported-by: Stephen Boyd <sboyd@codeaurora.org> +Cc: stable <stable@vger.kernel.org> # 4.10 +Signed-off-by: Johan Hovold <johan@kernel.org> +--- + drivers/usb/common/ulpi.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/drivers/usb/common/ulpi.c b/drivers/usb/common/ulpi.c +index 8b351444cc40..9a2ab6751a23 100644 +--- a/drivers/usb/common/ulpi.c ++++ b/drivers/usb/common/ulpi.c +@@ -180,9 +180,9 @@ static int ulpi_of_register(struct ulpi *ulpi) + /* Find a ulpi bus underneath the parent or the grandparent */ + parent = ulpi->dev.parent; + if (parent->of_node) +- np = of_find_node_by_name(parent->of_node, "ulpi"); ++ np = of_get_child_by_name(parent->of_node, "ulpi"); + else if (parent->parent && parent->parent->of_node) +- np = of_find_node_by_name(parent->parent->of_node, "ulpi"); ++ np = of_get_child_by_name(parent->parent->of_node, "ulpi"); + if (!np) + return 0; + diff --git a/freed-ora/current/f26/V4-acpi-acpica-fix-acpi-parse-and-parseext-cache-leaks.patch b/freed-ora/current/f26/V4-acpi-acpica-fix-acpi-parse-and-parseext-cache-leaks.patch deleted file mode 100644 index 60cbe6c38..000000000 --- a/freed-ora/current/f26/V4-acpi-acpica-fix-acpi-parse-and-parseext-cache-leaks.patch +++ /dev/null @@ -1,231 +0,0 @@ -From patchwork Fri Jun 23 09:36:37 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 8bit -Subject: [V4] acpi: acpica: fix acpi parse and parseext cache leaks -From: Seunghun Han <kkamagui@gmail.com> -X-Patchwork-Id: 9806085 -Message-Id: <1498210597-112293-1-git-send-email-kkamagui@gmail.com> -To: lv.zheng@intel.com -Cc: robert.moore@intel.com, rafael.j.wysocki@intel.com, - linux-acpi@vger.kernel.org, devel@acpica.org, - linux-kernel@vger.kernel.org, Seunghun Han <kkamagui@gmail.com> -Date: Fri, 23 Jun 2017 18:36:37 +0900 - -I'm Seunghun Han, and I work for National Security Research Institute of -South Korea. - -I have been doing a research on ACPI and found an ACPI cache leak in ACPI -early abort cases. - -Boot log of ACPI cache leak is as follows: -[ 0.352414] ACPI: Added _OSI(Module Device) -[ 0.353182] ACPI: Added _OSI(Processor Device) -[ 0.353182] ACPI: Added _OSI(3.0 _SCP Extensions) -[ 0.353182] ACPI: Added _OSI(Processor Aggregator Device) -[ 0.356028] ACPI: Unable to start the ACPI Interpreter -[ 0.356799] ACPI Error: Could not remove SCI handler (20170303/evmisc-281) -[ 0.360215] kmem_cache_destroy Acpi-State: Slab cache still has objects -[ 0.360648] CPU: 0 PID: 1 Comm: swapper/0 Tainted: G W -4.12.0-rc4-next-20170608+ #10 -[ 0.361273] Hardware name: innotek GmbH VirtualBox/VirtualBox, BIOS -VirtualBox 12/01/2006 -[ 0.361873] Call Trace: -[ 0.362243] ? dump_stack+0x5c/0x81 -[ 0.362591] ? kmem_cache_destroy+0x1aa/0x1c0 -[ 0.362944] ? acpi_sleep_proc_init+0x27/0x27 -[ 0.363296] ? acpi_os_delete_cache+0xa/0x10 -[ 0.363646] ? acpi_ut_delete_caches+0x6d/0x7b -[ 0.364000] ? acpi_terminate+0xa/0x14 -[ 0.364000] ? acpi_init+0x2af/0x34f -[ 0.364000] ? __class_create+0x4c/0x80 -[ 0.364000] ? video_setup+0x7f/0x7f -[ 0.364000] ? acpi_sleep_proc_init+0x27/0x27 -[ 0.364000] ? do_one_initcall+0x4e/0x1a0 -[ 0.364000] ? kernel_init_freeable+0x189/0x20a -[ 0.364000] ? rest_init+0xc0/0xc0 -[ 0.364000] ? kernel_init+0xa/0x100 -[ 0.364000] ? ret_from_fork+0x25/0x30 - -I analyzed this memory leak in detail. I found that “Acpi-State” cache and -“Acpi-Parse” cache were merged because the size of cache objects was same -slab cache size. - -I finally found “Acpi-Parse” cache and “Acpi-ParseExt” cache were leaked -using SLAB_NEVER_MERGE flag in kmem_cache_create() function. - -Real ACPI cache leak point is as follows: -[ 0.360101] ACPI: Added _OSI(Module Device) -[ 0.360101] ACPI: Added _OSI(Processor Device) -[ 0.360101] ACPI: Added _OSI(3.0 _SCP Extensions) -[ 0.361043] ACPI: Added _OSI(Processor Aggregator Device) -[ 0.364016] ACPI: Unable to start the ACPI Interpreter -[ 0.365061] ACPI Error: Could not remove SCI handler (20170303/evmisc-281) -[ 0.368174] kmem_cache_destroy Acpi-Parse: Slab cache still has objects -[ 0.369332] CPU: 1 PID: 1 Comm: swapper/0 Tainted: G W -4.12.0-rc4-next-20170608+ #8 -[ 0.371256] Hardware name: innotek GmbH VirtualBox/VirtualBox, BIOS -VirtualBox 12/01/2006 -[ 0.372000] Call Trace: -[ 0.372000] ? dump_stack+0x5c/0x81 -[ 0.372000] ? kmem_cache_destroy+0x1aa/0x1c0 -[ 0.372000] ? acpi_sleep_proc_init+0x27/0x27 -[ 0.372000] ? acpi_os_delete_cache+0xa/0x10 -[ 0.372000] ? acpi_ut_delete_caches+0x56/0x7b -[ 0.372000] ? acpi_terminate+0xa/0x14 -[ 0.372000] ? acpi_init+0x2af/0x34f -[ 0.372000] ? __class_create+0x4c/0x80 -[ 0.372000] ? video_setup+0x7f/0x7f -[ 0.372000] ? acpi_sleep_proc_init+0x27/0x27 -[ 0.372000] ? do_one_initcall+0x4e/0x1a0 -[ 0.372000] ? kernel_init_freeable+0x189/0x20a -[ 0.372000] ? rest_init+0xc0/0xc0 -[ 0.372000] ? kernel_init+0xa/0x100 -[ 0.372000] ? ret_from_fork+0x25/0x30 -[ 0.388039] kmem_cache_destroy Acpi-ParseExt: Slab cache still has objects -[ 0.389063] CPU: 1 PID: 1 Comm: swapper/0 Tainted: G W -4.12.0-rc4-next-20170608+ #8 -[ 0.390557] Hardware name: innotek GmbH VirtualBox/VirtualBox, BIOS -VirtualBox 12/01/2006 -[ 0.392000] Call Trace: -[ 0.392000] ? dump_stack+0x5c/0x81 -[ 0.392000] ? kmem_cache_destroy+0x1aa/0x1c0 -[ 0.392000] ? acpi_sleep_proc_init+0x27/0x27 -[ 0.392000] ? acpi_os_delete_cache+0xa/0x10 -[ 0.392000] ? acpi_ut_delete_caches+0x6d/0x7b -[ 0.392000] ? acpi_terminate+0xa/0x14 -[ 0.392000] ? acpi_init+0x2af/0x34f -[ 0.392000] ? __class_create+0x4c/0x80 -[ 0.392000] ? video_setup+0x7f/0x7f -[ 0.392000] ? acpi_sleep_proc_init+0x27/0x27 -[ 0.392000] ? do_one_initcall+0x4e/0x1a0 -[ 0.392000] ? kernel_init_freeable+0x189/0x20a -[ 0.392000] ? rest_init+0xc0/0xc0 -[ 0.392000] ? kernel_init+0xa/0x100 -[ 0.392000] ? ret_from_fork+0x25/0x30 - -When early abort is occurred due to invalid ACPI information, Linux kernel -terminates ACPI by calling acpi_terminate() function. The function calls -acpi_ut_delete_caches() function to delete local caches (acpi_gbl_namespace_ -cache, state_cache, operand_cache, ps_node_cache, ps_node_ext_cache). - -But the deletion codes in acpi_ut_delete_caches() function only delete -slab caches using kmem_cache_destroy() function, therefore the cache -objects should be flushed before acpi_ut_delete_caches() function. - -“Acpi-Parse” cache and “Acpi-ParseExt” cache are used in an AML parse -function, acpi_ps_parse_loop(). The function should have flush codes to -handle an error state due to invalid AML codes. - -This cache leak has a security threat because an old kernel (<= 4.9) shows -memory locations of kernel functions in stack dump. Some malicious users -could use this information to neutralize kernel ASLR. - -To fix ACPI cache leak for enhancing security, I made a patch which has -flush codes in acpi_ps_parse_loop() function. - -I hope that this patch improves the security of Linux kernel. - -Thank you. - -Signed-off-by: Seunghun Han <kkamagui@gmail.com> ---- -Changes since v3: change control transfer according to reviewer's comments. -Changes since v2: merge flush code with existing code and change comments. -Changes since v1: move flush code to acpi_ps_complete_final_op() function. - - drivers/acpi/acpica/psobject.c | 53 +++++++++++++----------------------------- - 1 file changed, 16 insertions(+), 37 deletions(-) - -diff --git a/drivers/acpi/acpica/psobject.c b/drivers/acpi/acpica/psobject.c -index 5bcb618..4539391 100644 ---- a/drivers/acpi/acpica/psobject.c -+++ b/drivers/acpi/acpica/psobject.c -@@ -608,7 +608,8 @@ acpi_status - acpi_ps_complete_final_op(struct acpi_walk_state *walk_state, - union acpi_parse_object *op, acpi_status status) - { -- acpi_status status2; -+ acpi_status return_status = AE_OK; -+ u8 ascending = TRUE; - - ACPI_FUNCTION_TRACE_PTR(ps_complete_final_op, walk_state); - -@@ -622,7 +623,8 @@ acpi_ps_complete_final_op(struct acpi_walk_state *walk_state, - op)); - do { - if (op) { -- if (walk_state->ascending_callback != NULL) { -+ if (ascending && -+ walk_state->ascending_callback != NULL) { - walk_state->op = op; - walk_state->op_info = - acpi_ps_get_opcode_info(op->common. -@@ -644,49 +646,26 @@ acpi_ps_complete_final_op(struct acpi_walk_state *walk_state, - } - - if (status == AE_CTRL_TERMINATE) { -- status = AE_OK; -- -- /* Clean up */ -- do { -- if (op) { -- status2 = -- acpi_ps_complete_this_op -- (walk_state, op); -- if (ACPI_FAILURE -- (status2)) { -- return_ACPI_STATUS -- (status2); -- } -- } -- -- acpi_ps_pop_scope(& -- (walk_state-> -- parser_state), -- &op, -- &walk_state-> -- arg_types, -- &walk_state-> -- arg_count); -- -- } while (op); -- -- return_ACPI_STATUS(status); -+ ascending = FALSE; -+ return_status = AE_CTRL_TERMINATE; - } - - else if (ACPI_FAILURE(status)) { - - /* First error is most important */ - -- (void) -- acpi_ps_complete_this_op(walk_state, -- op); -- return_ACPI_STATUS(status); -+ ascending = FALSE; -+ return_status = status; - } - } - -- status2 = acpi_ps_complete_this_op(walk_state, op); -- if (ACPI_FAILURE(status2)) { -- return_ACPI_STATUS(status2); -+ status = acpi_ps_complete_this_op(walk_state, op); -+ if (ACPI_FAILURE(status)) { -+ ascending = FALSE; -+ if (ACPI_SUCCESS(return_status) || -+ return_status == AE_CTRL_TERMINATE) { -+ return_status = status; -+ } - } - } - -@@ -696,5 +675,5 @@ acpi_ps_complete_final_op(struct acpi_walk_state *walk_state, - - } while (op); - -- return_ACPI_STATUS(status); -+ return_ACPI_STATUS(return_status); - } diff --git a/freed-ora/current/f26/acpi-acpica-fix-acpi-operand-cache-leak-in-dsutils.c.patch b/freed-ora/current/f26/acpi-acpica-fix-acpi-operand-cache-leak-in-dsutils.c.patch deleted file mode 100644 index 9825deb9a..000000000 --- a/freed-ora/current/f26/acpi-acpica-fix-acpi-operand-cache-leak-in-dsutils.c.patch +++ /dev/null @@ -1,107 +0,0 @@ -From patchwork Thu Aug 24 05:11:35 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: acpi: acpica: fix acpi operand cache leak in dsutils.c -From: Seunghun Han <kkamagui@gmail.com> -X-Patchwork-Id: 9919053 -Message-Id: <1503551495-33286-1-git-send-email-kkamagui@gmail.com> -To: lv.zheng@intel.com -Cc: robert.moore@intel.com, rafael.j.wysocki@intel.com, - linux-acpi@vger.kernel.org, devel@acpica.org, - linux-kernel@vger.kernel.org, security@kernel.org, - Seunghun Han <kkamagui@gmail.com> -Date: Thu, 24 Aug 2017 14:11:35 +0900 - -I found an ACPI cache leak in ACPI early termination and boot continuing case. - -When early termination is occurred due to malicious ACPI table, Linux kernel -terminates ACPI function and continues to boot process. While kernel terminates -ACPI function, kmem_cache_destroy() reports Acpi-Operand cache leak. - -Boot log of ACPI operand cache leak is as follows: ->[ 0.585957] ACPI: Added _OSI(Module Device) ->[ 0.587218] ACPI: Added _OSI(Processor Device) ->[ 0.588530] ACPI: Added _OSI(3.0 _SCP Extensions) ->[ 0.589790] ACPI: Added _OSI(Processor Aggregator Device) ->[ 0.591534] ACPI Error: Illegal I/O port address/length above 64K: C806E00000004002/0x2 (20170303/hwvalid-155) ->[ 0.594351] ACPI Exception: AE_LIMIT, Unable to initialize fixed events (20170303/evevent-88) ->[ 0.597858] ACPI: Unable to start the ACPI Interpreter ->[ 0.599162] ACPI Error: Could not remove SCI handler (20170303/evmisc-281) ->[ 0.601836] kmem_cache_destroy Acpi-Operand: Slab cache still has objects ->[ 0.603556] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.12.0-rc5 #26 ->[ 0.605159] Hardware name: innotek GmbH VirtualBox/VirtualBox, BIOS VirtualBox 12/01/2006 ->[ 0.609177] Call Trace: ->[ 0.610063] ? dump_stack+0x5c/0x81 ->[ 0.611118] ? kmem_cache_destroy+0x1aa/0x1c0 ->[ 0.612632] ? acpi_sleep_proc_init+0x27/0x27 ->[ 0.613906] ? acpi_os_delete_cache+0xa/0x10 ->[ 0.617986] ? acpi_ut_delete_caches+0x3f/0x7b ->[ 0.619293] ? acpi_terminate+0xa/0x14 ->[ 0.620394] ? acpi_init+0x2af/0x34f ->[ 0.621616] ? __class_create+0x4c/0x80 ->[ 0.623412] ? video_setup+0x7f/0x7f ->[ 0.624585] ? acpi_sleep_proc_init+0x27/0x27 ->[ 0.625861] ? do_one_initcall+0x4e/0x1a0 ->[ 0.627513] ? kernel_init_freeable+0x19e/0x21f ->[ 0.628972] ? rest_init+0x80/0x80 ->[ 0.630043] ? kernel_init+0xa/0x100 ->[ 0.631084] ? ret_from_fork+0x25/0x30 ->[ 0.633343] vgaarb: loaded ->[ 0.635036] EDAC MC: Ver: 3.0.0 ->[ 0.638601] PCI: Probing PCI hardware ->[ 0.639833] PCI host bridge to bus 0000:00 ->[ 0.641031] pci_bus 0000:00: root bus resource [io 0x0000-0xffff] -> ... Continue to boot and log is omitted ... - -I analyzed this memory leak in detail and found acpi_ds_obj_stack_pop_and_ -delete() function miscalculated the top of the stack. acpi_ds_obj_stack_push() -function uses walk_state->operand_index for start position of the top, but -acpi_ds_obj_stack_pop_and_delete() function considers index 0 for it. -Therefore, this causes acpi operand memory leak. - -This cache leak causes a security threat because an old kernel (<= 4.9) shows -memory locations of kernel functions in stack dump. Some malicious users -could use this information to neutralize kernel ASLR. - -I made a patch to fix ACPI operand cache leak. - -Signed-off-by: Seunghun Han <kkamagui@gmail.com> ---- - drivers/acpi/acpica/dsutils.c | 9 ++++++++- - 1 file changed, 8 insertions(+), 1 deletion(-) - -diff --git a/drivers/acpi/acpica/dsutils.c b/drivers/acpi/acpica/dsutils.c -index 0dabd9b..2c8a060 100644 ---- a/drivers/acpi/acpica/dsutils.c -+++ b/drivers/acpi/acpica/dsutils.c -@@ -705,6 +705,8 @@ acpi_ds_create_operands(struct acpi_walk_state *walk_state, - union acpi_parse_object *arguments[ACPI_OBJ_NUM_OPERANDS]; - u32 arg_count = 0; - u32 index = walk_state->num_operands; -+ u32 prev_num_operands = walk_state->num_operands; -+ u32 new_num_operands; - u32 i; - - ACPI_FUNCTION_TRACE_PTR(ds_create_operands, first_arg); -@@ -733,6 +735,7 @@ acpi_ds_create_operands(struct acpi_walk_state *walk_state, - - /* Create the interpreter arguments, in reverse order */ - -+ new_num_operands = index; - index--; - for (i = 0; i < arg_count; i++) { - arg = arguments[index]; -@@ -757,7 +760,11 @@ acpi_ds_create_operands(struct acpi_walk_state *walk_state, - * pop everything off of the operand stack and delete those - * objects - */ -- acpi_ds_obj_stack_pop_and_delete(arg_count, walk_state); -+ walk_state->num_operands = i; -+ acpi_ds_obj_stack_pop_and_delete(new_num_operands, walk_state); -+ -+ /* Restore operand count */ -+ walk_state->num_operands = prev_num_operands; - - ACPI_EXCEPTION((AE_INFO, status, "While creating Arg %u", index)); - return_ACPI_STATUS(status); diff --git a/freed-ora/current/f26/acpi-acpica-fix-acpi-operand-cache-leak-in-nseval.c.patch b/freed-ora/current/f26/acpi-acpica-fix-acpi-operand-cache-leak-in-nseval.c.patch deleted file mode 100644 index 3623a4ebd..000000000 --- a/freed-ora/current/f26/acpi-acpica-fix-acpi-operand-cache-leak-in-nseval.c.patch +++ /dev/null @@ -1,96 +0,0 @@ -From patchwork Wed Jul 19 07:07:23 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: acpi: acpica: fix acpi operand cache leak in nseval.c -From: Seunghun Han <kkamagui@gmail.com> -X-Patchwork-Id: 9850567 -Message-Id: <1500448043-137615-1-git-send-email-kkamagui@gmail.com> -To: Lv Zheng <lv.zheng@intel.com> -Cc: Robert Moore <robert.moore@intel.com>, - "Rafael J. Wysocki" <rafael.j.wysocki@intel.com>, - linux-acpi@vger.kernel.org, devel@acpica.org, - linux-kernel@vger.kernel.org, security@kernel.org, - Seunghun Han <kkamagui@gmail.com> -Date: Wed, 19 Jul 2017 16:07:23 +0900 - -I found an ACPI cache leak in ACPI early termination and boot continuing case. - -When early termination occurs due to malicious ACPI table, Linux kernel -terminates ACPI function and continues to boot process. While kernel terminates -ACPI function, kmem_cache_destroy() reports Acpi-Operand cache leak. - -Boot log of ACPI operand cache leak is as follows: ->[ 0.464168] ACPI: Added _OSI(Module Device) ->[ 0.467022] ACPI: Added _OSI(Processor Device) ->[ 0.469376] ACPI: Added _OSI(3.0 _SCP Extensions) ->[ 0.471647] ACPI: Added _OSI(Processor Aggregator Device) ->[ 0.477997] ACPI Error: Null stack entry at ffff880215c0aad8 (20170303/exresop-174) ->[ 0.482706] ACPI Exception: AE_AML_INTERNAL, While resolving operands for [OpcodeName unavailable] (20170303/dswexec-461) ->[ 0.487503] ACPI Error: Method parse/execution failed [\DBG] (Node ffff88021710ab40), AE_AML_INTERNAL (20170303/psparse-543) ->[ 0.492136] ACPI Error: Method parse/execution failed [\_SB._INI] (Node ffff88021710a618), AE_AML_INTERNAL (20170303/psparse-543) ->[ 0.497683] ACPI: Interpreter enabled ->[ 0.499385] ACPI: (supports S0) ->[ 0.501151] ACPI: Using IOAPIC for interrupt routing ->[ 0.503342] ACPI Error: Null stack entry at ffff880215c0aad8 (20170303/exresop-174) ->[ 0.506522] ACPI Exception: AE_AML_INTERNAL, While resolving operands for [OpcodeName unavailable] (20170303/dswexec-461) ->[ 0.510463] ACPI Error: Method parse/execution failed [\DBG] (Node ffff88021710ab40), AE_AML_INTERNAL (20170303/psparse-543) ->[ 0.514477] ACPI Error: Method parse/execution failed [\_PIC] (Node ffff88021710ab18), AE_AML_INTERNAL (20170303/psparse-543) ->[ 0.518867] ACPI Exception: AE_AML_INTERNAL, Evaluating _PIC (20170303/bus-991) ->[ 0.522384] kmem_cache_destroy Acpi-Operand: Slab cache still has objects ->[ 0.524597] CPU: 1 PID: 1 Comm: swapper/0 Not tainted 4.12.0-rc5 #26 ->[ 0.526795] Hardware name: innotek GmbH VirtualBox/VirtualBox, BIOS VirtualBox 12/01/2006 ->[ 0.529668] Call Trace: ->[ 0.530811] ? dump_stack+0x5c/0x81 ->[ 0.532240] ? kmem_cache_destroy+0x1aa/0x1c0 ->[ 0.533905] ? acpi_os_delete_cache+0xa/0x10 ->[ 0.535497] ? acpi_ut_delete_caches+0x3f/0x7b ->[ 0.537237] ? acpi_terminate+0xa/0x14 ->[ 0.538701] ? acpi_init+0x2af/0x34f ->[ 0.540008] ? acpi_sleep_proc_init+0x27/0x27 ->[ 0.541593] ? do_one_initcall+0x4e/0x1a0 ->[ 0.543008] ? kernel_init_freeable+0x19e/0x21f ->[ 0.546202] ? rest_init+0x80/0x80 ->[ 0.547513] ? kernel_init+0xa/0x100 ->[ 0.548817] ? ret_from_fork+0x25/0x30 ->[ 0.550587] vgaarb: loaded ->[ 0.551716] EDAC MC: Ver: 3.0.0 ->[ 0.553744] PCI: Probing PCI hardware ->[ 0.555038] PCI host bridge to bus 0000:00 -> ... Continue to boot and log is omitted ... - -I analyzed this memory leak in detail and found acpi_ns_evaluate() function -only removes info->return_object in AE_CTRL_RETURN_VALUE case. But, when errors -occur, the status value is not AE_CTRL_RETURN_VALUE, and info->return_object is -also not null. Therefore, this causes acpi operand memory leak. - -This cache leak causes a security threat because an old kernel (<= 4.9) shows -memory locations of kernel functions in stack dump. Some malicious users -could use this information to neutralize kernel ASLR. - -I made a patch to fix ACPI operand cache leak. - -Signed-off-by: Seunghun Han <kkamagui@gmail.com> ---- - drivers/acpi/acpica/nseval.c | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git a/drivers/acpi/acpica/nseval.c b/drivers/acpi/acpica/nseval.c -index d22167c..f13d3cf 100644 ---- a/drivers/acpi/acpica/nseval.c -+++ b/drivers/acpi/acpica/nseval.c -@@ -308,6 +308,14 @@ acpi_status acpi_ns_evaluate(struct acpi_evaluate_info *info) - /* Map AE_CTRL_RETURN_VALUE to AE_OK, we are done with it */ - - status = AE_OK; -+ } else if (ACPI_FAILURE(status)) { -+ -+ /* If return_object exists, delete it */ -+ -+ if (info->return_object) { -+ acpi_ut_remove_reference(info->return_object); -+ info->return_object = NULL; -+ } - } - - ACPI_DEBUG_PRINT((ACPI_DB_NAMES, diff --git a/freed-ora/current/f26/allwinner-net-emac.patch b/freed-ora/current/f26/allwinner-net-emac.patch index f5d680bde..bad1e4490 100644 --- a/freed-ora/current/f26/allwinner-net-emac.patch +++ b/freed-ora/current/f26/allwinner-net-emac.patch @@ -1,18 +1,575 @@ -From 83e18f0ad4793ea83e03cb8e608bdd2939e76d78 Mon Sep 17 00:00:00 2001 -From: Peter Robinson <pbrobinson@gmail.com> -Date: Mon, 4 Sep 2017 13:04:34 +0100 -Subject: [PATCH 1/4] Revert "net: stmmac: sun8i: Remove the compatibles" +From 1b28a544627ddce094091946f06f99bc41d0098f Mon Sep 17 00:00:00 2001 +From: Corentin LABBE <clabbe.montjoie@gmail.com> +Date: Tue, 24 Oct 2017 19:57:12 +0200 +Subject: [PATCH 01/11] net: stmmac: snps, dwmac-mdio MDIOs are automatically + registered + +stmmac bindings docs said that its mdio node must have +compatible = "snps,dwmac-mdio"; +Since dwmac-sun8i does not have any good reasons to not doing it, all +their MDIO node must have it. + +Since these compatible is automatically registered, dwmac-sun8i compatible +does not need to be in need_mdio_ids. + +Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com> +--- + drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c | 4 ---- + 1 file changed, 4 deletions(-) + +diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c +index 6383695004a5..645ef949705f 100644 +--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c ++++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c +@@ -318,10 +318,6 @@ static int stmmac_dt_phy(struct plat_stmmacenet_data *plat, + bool mdio = true; + static const struct of_device_id need_mdio_ids[] = { + { .compatible = "snps,dwc-qos-ethernet-4.10" }, +- { .compatible = "allwinner,sun8i-a83t-emac" }, +- { .compatible = "allwinner,sun8i-h3-emac" }, +- { .compatible = "allwinner,sun8i-v3s-emac" }, +- { .compatible = "allwinner,sun50i-a64-emac" }, + {}, + }; + +-- +2.14.3 + +From 9a5b1d9a7614b022512744896d889e76f687e90a Mon Sep 17 00:00:00 2001 +From: Corentin LABBE <clabbe.montjoie@gmail.com> +Date: Tue, 24 Oct 2017 19:57:13 +0200 +Subject: [PATCH 02/11] net: stmmac: dwmac-sun8i: Handle integrated/external + MDIOs + +The Allwinner H3 SoC have two distinct MDIO bus, only one could be +active at the same time. +The selection of the active MDIO bus are done via some bits in the EMAC +register of the system controller. + +This patch implement this MDIO switch via a custom MDIO-mux. + +Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com> +Reviewed-by: Andrew Lunn <andrew@lunn.ch> +--- + drivers/net/ethernet/stmicro/stmmac/Kconfig | 1 + + drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c | 353 ++++++++++++++-------- + 2 files changed, 224 insertions(+), 130 deletions(-) + +diff --git a/drivers/net/ethernet/stmicro/stmmac/Kconfig b/drivers/net/ethernet/stmicro/stmmac/Kconfig +index 97035766c291..e28c0d2c58e9 100644 +--- a/drivers/net/ethernet/stmicro/stmmac/Kconfig ++++ b/drivers/net/ethernet/stmicro/stmmac/Kconfig +@@ -159,6 +159,7 @@ config DWMAC_SUN8I + tristate "Allwinner sun8i GMAC support" + default ARCH_SUNXI + depends on OF && (ARCH_SUNXI || COMPILE_TEST) ++ select MDIO_BUS_MUX + ---help--- + Support for Allwinner H3 A83T A64 EMAC ethernet controllers. + +diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c +index 39c2122a4f26..b3eb344bb158 100644 +--- a/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c ++++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c +@@ -17,6 +17,7 @@ + #include <linux/clk.h> + #include <linux/io.h> + #include <linux/iopoll.h> ++#include <linux/mdio-mux.h> + #include <linux/mfd/syscon.h> + #include <linux/module.h> + #include <linux/of_device.h> +@@ -41,14 +42,14 @@ + * This value is used for disabling properly EMAC + * and used as a good starting value in case of the + * boot process(uboot) leave some stuff. +- * @internal_phy: Does the MAC embed an internal PHY ++ * @soc_has_internal_phy: Does the MAC embed an internal PHY + * @support_mii: Does the MAC handle MII + * @support_rmii: Does the MAC handle RMII + * @support_rgmii: Does the MAC handle RGMII + */ + struct emac_variant { + u32 default_syscon_value; +- int internal_phy; ++ bool soc_has_internal_phy; + bool support_mii; + bool support_rmii; + bool support_rgmii; +@@ -61,7 +62,8 @@ struct emac_variant { + * @rst_ephy: reference to the optional EPHY reset for the internal PHY + * @variant: reference to the current board variant + * @regmap: regmap for using the syscon +- * @use_internal_phy: Does the current PHY choice imply using the internal PHY ++ * @internal_phy_powered: Does the internal PHY is enabled ++ * @mux_handle: Internal pointer used by mdio-mux lib + */ + struct sunxi_priv_data { + struct clk *tx_clk; +@@ -70,12 +72,13 @@ struct sunxi_priv_data { + struct reset_control *rst_ephy; + const struct emac_variant *variant; + struct regmap *regmap; +- bool use_internal_phy; ++ bool internal_phy_powered; ++ void *mux_handle; + }; + + static const struct emac_variant emac_variant_h3 = { + .default_syscon_value = 0x58000, +- .internal_phy = PHY_INTERFACE_MODE_MII, ++ .soc_has_internal_phy = true, + .support_mii = true, + .support_rmii = true, + .support_rgmii = true +@@ -83,20 +86,20 @@ static const struct emac_variant emac_variant_h3 = { + + static const struct emac_variant emac_variant_v3s = { + .default_syscon_value = 0x38000, +- .internal_phy = PHY_INTERFACE_MODE_MII, ++ .soc_has_internal_phy = true, + .support_mii = true + }; + + static const struct emac_variant emac_variant_a83t = { + .default_syscon_value = 0, +- .internal_phy = 0, ++ .soc_has_internal_phy = false, + .support_mii = true, + .support_rgmii = true + }; + + static const struct emac_variant emac_variant_a64 = { + .default_syscon_value = 0, +- .internal_phy = 0, ++ .soc_has_internal_phy = false, + .support_mii = true, + .support_rmii = true, + .support_rgmii = true +@@ -195,6 +198,9 @@ static const struct emac_variant emac_variant_a64 = { + #define H3_EPHY_LED_POL BIT(17) /* 1: active low, 0: active high */ + #define H3_EPHY_SHUTDOWN BIT(16) /* 1: shutdown, 0: power up */ + #define H3_EPHY_SELECT BIT(15) /* 1: internal PHY, 0: external PHY */ ++#define H3_EPHY_MUX_MASK (H3_EPHY_SHUTDOWN | H3_EPHY_SELECT) ++#define DWMAC_SUN8I_MDIO_MUX_INTERNAL_ID 1 ++#define DWMAC_SUN8I_MDIO_MUX_EXTERNAL_ID 2 + + /* H3/A64 specific bits */ + #define SYSCON_RMII_EN BIT(13) /* 1: enable RMII (overrides EPIT) */ +@@ -634,6 +640,159 @@ static int sun8i_dwmac_reset(struct stmmac_priv *priv) + return 0; + } + ++/* Search in mdio-mux node for internal PHY node and get its clk/reset */ ++static int get_ephy_nodes(struct stmmac_priv *priv) ++{ ++ struct sunxi_priv_data *gmac = priv->plat->bsp_priv; ++ struct device_node *mdio_mux, *iphynode; ++ struct device_node *mdio_internal; ++ int ret; ++ ++ mdio_mux = of_get_child_by_name(priv->device->of_node, "mdio-mux"); ++ if (!mdio_mux) { ++ dev_err(priv->device, "Cannot get mdio-mux node\n"); ++ return -ENODEV; ++ } ++ ++ mdio_internal = of_find_compatible_node(mdio_mux, NULL, ++ "allwinner,sun8i-h3-mdio-internal"); ++ if (!mdio_internal) { ++ dev_err(priv->device, "Cannot get internal_mdio node\n"); ++ return -ENODEV; ++ } ++ ++ /* Seek for internal PHY */ ++ for_each_child_of_node(mdio_internal, iphynode) { ++ gmac->ephy_clk = of_clk_get(iphynode, 0); ++ if (IS_ERR(gmac->ephy_clk)) ++ continue; ++ gmac->rst_ephy = of_reset_control_get_exclusive(iphynode, NULL); ++ if (IS_ERR(gmac->rst_ephy)) { ++ ret = PTR_ERR(gmac->rst_ephy); ++ if (ret == -EPROBE_DEFER) ++ return ret; ++ continue; ++ } ++ dev_info(priv->device, "Found internal PHY node\n"); ++ return 0; ++ } ++ return -ENODEV; ++} ++ ++static int sun8i_dwmac_power_internal_phy(struct stmmac_priv *priv) ++{ ++ struct sunxi_priv_data *gmac = priv->plat->bsp_priv; ++ int ret; ++ ++ if (gmac->internal_phy_powered) { ++ dev_warn(priv->device, "Internal PHY already powered\n"); ++ return 0; ++ } ++ ++ dev_info(priv->device, "Powering internal PHY\n"); ++ ret = clk_prepare_enable(gmac->ephy_clk); ++ if (ret) { ++ dev_err(priv->device, "Cannot enable internal PHY\n"); ++ return ret; ++ } ++ ++ /* Make sure the EPHY is properly reseted, as U-Boot may leave ++ * it at deasserted state, and thus it may fail to reset EMAC. ++ */ ++ reset_control_assert(gmac->rst_ephy); ++ ++ ret = reset_control_deassert(gmac->rst_ephy); ++ if (ret) { ++ dev_err(priv->device, "Cannot deassert internal phy\n"); ++ clk_disable_unprepare(gmac->ephy_clk); ++ return ret; ++ } ++ ++ gmac->internal_phy_powered = true; ++ ++ return 0; ++} ++ ++static int sun8i_dwmac_unpower_internal_phy(struct sunxi_priv_data *gmac) ++{ ++ if (!gmac->internal_phy_powered) ++ return 0; ++ ++ clk_disable_unprepare(gmac->ephy_clk); ++ reset_control_assert(gmac->rst_ephy); ++ gmac->internal_phy_powered = false; ++ return 0; ++} ++ ++/* MDIO multiplexing switch function ++ * This function is called by the mdio-mux layer when it thinks the mdio bus ++ * multiplexer needs to switch. ++ * 'current_child' is the current value of the mux register ++ * 'desired_child' is the value of the 'reg' property of the target child MDIO ++ * node. ++ * The first time this function is called, current_child == -1. ++ * If current_child == desired_child, then the mux is already set to the ++ * correct bus. ++ */ ++static int mdio_mux_syscon_switch_fn(int current_child, int desired_child, ++ void *data) ++{ ++ struct stmmac_priv *priv = data; ++ struct sunxi_priv_data *gmac = priv->plat->bsp_priv; ++ u32 reg, val; ++ int ret = 0; ++ bool need_power_ephy = false; ++ ++ if (current_child ^ desired_child) { ++ regmap_read(gmac->regmap, SYSCON_EMAC_REG, ®); ++ switch (desired_child) { ++ case DWMAC_SUN8I_MDIO_MUX_INTERNAL_ID: ++ dev_info(priv->device, "Switch mux to internal PHY"); ++ val = (reg & ~H3_EPHY_MUX_MASK) | H3_EPHY_SELECT; ++ ++ need_power_ephy = true; ++ break; ++ case DWMAC_SUN8I_MDIO_MUX_EXTERNAL_ID: ++ dev_info(priv->device, "Switch mux to external PHY"); ++ val = (reg & ~H3_EPHY_MUX_MASK) | H3_EPHY_SHUTDOWN; ++ need_power_ephy = false; ++ break; ++ default: ++ dev_err(priv->device, "Invalid child ID %x\n", ++ desired_child); ++ return -EINVAL; ++ } ++ regmap_write(gmac->regmap, SYSCON_EMAC_REG, val); ++ if (need_power_ephy) { ++ ret = sun8i_dwmac_power_internal_phy(priv); ++ if (ret) ++ return ret; ++ } else { ++ sun8i_dwmac_unpower_internal_phy(gmac); ++ } ++ /* After changing syscon value, the MAC need reset or it will ++ * use the last value (and so the last PHY set). ++ */ ++ ret = sun8i_dwmac_reset(priv); ++ } ++ return ret; ++} ++ ++static int sun8i_dwmac_register_mdio_mux(struct stmmac_priv *priv) ++{ ++ int ret; ++ struct device_node *mdio_mux; ++ struct sunxi_priv_data *gmac = priv->plat->bsp_priv; ++ ++ mdio_mux = of_get_child_by_name(priv->device->of_node, "mdio-mux"); ++ if (!mdio_mux) ++ return -ENODEV; ++ ++ ret = mdio_mux_init(priv->device, mdio_mux, mdio_mux_syscon_switch_fn, ++ &gmac->mux_handle, priv, priv->mii); ++ return ret; ++} ++ + static int sun8i_dwmac_set_syscon(struct stmmac_priv *priv) + { + struct sunxi_priv_data *gmac = priv->plat->bsp_priv; +@@ -648,35 +807,25 @@ static int sun8i_dwmac_set_syscon(struct stmmac_priv *priv) + "Current syscon value is not the default %x (expect %x)\n", + val, reg); + +- if (gmac->variant->internal_phy) { +- if (!gmac->use_internal_phy) { +- /* switch to external PHY interface */ +- reg &= ~H3_EPHY_SELECT; +- } else { +- reg |= H3_EPHY_SELECT; +- reg &= ~H3_EPHY_SHUTDOWN; +- dev_dbg(priv->device, "Select internal_phy %x\n", reg); +- +- if (of_property_read_bool(priv->plat->phy_node, +- "allwinner,leds-active-low")) +- reg |= H3_EPHY_LED_POL; +- else +- reg &= ~H3_EPHY_LED_POL; +- +- /* Force EPHY xtal frequency to 24MHz. */ +- reg |= H3_EPHY_CLK_SEL; +- +- ret = of_mdio_parse_addr(priv->device, +- priv->plat->phy_node); +- if (ret < 0) { +- dev_err(priv->device, "Could not parse MDIO addr\n"); +- return ret; +- } +- /* of_mdio_parse_addr returns a valid (0 ~ 31) PHY +- * address. No need to mask it again. +- */ +- reg |= ret << H3_EPHY_ADDR_SHIFT; ++ if (gmac->variant->soc_has_internal_phy) { ++ if (of_property_read_bool(priv->plat->phy_node, ++ "allwinner,leds-active-low")) ++ reg |= H3_EPHY_LED_POL; ++ else ++ reg &= ~H3_EPHY_LED_POL; ++ ++ /* Force EPHY xtal frequency to 24MHz. */ ++ reg |= H3_EPHY_CLK_SEL; ++ ++ ret = of_mdio_parse_addr(priv->device, priv->plat->phy_node); ++ if (ret < 0) { ++ dev_err(priv->device, "Could not parse MDIO addr\n"); ++ return ret; + } ++ /* of_mdio_parse_addr returns a valid (0 ~ 31) PHY ++ * address. No need to mask it again. ++ */ ++ reg |= 1 << H3_EPHY_ADDR_SHIFT; + } + + if (!of_property_read_u32(node, "allwinner,tx-delay-ps", &val)) { +@@ -746,81 +895,21 @@ static void sun8i_dwmac_unset_syscon(struct sunxi_priv_data *gmac) + regmap_write(gmac->regmap, SYSCON_EMAC_REG, reg); + } + +-static int sun8i_dwmac_power_internal_phy(struct stmmac_priv *priv) ++static void sun8i_dwmac_exit(struct platform_device *pdev, void *priv) + { +- struct sunxi_priv_data *gmac = priv->plat->bsp_priv; +- int ret; +- +- if (!gmac->use_internal_phy) +- return 0; +- +- ret = clk_prepare_enable(gmac->ephy_clk); +- if (ret) { +- dev_err(priv->device, "Cannot enable ephy\n"); +- return ret; +- } +- +- /* Make sure the EPHY is properly reseted, as U-Boot may leave +- * it at deasserted state, and thus it may fail to reset EMAC. +- */ +- reset_control_assert(gmac->rst_ephy); ++ struct sunxi_priv_data *gmac = priv; + +- ret = reset_control_deassert(gmac->rst_ephy); +- if (ret) { +- dev_err(priv->device, "Cannot deassert ephy\n"); +- clk_disable_unprepare(gmac->ephy_clk); +- return ret; ++ if (gmac->variant->soc_has_internal_phy) { ++ /* sun8i_dwmac_exit could be called with mdiomux uninit */ ++ if (gmac->mux_handle) ++ mdio_mux_uninit(gmac->mux_handle); ++ if (gmac->internal_phy_powered) ++ sun8i_dwmac_unpower_internal_phy(gmac); + } + +- return 0; +-} +- +-static int sun8i_dwmac_unpower_internal_phy(struct sunxi_priv_data *gmac) +-{ +- if (!gmac->use_internal_phy) +- return 0; +- +- clk_disable_unprepare(gmac->ephy_clk); +- reset_control_assert(gmac->rst_ephy); +- return 0; +-} +- +-/* sun8i_power_phy() - Activate the PHY: +- * In case of error, no need to call sun8i_unpower_phy(), +- * it will be called anyway by sun8i_dwmac_exit() +- */ +-static int sun8i_power_phy(struct stmmac_priv *priv) +-{ +- int ret; +- +- ret = sun8i_dwmac_power_internal_phy(priv); +- if (ret) +- return ret; +- +- ret = sun8i_dwmac_set_syscon(priv); +- if (ret) +- return ret; +- +- /* After changing syscon value, the MAC need reset or it will use +- * the last value (and so the last PHY set. +- */ +- ret = sun8i_dwmac_reset(priv); +- if (ret) +- return ret; +- return 0; +-} +- +-static void sun8i_unpower_phy(struct sunxi_priv_data *gmac) +-{ + sun8i_dwmac_unset_syscon(gmac); +- sun8i_dwmac_unpower_internal_phy(gmac); +-} +- +-static void sun8i_dwmac_exit(struct platform_device *pdev, void *priv) +-{ +- struct sunxi_priv_data *gmac = priv; + +- sun8i_unpower_phy(gmac); ++ reset_control_put(gmac->rst_ephy); + + clk_disable_unprepare(gmac->tx_clk); + +@@ -849,7 +938,7 @@ static struct mac_device_info *sun8i_dwmac_setup(void *ppriv) + if (!mac) + return NULL; + +- ret = sun8i_power_phy(priv); ++ ret = sun8i_dwmac_set_syscon(priv); + if (ret) + return NULL; + +@@ -889,6 +978,8 @@ static int sun8i_dwmac_probe(struct platform_device *pdev) + struct sunxi_priv_data *gmac; + struct device *dev = &pdev->dev; + int ret; ++ struct stmmac_priv *priv; ++ struct net_device *ndev; + + ret = stmmac_get_platform_resources(pdev, &stmmac_res); + if (ret) +@@ -932,29 +1023,6 @@ static int sun8i_dwmac_probe(struct platform_device *pdev) + } + + plat_dat->interface = of_get_phy_mode(dev->of_node); +- if (plat_dat->interface == gmac->variant->internal_phy) { +- dev_info(&pdev->dev, "Will use internal PHY\n"); +- gmac->use_internal_phy = true; +- gmac->ephy_clk = of_clk_get(plat_dat->phy_node, 0); +- if (IS_ERR(gmac->ephy_clk)) { +- ret = PTR_ERR(gmac->ephy_clk); +- dev_err(&pdev->dev, "Cannot get EPHY clock: %d\n", ret); +- return -EINVAL; +- } +- +- gmac->rst_ephy = of_reset_control_get(plat_dat->phy_node, NULL); +- if (IS_ERR(gmac->rst_ephy)) { +- ret = PTR_ERR(gmac->rst_ephy); +- if (ret == -EPROBE_DEFER) +- return ret; +- dev_err(&pdev->dev, "No EPHY reset control found %d\n", +- ret); +- return -EINVAL; +- } +- } else { +- dev_info(&pdev->dev, "Will use external PHY\n"); +- gmac->use_internal_phy = false; +- } + + /* platform data specifying hardware features and callbacks. + * hardware features were copied from Allwinner drivers. +@@ -973,9 +1041,34 @@ static int sun8i_dwmac_probe(struct platform_device *pdev) + + ret = stmmac_dvr_probe(&pdev->dev, plat_dat, &stmmac_res); + if (ret) +- sun8i_dwmac_exit(pdev, plat_dat->bsp_priv); ++ goto dwmac_exit; ++ ++ ndev = dev_get_drvdata(&pdev->dev); ++ priv = netdev_priv(ndev); ++ /* The mux must be registered after parent MDIO ++ * so after stmmac_dvr_probe() ++ */ ++ if (gmac->variant->soc_has_internal_phy) { ++ ret = get_ephy_nodes(priv); ++ if (ret) ++ goto dwmac_exit; ++ ret = sun8i_dwmac_register_mdio_mux(priv); ++ if (ret) { ++ dev_err(&pdev->dev, "Failed to register mux\n"); ++ goto dwmac_mux; ++ } ++ } else { ++ ret = sun8i_dwmac_reset(priv); ++ if (ret) ++ goto dwmac_exit; ++ } + + return ret; ++dwmac_mux: ++ sun8i_dwmac_unset_syscon(gmac); ++dwmac_exit: ++ sun8i_dwmac_exit(pdev, plat_dat->bsp_priv); ++return ret; + } + + static const struct of_device_id sun8i_dwmac_match[] = { +-- +2.14.3 + +From f58f11ebb67468471ed8f232c576f348dd1a32b1 Mon Sep 17 00:00:00 2001 +From: Corentin LABBE <clabbe.montjoie@gmail.com> +Date: Tue, 24 Oct 2017 19:57:14 +0200 +Subject: [PATCH 03/11] net: stmmac: sun8i: Restore the compatibles -This reverts commit ad4540cc5aa3dccb8e1e12458d57f8c40fae5a1c. +The original dwmac-sun8i DT bindings have some issue on how to handle +integrated PHY and was reverted in last RC of 4.13. +But now we have a solution so we need to get back that was reverted. + +This patch restore compatibles about dwmac-sun8i +This reverts commit ad4540cc5aa3 ("net: stmmac: sun8i: Remove the compatibles") + +Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com> --- drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c -index 39c2122a4f26..fffd6d5fc907 100644 +index b3eb344bb158..e5ff734d4f9b 100644 --- a/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c -@@ -979,6 +979,14 @@ static int sun8i_dwmac_probe(struct platform_device *pdev) +@@ -1072,6 +1072,14 @@ return ret; } static const struct of_device_id sun8i_dwmac_match[] = { @@ -28,26 +585,483 @@ index 39c2122a4f26..fffd6d5fc907 100644 }; MODULE_DEVICE_TABLE(of, sun8i_dwmac_match); -- -2.13.5 +2.14.3 + +From 54678636d98cd9625f342c831015e302642bf104 Mon Sep 17 00:00:00 2001 +From: Corentin LABBE <clabbe.montjoie@gmail.com> +Date: Tue, 31 Oct 2017 09:19:08 +0100 +Subject: [PATCH 04/11] dt-bindings: net: Restore sun8i dwmac binding + +The original dwmac-sun8i DT bindings have some issue on how to handle +integrated PHY and was reverted in last RC of 4.13. +But now we have a solution so we need to get back that was reverted. + +This patch restore dt-bindings documentation about dwmac-sun8i +This reverts commit 8aa33ec2f481 ("dt-bindings: net: Revert sun8i dwmac binding") + +Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com> +Acked-by: Rob Herring <robh@kernel.org> +Acked-by: Florian Fainelli <f.fainelli@gmail.com> +--- + .../devicetree/bindings/net/dwmac-sun8i.txt | 84 ++++++++++++++++++++++ + 1 file changed, 84 insertions(+) + create mode 100644 Documentation/devicetree/bindings/net/dwmac-sun8i.txt + +diff --git a/Documentation/devicetree/bindings/net/dwmac-sun8i.txt b/Documentation/devicetree/bindings/net/dwmac-sun8i.txt +new file mode 100644 +index 000000000000..725f3b187886 +--- /dev/null ++++ b/Documentation/devicetree/bindings/net/dwmac-sun8i.txt +@@ -0,0 +1,84 @@ ++* Allwinner sun8i GMAC ethernet controller ++ ++This device is a platform glue layer for stmmac. ++Please see stmmac.txt for the other unchanged properties. ++ ++Required properties: ++- compatible: should be one of the following string: ++ "allwinner,sun8i-a83t-emac" ++ "allwinner,sun8i-h3-emac" ++ "allwinner,sun8i-v3s-emac" ++ "allwinner,sun50i-a64-emac" ++- reg: address and length of the register for the device. ++- interrupts: interrupt for the device ++- interrupt-names: should be "macirq" ++- clocks: A phandle to the reference clock for this device ++- clock-names: should be "stmmaceth" ++- resets: A phandle to the reset control for this device ++- reset-names: should be "stmmaceth" ++- phy-mode: See ethernet.txt ++- phy-handle: See ethernet.txt ++- #address-cells: shall be 1 ++- #size-cells: shall be 0 ++- syscon: A phandle to the syscon of the SoC with one of the following ++ compatible string: ++ - allwinner,sun8i-h3-system-controller ++ - allwinner,sun8i-v3s-system-controller ++ - allwinner,sun50i-a64-system-controller ++ - allwinner,sun8i-a83t-system-controller ++ ++Optional properties: ++- allwinner,tx-delay-ps: TX clock delay chain value in ps. Range value is 0-700. Default is 0) ++- allwinner,rx-delay-ps: RX clock delay chain value in ps. Range value is 0-3100. Default is 0) ++Both delay properties need to be a multiple of 100. They control the delay for ++external PHY. ++ ++Optional properties for the following compatibles: ++ - "allwinner,sun8i-h3-emac", ++ - "allwinner,sun8i-v3s-emac": ++- allwinner,leds-active-low: EPHY LEDs are active low ++ ++Required child node of emac: ++- mdio bus node: should be named mdio ++ ++Required properties of the mdio node: ++- #address-cells: shall be 1 ++- #size-cells: shall be 0 ++ ++The device node referenced by "phy" or "phy-handle" should be a child node ++of the mdio node. See phy.txt for the generic PHY bindings. ++ ++Required properties of the phy node with the following compatibles: ++ - "allwinner,sun8i-h3-emac", ++ - "allwinner,sun8i-v3s-emac": ++- clocks: a phandle to the reference clock for the EPHY ++- resets: a phandle to the reset control for the EPHY ++ ++Example: ++ ++emac: ethernet@1c0b000 { ++ compatible = "allwinner,sun8i-h3-emac"; ++ syscon = <&syscon>; ++ reg = <0x01c0b000 0x104>; ++ interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>; ++ interrupt-names = "macirq"; ++ resets = <&ccu RST_BUS_EMAC>; ++ reset-names = "stmmaceth"; ++ clocks = <&ccu CLK_BUS_EMAC>; ++ clock-names = "stmmaceth"; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ phy-handle = <&int_mii_phy>; ++ phy-mode = "mii"; ++ allwinner,leds-active-low; ++ mdio: mdio { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ int_mii_phy: ethernet-phy@1 { ++ reg = <1>; ++ clocks = <&ccu CLK_BUS_EPHY>; ++ resets = <&ccu RST_BUS_EPHY>; ++ }; ++ }; ++}; +-- +2.14.3 + +From 227bc8c6bfad58c32c7a6c3bbc13d99eb6d266c0 Mon Sep 17 00:00:00 2001 +From: Corentin LABBE <clabbe.montjoie@gmail.com> +Date: Tue, 31 Oct 2017 09:19:09 +0100 +Subject: [PATCH 05/11] dt-bindings: net: dwmac-sun8i: update documentation + about integrated PHY -From fa4788d88903c1e535d034c3dd3fcd386685a02c Mon Sep 17 00:00:00 2001 +This patch add documentation about the MDIO switch used on sun8i-h3-emac +for integrated PHY. + +Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com> +Acked-by: Florian Fainelli <f.fainelli@gmail.com> +Reviewed-by: Andrew Lunn <andrew@lunn.ch> +--- + .../devicetree/bindings/net/dwmac-sun8i.txt | 147 +++++++++++++++++++-- + 1 file changed, 135 insertions(+), 12 deletions(-) + +diff --git a/Documentation/devicetree/bindings/net/dwmac-sun8i.txt b/Documentation/devicetree/bindings/net/dwmac-sun8i.txt +index 725f3b187886..3d6d5fa0c4d5 100644 +--- a/Documentation/devicetree/bindings/net/dwmac-sun8i.txt ++++ b/Documentation/devicetree/bindings/net/dwmac-sun8i.txt +@@ -4,18 +4,18 @@ This device is a platform glue layer for stmmac. + Please see stmmac.txt for the other unchanged properties. + + Required properties: +-- compatible: should be one of the following string: ++- compatible: must be one of the following string: + "allwinner,sun8i-a83t-emac" + "allwinner,sun8i-h3-emac" + "allwinner,sun8i-v3s-emac" + "allwinner,sun50i-a64-emac" + - reg: address and length of the register for the device. + - interrupts: interrupt for the device +-- interrupt-names: should be "macirq" ++- interrupt-names: must be "macirq" + - clocks: A phandle to the reference clock for this device +-- clock-names: should be "stmmaceth" ++- clock-names: must be "stmmaceth" + - resets: A phandle to the reset control for this device +-- reset-names: should be "stmmaceth" ++- reset-names: must be "stmmaceth" + - phy-mode: See ethernet.txt + - phy-handle: See ethernet.txt + - #address-cells: shall be 1 +@@ -39,23 +39,42 @@ Optional properties for the following compatibles: + - allwinner,leds-active-low: EPHY LEDs are active low + + Required child node of emac: +-- mdio bus node: should be named mdio ++- mdio bus node: should be named mdio with compatible "snps,dwmac-mdio" + + Required properties of the mdio node: + - #address-cells: shall be 1 + - #size-cells: shall be 0 + +-The device node referenced by "phy" or "phy-handle" should be a child node ++The device node referenced by "phy" or "phy-handle" must be a child node + of the mdio node. See phy.txt for the generic PHY bindings. + +-Required properties of the phy node with the following compatibles: ++The following compatibles require that the emac node have a mdio-mux child ++node called "mdio-mux": ++ - "allwinner,sun8i-h3-emac" ++ - "allwinner,sun8i-v3s-emac": ++Required properties for the mdio-mux node: ++ - compatible = "allwinner,sun8i-h3-mdio-mux" ++ - mdio-parent-bus: a phandle to EMAC mdio ++ - one child mdio for the integrated mdio with the compatible ++ "allwinner,sun8i-h3-mdio-internal" ++ - one child mdio for the external mdio if present (V3s have none) ++Required properties for the mdio-mux children node: ++ - reg: 1 for internal MDIO bus, 2 for external MDIO bus ++ ++The following compatibles require a PHY node representing the integrated ++PHY, under the integrated MDIO bus node if an mdio-mux node is used: + - "allwinner,sun8i-h3-emac", + - "allwinner,sun8i-v3s-emac": ++ ++Additional information regarding generic multiplexer properties can be found ++at Documentation/devicetree/bindings/net/mdio-mux.txt ++ ++Required properties of the integrated phy node: + - clocks: a phandle to the reference clock for the EPHY + - resets: a phandle to the reset control for the EPHY ++- Must be a child of the integrated mdio + +-Example: +- ++Example with integrated PHY: + emac: ethernet@1c0b000 { + compatible = "allwinner,sun8i-h3-emac"; + syscon = <&syscon>; +@@ -72,13 +91,117 @@ emac: ethernet@1c0b000 { + phy-handle = <&int_mii_phy>; + phy-mode = "mii"; + allwinner,leds-active-low; ++ ++ mdio: mdio { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ compatible = "snps,dwmac-mdio"; ++ }; ++ ++ mdio-mux { ++ compatible = "mdio-mux", "allwinner,sun8i-h3-mdio-mux"; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ mdio-parent-bus = <&mdio>; ++ ++ int_mdio: mdio@1 { ++ compatible = "allwinner,sun8i-h3-mdio-internal"; ++ reg = <1>; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ int_mii_phy: ethernet-phy@1 { ++ reg = <1>; ++ clocks = <&ccu CLK_BUS_EPHY>; ++ resets = <&ccu RST_BUS_EPHY>; ++ phy-is-integrated; ++ }; ++ }; ++ ext_mdio: mdio@2 { ++ reg = <2>; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ }; ++ }; ++}; ++ ++Example with external PHY: ++emac: ethernet@1c0b000 { ++ compatible = "allwinner,sun8i-h3-emac"; ++ syscon = <&syscon>; ++ reg = <0x01c0b000 0x104>; ++ interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>; ++ interrupt-names = "macirq"; ++ resets = <&ccu RST_BUS_EMAC>; ++ reset-names = "stmmaceth"; ++ clocks = <&ccu CLK_BUS_EMAC>; ++ clock-names = "stmmaceth"; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ phy-handle = <&ext_rgmii_phy>; ++ phy-mode = "rgmii"; ++ allwinner,leds-active-low; ++ ++ mdio: mdio { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ compatible = "snps,dwmac-mdio"; ++ }; ++ ++ mdio-mux { ++ compatible = "allwinner,sun8i-h3-mdio-mux"; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ mdio-parent-bus = <&mdio>; ++ ++ int_mdio: mdio@1 { ++ compatible = "allwinner,sun8i-h3-mdio-internal"; ++ reg = <1>; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ int_mii_phy: ethernet-phy@1 { ++ reg = <1>; ++ clocks = <&ccu CLK_BUS_EPHY>; ++ resets = <&ccu RST_BUS_EPHY>; ++ }; ++ }; ++ ext_mdio: mdio@2 { ++ reg = <2>; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ext_rgmii_phy: ethernet-phy@1 { ++ reg = <1>; ++ }; ++ }: ++ }; ++}; ++ ++Example with SoC without integrated PHY ++ ++emac: ethernet@1c0b000 { ++ compatible = "allwinner,sun8i-a83t-emac"; ++ syscon = <&syscon>; ++ reg = <0x01c0b000 0x104>; ++ interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>; ++ interrupt-names = "macirq"; ++ resets = <&ccu RST_BUS_EMAC>; ++ reset-names = "stmmaceth"; ++ clocks = <&ccu CLK_BUS_EMAC>; ++ clock-names = "stmmaceth"; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ phy-handle = <&ext_rgmii_phy>; ++ phy-mode = "rgmii"; ++ + mdio: mdio { ++ compatible = "snps,dwmac-mdio"; + #address-cells = <1>; + #size-cells = <0>; +- int_mii_phy: ethernet-phy@1 { ++ ext_rgmii_phy: ethernet-phy@1 { + reg = <1>; +- clocks = <&ccu CLK_BUS_EPHY>; +- resets = <&ccu RST_BUS_EPHY>; + }; + }; + }; +-- +2.14.3 + +From 1de79efa35a1130c7a085f62b9d9b666d79b9a89 Mon Sep 17 00:00:00 2001 From: Peter Robinson <pbrobinson@gmail.com> -Date: Mon, 4 Sep 2017 13:04:41 +0100 -Subject: [PATCH 2/4] Revert "arm: dts: sunxi: Revert EMAC changes" +Date: Wed, 1 Nov 2017 14:04:20 +0000 +Subject: [PATCH 06/11] arm: dts: sunxi: h3/h5: Restore EMAC changes + +The original dwmac-sun8i DT bindings have some issue on how to handle +integrated PHY and was reverted in last RC of 4.13. +But now we have a solution so we need to get back that was reverted. -This reverts commit fe45174b72aead678da581bab9e9a37c9b26a070. +This patch restore sunxi-h3-h5.dtsi +This reverts partially commit fe45174b72ae ("arm: dts: sunxi: Revert EMAC changes") + +Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com> +Acked-by: Florian Fainelli <f.fainelli@gmail.com> --- - arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts | 9 ++++++++ - arch/arm/boot/dts/sun8i-h3-bananapi-m2-plus.dts | 19 +++++++++++++++++ - arch/arm/boot/dts/sun8i-h3-nanopi-neo.dts | 7 ++++++ - arch/arm/boot/dts/sun8i-h3-orangepi-2.dts | 8 +++++++ - arch/arm/boot/dts/sun8i-h3-orangepi-one.dts | 8 +++++++ + arch/arm/boot/dts/sunxi-h3-h5.dtsi | 26 ++++++++++++++++++++++++++ + 1 file changed, 26 insertions(+) + +diff --git a/arch/arm/boot/dts/sunxi-h3-h5.dtsi b/arch/arm/boot/dts/sunxi-h3-h5.dtsi +index 11240a8313c2..d38282b9e5d4 100644 +--- a/arch/arm/boot/dts/sunxi-h3-h5.dtsi ++++ b/arch/arm/boot/dts/sunxi-h3-h5.dtsi +@@ -391,6 +391,32 @@ + clocks = <&osc24M>; + }; + ++ emac: ethernet@1c30000 { ++ compatible = "allwinner,sun8i-h3-emac"; ++ syscon = <&syscon>; ++ reg = <0x01c30000 0x10000>; ++ interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>; ++ interrupt-names = "macirq"; ++ resets = <&ccu RST_BUS_EMAC>; ++ reset-names = "stmmaceth"; ++ clocks = <&ccu CLK_BUS_EMAC>; ++ clock-names = "stmmaceth"; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ status = "disabled"; ++ ++ mdio: mdio { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ int_mii_phy: ethernet-phy@1 { ++ compatible = "ethernet-phy-ieee802.3-c22"; ++ reg = <1>; ++ clocks = <&ccu CLK_BUS_EPHY>; ++ resets = <&ccu RST_BUS_EPHY>; ++ }; ++ }; ++ }; ++ + spi0: spi@01c68000 { + compatible = "allwinner,sun8i-h3-spi"; + reg = <0x01c68000 0x1000>; +-- +2.14.3 + +From 65233cba93184e0efa8d94f907d65af947d197a1 Mon Sep 17 00:00:00 2001 +From: Corentin LABBE <clabbe.montjoie@gmail.com> +Date: Tue, 31 Oct 2017 09:19:11 +0100 +Subject: [PATCH 07/11] ARM: dts: sunxi: h3/h5: represent the mdio switch used + by sun8i-h3-emac + +Since dwmac-sun8i could use either an integrated PHY or an external PHY +(which could be at same MDIO address), we need to represent this selection +by a MDIO switch. + +Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com> +Acked-by: Florian Fainelli <f.fainelli@gmail.com> +Reviewed-by: Andrew Lunn <andrew@lunn.ch> +--- + arch/arm/boot/dts/sunxi-h3-h5.dtsi | 31 +++++++++++++++++++++++++++---- + 1 file changed, 27 insertions(+), 4 deletions(-) + +diff --git a/arch/arm/boot/dts/sunxi-h3-h5.dtsi b/arch/arm/boot/dts/sunxi-h3-h5.dtsi +index d38282b9e5d4..2721b39c1875 100644 +--- a/arch/arm/boot/dts/sunxi-h3-h5.dtsi ++++ b/arch/arm/boot/dts/sunxi-h3-h5.dtsi +@@ -408,11 +408,34 @@ + mdio: mdio { + #address-cells = <1>; + #size-cells = <0>; +- int_mii_phy: ethernet-phy@1 { +- compatible = "ethernet-phy-ieee802.3-c22"; ++ compatible = "snps,dwmac-mdio"; ++ }; ++ ++ mdio-mux { ++ compatible = "allwinner,sun8i-h3-mdio-mux"; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ mdio-parent-bus = <&mdio>; ++ /* Only one MDIO is usable at the time */ ++ internal_mdio: mdio@1 { ++ compatible = "allwinner,sun8i-h3-mdio-internal"; + reg = <1>; +- clocks = <&ccu CLK_BUS_EPHY>; +- resets = <&ccu RST_BUS_EPHY>; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ int_mii_phy: ethernet-phy@1 { ++ compatible = "ethernet-phy-ieee802.3-c22"; ++ reg = <1>; ++ clocks = <&ccu CLK_BUS_EPHY>; ++ resets = <&ccu RST_BUS_EPHY>; ++ }; ++ }; ++ ++ external_mdio: mdio@2 { ++ reg = <2>; ++ #address-cells = <1>; ++ #size-cells = <0>; + }; + }; + }; +-- +2.14.3 + +From b705315d36dbe1b31062f30c987b3a502b437c85 Mon Sep 17 00:00:00 2001 +From: Peter Robinson <pbrobinson@gmail.com> +Date: Wed, 1 Nov 2017 14:08:45 +0000 +Subject: [PATCH 08/11] ARM: dts: sunxi: Restore EMAC changes (boards) + +The original dwmac-sun8i DT bindings have some issue on how to handle +integrated PHY and was reverted in last RC of 4.13. +But now we have a solution so we need to get back that was reverted. + +This patch restore all boards DT about dwmac-sun8i +This reverts partially commit fe45174b72ae ("arm: dts: sunxi: Revert EMAC changes") + +Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com> +Acked-by: Florian Fainelli <f.fainelli@gmail.com> +--- + arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts | 9 +++++++++ + arch/arm/boot/dts/sun8i-h3-bananapi-m2-plus.dts | 19 +++++++++++++++++++ + arch/arm/boot/dts/sun8i-h3-nanopi-m1-plus.dts | 19 +++++++++++++++++++ + arch/arm/boot/dts/sun8i-h3-nanopi-neo.dts | 7 +++++++ + arch/arm/boot/dts/sun8i-h3-orangepi-2.dts | 8 ++++++++ + arch/arm/boot/dts/sun8i-h3-orangepi-one.dts | 8 ++++++++ arch/arm/boot/dts/sun8i-h3-orangepi-pc-plus.dts | 5 +++++ - arch/arm/boot/dts/sun8i-h3-orangepi-pc.dts | 8 +++++++ - arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts | 22 +++++++++++++++++++ - arch/arm/boot/dts/sun8i-h3-orangepi-plus2e.dts | 16 ++++++++++++++ - arch/arm/boot/dts/sunxi-h3-h5.dtsi | 26 +++++++++++++++++++++++ - 10 files changed, 128 insertions(+) + arch/arm/boot/dts/sun8i-h3-orangepi-pc.dts | 8 ++++++++ + arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts | 22 ++++++++++++++++++++++ + arch/arm/boot/dts/sun8i-h3-orangepi-plus2e.dts | 16 ++++++++++++++++ + 10 files changed, 121 insertions(+) diff --git a/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts b/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts index b1502df7b509..6713d0f2b3f4 100644 @@ -77,7 +1091,7 @@ index b1502df7b509..6713d0f2b3f4 100644 pinctrl-names = "default"; pinctrl-0 = <&mmc0_pins_a>; diff --git a/arch/arm/boot/dts/sun8i-h3-bananapi-m2-plus.dts b/arch/arm/boot/dts/sun8i-h3-bananapi-m2-plus.dts -index a337af1de322..d756ff825116 100644 +index a337af1de322..3f95d806355b 100644 --- a/arch/arm/boot/dts/sun8i-h3-bananapi-m2-plus.dts +++ b/arch/arm/boot/dts/sun8i-h3-bananapi-m2-plus.dts @@ -52,6 +52,7 @@ @@ -88,7 +1102,7 @@ index a337af1de322..d756ff825116 100644 serial0 = &uart0; serial1 = &uart1; }; -@@ -114,12 +115,30 @@ +@@ -114,6 +115,24 @@ status = "okay"; }; @@ -103,22 +1117,43 @@ index a337af1de322..d756ff825116 100644 + status = "okay"; +}; + ++&external_mdio { ++ ext_rgmii_phy: ethernet-phy@1 { ++ compatible = "ethernet-phy-ieee802.3-c22"; ++ reg = <0>; ++ }; ++}; ++ &ir { pinctrl-names = "default"; pinctrl-0 = <&ir_pins_a>; +diff --git a/arch/arm/boot/dts/sun8i-h3-nanopi-m1-plus.dts b/arch/arm/boot/dts/sun8i-h3-nanopi-m1-plus.dts +index 8ddd1b2cc097..ef0371811296 100644 +--- a/arch/arm/boot/dts/sun8i-h3-nanopi-m1-plus.dts ++++ b/arch/arm/boot/dts/sun8i-h3-nanopi-m1-plus.dts +@@ -62,3 +62,22 @@ + &ohci2 { status = "okay"; }; - -+&mdio { ++ ++&emac { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&emac_rgmii_pins>; ++ phy-supply = <®_gmac_3v3>; ++ phy-handle = <&ext_rgmii_phy>; ++ phy-mode = "rgmii"; ++ ++ allwinner,leds-active-low; ++ ++ status = "okay"; ++}; ++ ++&external_mdio { + ext_rgmii_phy: ethernet-phy@1 { + compatible = "ethernet-phy-ieee802.3-c22"; -+ reg = <0>; ++ reg = <7>; + }; +}; -+ - &mmc0 { - pinctrl-names = "default"; - pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin>; diff --git a/arch/arm/boot/dts/sun8i-h3-nanopi-neo.dts b/arch/arm/boot/dts/sun8i-h3-nanopi-neo.dts index 8d2cc6e9a03f..78f6c24952dd 100644 --- a/arch/arm/boot/dts/sun8i-h3-nanopi-neo.dts @@ -229,7 +1264,7 @@ index 1a044b17d6c6..998b60f8d295 100644 pinctrl-names = "default"; pinctrl-0 = <&ir_pins_a>; diff --git a/arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts b/arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts -index 828ae7a526d9..331ed683ac62 100644 +index 828ae7a526d9..3002c025e187 100644 --- a/arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts +++ b/arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts @@ -47,6 +47,10 @@ @@ -258,7 +1293,7 @@ index 828ae7a526d9..331ed683ac62 100644 + status = "okay"; +}; + -+&mdio { ++&external_mdio { + ext_rgmii_phy: ethernet-phy@1 { + compatible = "ethernet-phy-ieee802.3-c22"; + reg = <0>; @@ -269,7 +1304,7 @@ index 828ae7a526d9..331ed683ac62 100644 pinctrl-names = "default"; pinctrl-0 = <&mmc2_8bit_pins>; diff --git a/arch/arm/boot/dts/sun8i-h3-orangepi-plus2e.dts b/arch/arm/boot/dts/sun8i-h3-orangepi-plus2e.dts -index 97920b12a944..80026f3caafc 100644 +index 97920b12a944..6dbf7b2e0c13 100644 --- a/arch/arm/boot/dts/sun8i-h3-orangepi-plus2e.dts +++ b/arch/arm/boot/dts/sun8i-h3-orangepi-plus2e.dts @@ -61,3 +61,19 @@ @@ -286,71 +1321,39 @@ index 97920b12a944..80026f3caafc 100644 + status = "okay"; +}; + -+&mdio { ++&external_mdio { + ext_rgmii_phy: ethernet-phy@1 { + compatible = "ethernet-phy-ieee802.3-c22"; + reg = <1>; + }; +}; -diff --git a/arch/arm/boot/dts/sunxi-h3-h5.dtsi b/arch/arm/boot/dts/sunxi-h3-h5.dtsi -index 11240a8313c2..d38282b9e5d4 100644 ---- a/arch/arm/boot/dts/sunxi-h3-h5.dtsi -+++ b/arch/arm/boot/dts/sunxi-h3-h5.dtsi -@@ -391,6 +391,32 @@ - clocks = <&osc24M>; - }; - -+ emac: ethernet@1c30000 { -+ compatible = "allwinner,sun8i-h3-emac"; -+ syscon = <&syscon>; -+ reg = <0x01c30000 0x10000>; -+ interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>; -+ interrupt-names = "macirq"; -+ resets = <&ccu RST_BUS_EMAC>; -+ reset-names = "stmmaceth"; -+ clocks = <&ccu CLK_BUS_EMAC>; -+ clock-names = "stmmaceth"; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ status = "disabled"; -+ -+ mdio: mdio { -+ #address-cells = <1>; -+ #size-cells = <0>; -+ int_mii_phy: ethernet-phy@1 { -+ compatible = "ethernet-phy-ieee802.3-c22"; -+ reg = <1>; -+ clocks = <&ccu CLK_BUS_EPHY>; -+ resets = <&ccu RST_BUS_EPHY>; -+ }; -+ }; -+ }; -+ - spi0: spi@01c68000 { - compatible = "allwinner,sun8i-h3-spi"; - reg = <0x01c68000 0x1000>; -- -2.13.5 +2.14.3 -From 4aba5ca95496899165ee7ceef5d9c60a6e7b15dd Mon Sep 17 00:00:00 2001 -From: Peter Robinson <pbrobinson@gmail.com> -Date: Mon, 4 Sep 2017 13:04:47 +0100 -Subject: [PATCH 3/4] Revert "arm64: dts: allwinner: Revert EMAC changes" +From 516b88bfa40cf54732d2ba5e689fdf592a742ec3 Mon Sep 17 00:00:00 2001 +From: Corentin LABBE <clabbe.montjoie@gmail.com> +Date: Tue, 31 Oct 2017 09:19:13 +0100 +Subject: [PATCH 09/11] arm64: dts: allwinner: A64: Restore EMAC changes + +The original dwmac-sun8i DT bindings have some issue on how to handle +integrated PHY and was reverted in last RC of 4.13. +But now we have a solution so we need to get back that was reverted. -This reverts commit 87e1f5e8bb4bd584de0a8f3b1e42196dca221d02. +This patch restore arm64 DT about dwmac-sun8i for A64 +This reverts commit 87e1f5e8bb4b ("arm64: dts: allwinner: Revert EMAC changes") + +Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com> +Acked-by: Florian Fainelli <f.fainelli@gmail.com> --- .../boot/dts/allwinner/sun50i-a64-bananapi-m64.dts | 16 ++++++++++++++++ .../boot/dts/allwinner/sun50i-a64-pine64-plus.dts | 15 +++++++++++++++ arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts | 17 +++++++++++++++++ .../dts/allwinner/sun50i-a64-sopine-baseboard.dts | 16 ++++++++++++++++ arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi | 20 ++++++++++++++++++++ - .../boot/dts/allwinner/sun50i-h5-nanopi-neo2.dts | 17 +++++++++++++++++ - .../boot/dts/allwinner/sun50i-h5-orangepi-pc2.dts | 17 +++++++++++++++++ - .../boot/dts/allwinner/sun50i-h5-orangepi-prime.dts | 17 +++++++++++++++++ - 8 files changed, 135 insertions(+) + 5 files changed, 84 insertions(+) diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts -index 6872135d7f84..ba2fde2909f9 100644 +index d347f52e27f6..45bdbfb96126 100644 --- a/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts @@ -51,6 +51,7 @@ @@ -361,8 +1364,8 @@ index 6872135d7f84..ba2fde2909f9 100644 serial0 = &uart0; serial1 = &uart1; }; -@@ -67,6 +68,14 @@ - }; +@@ -69,6 +70,14 @@ + status = "okay"; }; +&emac { @@ -376,7 +1379,7 @@ index 6872135d7f84..ba2fde2909f9 100644 &i2c1 { pinctrl-names = "default"; pinctrl-0 = <&i2c1_pins>; -@@ -77,6 +86,13 @@ +@@ -79,6 +88,13 @@ bias-pull-up; }; @@ -414,7 +1417,7 @@ index f82ccf332c0f..24f1aac366d6 100644 + }; +}; diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts -index 7c533b6d4ba9..827168bc22ed 100644 +index d06e34b5d192..806442d3e846 100644 --- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts @@ -51,6 +51,7 @@ @@ -425,7 +1428,7 @@ index 7c533b6d4ba9..827168bc22ed 100644 serial0 = &uart0; serial1 = &uart1; serial2 = &uart2; -@@ -78,6 +79,15 @@ +@@ -71,6 +72,15 @@ status = "okay"; }; @@ -441,7 +1444,7 @@ index 7c533b6d4ba9..827168bc22ed 100644 &i2c1 { pinctrl-names = "default"; pinctrl-0 = <&i2c1_pins>; -@@ -88,6 +98,13 @@ +@@ -81,6 +91,13 @@ bias-pull-up; }; @@ -456,7 +1459,7 @@ index 7c533b6d4ba9..827168bc22ed 100644 pinctrl-names = "default"; pinctrl-0 = <&mmc0_pins>; diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts -index d891a1a27f6c..216e3a5dafae 100644 +index 17ccc12b58df..0eb2acedf8c3 100644 --- a/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts @@ -53,6 +53,7 @@ @@ -490,7 +1493,7 @@ index d891a1a27f6c..216e3a5dafae 100644 pinctrl-names = "default"; pinctrl-0 = <&mmc2_pins>; diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi -index 68aadc9b96dc..bd0f33b77f57 100644 +index 8c8db1b057df..50f17bab0c07 100644 --- a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi @@ -449,6 +449,26 @@ @@ -520,8 +1523,31 @@ index 68aadc9b96dc..bd0f33b77f57 100644 gic: interrupt-controller@1c81000 { compatible = "arm,gic-400"; reg = <0x01c81000 0x1000>, +-- +2.14.3 + +From 070173449eb88e9cf9c91889c77f53616911f4d0 Mon Sep 17 00:00:00 2001 +From: Corentin LABBE <clabbe.montjoie@gmail.com> +Date: Tue, 31 Oct 2017 09:19:14 +0100 +Subject: [PATCH 10/11] arm64: dts: allwinner: H5: Restore EMAC changes + +The original dwmac-sun8i DT bindings have some issue on how to handle +integrated PHY and was reverted in last RC of 4.13. +But now we have a solution so we need to get back that was reverted. + +This patch restore arm64 DT about dwmac-sun8i for H5 +This reverts a part of commit 87e1f5e8bb4b ("arm64: dts: allwinner: Revert EMAC changes") + +Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com> +Acked-by: Florian Fainelli <f.fainelli@gmail.com> +--- + arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-neo2.dts | 17 +++++++++++++++++ + .../arm64/boot/dts/allwinner/sun50i-h5-orangepi-pc2.dts | 17 +++++++++++++++++ + .../boot/dts/allwinner/sun50i-h5-orangepi-prime.dts | 17 +++++++++++++++++ + 3 files changed, 51 insertions(+) + diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-neo2.dts b/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-neo2.dts -index 1c2387bd5df6..968908761194 100644 +index 1c2387bd5df6..6eb8092d8e57 100644 --- a/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-neo2.dts +++ b/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-neo2.dts @@ -50,6 +50,7 @@ @@ -545,7 +1571,7 @@ index 1c2387bd5df6..968908761194 100644 + status = "okay"; +}; + -+&mdio { ++&external_mdio { + ext_rgmii_phy: ethernet-phy@7 { + compatible = "ethernet-phy-ieee802.3-c22"; + reg = <7>; @@ -556,7 +1582,7 @@ index 1c2387bd5df6..968908761194 100644 pinctrl-names = "default"; pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin>; diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-pc2.dts b/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-pc2.dts -index 4f77c8470f6c..a8296feee884 100644 +index 4f77c8470f6c..a0ca925175aa 100644 --- a/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-pc2.dts +++ b/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-pc2.dts @@ -59,6 +59,7 @@ @@ -567,7 +1593,7 @@ index 4f77c8470f6c..a8296feee884 100644 serial0 = &uart0; }; -@@ -136,12 +137,28 @@ +@@ -136,6 +137,22 @@ status = "okay"; }; @@ -580,24 +1606,18 @@ index 4f77c8470f6c..a8296feee884 100644 + status = "okay"; +}; + - &ir { - pinctrl-names = "default"; - pinctrl-0 = <&ir_pins_a>; - status = "okay"; - }; - -+&mdio { ++&external_mdio { + ext_rgmii_phy: ethernet-phy@1 { + compatible = "ethernet-phy-ieee802.3-c22"; + reg = <1>; + }; +}; + - &mmc0 { + &ir { pinctrl-names = "default"; - pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin>; + pinctrl-0 = <&ir_pins_a>; diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-prime.dts b/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-prime.dts -index 6be06873e5af..d906b302cbcd 100644 +index 6be06873e5af..b47790650144 100644 --- a/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-prime.dts +++ b/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-prime.dts @@ -54,6 +54,7 @@ @@ -608,7 +1628,7 @@ index 6be06873e5af..d906b302cbcd 100644 serial0 = &uart0; }; -@@ -143,12 +144,28 @@ +@@ -143,6 +144,22 @@ status = "okay"; }; @@ -621,126 +1641,334 @@ index 6be06873e5af..d906b302cbcd 100644 + status = "okay"; +}; + - &ir { - pinctrl-names = "default"; - pinctrl-0 = <&ir_pins_a>; - status = "okay"; - }; - -+&mdio { ++&external_mdio { + ext_rgmii_phy: ethernet-phy@1 { + compatible = "ethernet-phy-ieee802.3-c22"; + reg = <1>; + }; +}; + - &mmc0 { + &ir { pinctrl-names = "default"; - pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin>; + pinctrl-0 = <&ir_pins_a>; -- -2.13.5 +2.14.3 -From 11190f020b948ccdf15061b6df8cc2836a2afcb1 Mon Sep 17 00:00:00 2001 +From 63118a9f7808a0a67c23e7d276138c996e094eae Mon Sep 17 00:00:00 2001 +From: Corentin LABBE <clabbe.montjoie@gmail.com> +Date: Tue, 31 Oct 2017 09:19:15 +0100 +Subject: [PATCH 11/11] arm64: dts: allwinner: add snps, dwmac-mdio compatible + to emac/mdio + +stmmac bindings docs said that its mdio node must have +compatible = "snps,dwmac-mdio"; +Since dwmac-sun8i does not have any good reasons to not doing it, all +their MDIO node must have it. + +Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com> +Acked-by: Florian Fainelli <f.fainelli@gmail.com> +--- + arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi +index 50f17bab0c07..8fd75c95937a 100644 +--- a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi ++++ b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi +@@ -464,6 +464,7 @@ + #size-cells = <0>; + + mdio: mdio { ++ compatible = "snps,dwmac-mdio"; + #address-cells = <1>; + #size-cells = <0>; + }; +-- +2.14.3 + +From patchwork Fri Nov 10 09:26:54 2017 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +Subject: arm64: allwinner: a64: add Ethernet PHY regulator for several boards +From: Icenowy Zheng <icenowy@aosc.io> +X-Patchwork-Id: 10052659 +Message-Id: <20171110092654.10746-1-icenowy@aosc.io> +To: Maxime Ripard <maxime.ripard@free-electrons.com>, + Chen-Yu Tsai <wens@csie.org> +Cc: linux-sunxi@googlegroups.com, linux-kernel@vger.kernel.org, + linux-arm-kernel@lists.infradead.org, Icenowy Zheng <icenowy@aosc.io> +Date: Fri, 10 Nov 2017 17:26:54 +0800 + +On several A64 boards the Ethernet PHY is powered by the DC1SW regulator +on the AXP803 PMIC. + +Add phy-handle property to these boards' emac node. + +Signed-off-by: Icenowy Zheng <icenowy@aosc.io> +Acked-by: Corentin LABBE <clabbe.montjoie@gmail.com> +Tested-by: Corentin LABBE <clabbe.montjoie@gmail.com> +--- + arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts | 1 + + arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts | 1 + + arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts | 1 + + 3 files changed, 3 insertions(+) + +diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts +index 45bdbfb96126..4a8d3f83a36e 100644 +--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts ++++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts +@@ -75,6 +75,7 @@ + pinctrl-0 = <&rgmii_pins>; + phy-mode = "rgmii"; + phy-handle = <&ext_rgmii_phy>; ++ phy-supply = <®_dc1sw>; + status = "okay"; + }; + +diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts +index 806442d3e846..604cdaedac38 100644 +--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts ++++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts +@@ -77,6 +77,7 @@ + pinctrl-0 = <&rmii_pins>; + phy-mode = "rmii"; + phy-handle = <&ext_rmii_phy1>; ++ phy-supply = <®_dc1sw>; + status = "okay"; + + }; +diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts +index 0eb2acedf8c3..a053a6ac5267 100644 +--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts ++++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts +@@ -82,6 +82,7 @@ + pinctrl-0 = <&rgmii_pins>; + phy-mode = "rgmii"; + phy-handle = <&ext_rgmii_phy>; ++ phy-supply = <®_dc1sw>; + status = "okay"; + }; + +From 79e7d6c8bfe67fce8c8fe4953e74ce7f420dd732 Mon Sep 17 00:00:00 2001 From: Peter Robinson <pbrobinson@gmail.com> -Date: Mon, 4 Sep 2017 13:04:55 +0100 -Subject: [PATCH 4/4] Revert "dt-bindings: net: Revert sun8i dwmac binding" +Date: Tue, 21 Nov 2017 15:43:19 +0000 +Subject: [PATCH] ARM: dts: sunxi: sun8i-h3-nanopi-m1-plus: Add missing + regulator + +This patch add the missing regulator for sun8i-h3-nanopi-m1-plus. -This reverts commit 8aa33ec2f4812d1ee96f4c02ba013f5b9c514343. +Fixes: ("ARM: dts: sunxi: Restore EMAC changes (boards)") +Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com> --- - .../devicetree/bindings/net/dwmac-sun8i.txt | 84 ++++++++++++++++++++++ - 1 file changed, 84 insertions(+) - create mode 100644 Documentation/devicetree/bindings/net/dwmac-sun8i.txt + arch/arm/boot/dts/sun8i-h3-nanopi-m1-plus.dts | 11 +++++++++++ + 1 file changed, 11 insertions(+) -diff --git a/Documentation/devicetree/bindings/net/dwmac-sun8i.txt b/Documentation/devicetree/bindings/net/dwmac-sun8i.txt -new file mode 100644 -index 000000000000..725f3b187886 ---- /dev/null -+++ b/Documentation/devicetree/bindings/net/dwmac-sun8i.txt -@@ -0,0 +1,84 @@ -+* Allwinner sun8i GMAC ethernet controller -+ -+This device is a platform glue layer for stmmac. -+Please see stmmac.txt for the other unchanged properties. -+ -+Required properties: -+- compatible: should be one of the following string: -+ "allwinner,sun8i-a83t-emac" -+ "allwinner,sun8i-h3-emac" -+ "allwinner,sun8i-v3s-emac" -+ "allwinner,sun50i-a64-emac" -+- reg: address and length of the register for the device. -+- interrupts: interrupt for the device -+- interrupt-names: should be "macirq" -+- clocks: A phandle to the reference clock for this device -+- clock-names: should be "stmmaceth" -+- resets: A phandle to the reset control for this device -+- reset-names: should be "stmmaceth" -+- phy-mode: See ethernet.txt -+- phy-handle: See ethernet.txt -+- #address-cells: shall be 1 -+- #size-cells: shall be 0 -+- syscon: A phandle to the syscon of the SoC with one of the following -+ compatible string: -+ - allwinner,sun8i-h3-system-controller -+ - allwinner,sun8i-v3s-system-controller -+ - allwinner,sun50i-a64-system-controller -+ - allwinner,sun8i-a83t-system-controller -+ -+Optional properties: -+- allwinner,tx-delay-ps: TX clock delay chain value in ps. Range value is 0-700. Default is 0) -+- allwinner,rx-delay-ps: RX clock delay chain value in ps. Range value is 0-3100. Default is 0) -+Both delay properties need to be a multiple of 100. They control the delay for -+external PHY. -+ -+Optional properties for the following compatibles: -+ - "allwinner,sun8i-h3-emac", -+ - "allwinner,sun8i-v3s-emac": -+- allwinner,leds-active-low: EPHY LEDs are active low -+ -+Required child node of emac: -+- mdio bus node: should be named mdio -+ -+Required properties of the mdio node: -+- #address-cells: shall be 1 -+- #size-cells: shall be 0 -+ -+The device node referenced by "phy" or "phy-handle" should be a child node -+of the mdio node. See phy.txt for the generic PHY bindings. +diff --git a/arch/arm/boot/dts/sun8i-h3-nanopi-m1-plus.dts b/arch/arm/boot/dts/sun8i-h3-nanopi-m1-plus.dts +index ef0371811296..738ef1d9e844 100644 +--- a/arch/arm/boot/dts/sun8i-h3-nanopi-m1-plus.dts ++++ b/arch/arm/boot/dts/sun8i-h3-nanopi-m1-plus.dts +@@ -45,6 +45,17 @@ + / { + model = "FriendlyArm NanoPi M1 Plus"; + compatible = "friendlyarm,nanopi-m1-plus", "allwinner,sun8i-h3"; + -+Required properties of the phy node with the following compatibles: -+ - "allwinner,sun8i-h3-emac", -+ - "allwinner,sun8i-v3s-emac": -+- clocks: a phandle to the reference clock for the EPHY -+- resets: a phandle to the reset control for the EPHY ++ reg_gmac_3v3: gmac-3v3 { ++ compatible = "regulator-fixed"; ++ regulator-name = "gmac-3v3"; ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ startup-delay-us = <100000>; ++ enable-active-high; ++ gpio = <&pio 3 6 GPIO_ACTIVE_HIGH>; ++ }; + -+Example: + }; + + &ehci1 { +-- +2.14.3 + +From 4497478c60c04d2bf37082e27fc98f4f835db96b Mon Sep 17 00:00:00 2001 +From: Niklas Cassel <niklas.cassel@axis.com> +Date: Tue, 14 Nov 2017 11:15:54 +0100 +Subject: net: stmmac: fix LPI transitioning for dwmac4 + +The LPI transitioning logic in stmmac_main uses +priv->tx_path_in_lpi_mode to enter/exit LPI. + +However, priv->tx_path_in_lpi_mode is assigned +using the return value from host_irq_status(). + +So for dwmac4, priv->tx_path_in_lpi_mode was always false, +so stmmac_tx_clean() would always try to put us in eee mode, +and stmmac_xmit() would never take us out of eee mode. + +To fix this, make host_irq_status() read and return the LPI +irq status also for dwmac4. + +This also increments the existing LPI counters, so that +ethtool --statistics shows LPI transitions also for dwmac4. + +For dwmac1000, irqs are enabled/disabled using the register +named "Interrupt Mask Register", and thus setting a bit disables +that specific irq. + +For dwmac4 the matching register is named "MAC_Interrupt_Enable", +and thus setting a bit enables that specific irq. + +Looking at dwmac1000_core.c, the irqs that are always enabled are: +LPI and PMT. + +Looking at dwmac4_core.c, the irqs that are always enabled are: +PMT. + +To be able to read the LPI irq status, we need to enable the LPI +irq also for dwmac4. + +Signed-off-by: Niklas Cassel <niklas.cassel@axis.com> +Signed-off-by: David S. Miller <davem@davemloft.net> +--- + drivers/net/ethernet/stmicro/stmmac/dwmac4.h | 7 ++++++- + drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c | 19 +++++++++++++++++++ + 2 files changed, 25 insertions(+), 1 deletion(-) + +diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac4.h b/drivers/net/ethernet/stmicro/stmmac/dwmac4.h +index aeda3ab..789dad8 100644 +--- a/drivers/net/ethernet/stmicro/stmmac/dwmac4.h ++++ b/drivers/net/ethernet/stmicro/stmmac/dwmac4.h +@@ -98,7 +98,7 @@ + #define GMAC_PCS_IRQ_DEFAULT (GMAC_INT_RGSMIIS | GMAC_INT_PCS_LINK | \ + GMAC_INT_PCS_ANE) + +-#define GMAC_INT_DEFAULT_MASK GMAC_INT_PMT_EN ++#define GMAC_INT_DEFAULT_MASK (GMAC_INT_PMT_EN | GMAC_INT_LPI_EN) + + enum dwmac4_irq_status { + time_stamp_irq = 0x00001000, +@@ -106,6 +106,7 @@ enum dwmac4_irq_status { + mmc_tx_irq = 0x00000400, + mmc_rx_irq = 0x00000200, + mmc_irq = 0x00000100, ++ lpi_irq = 0x00000020, + pmt_irq = 0x00000010, + }; + +@@ -132,6 +133,10 @@ enum power_event { + #define GMAC4_LPI_CTRL_STATUS_LPITXA BIT(19) /* Enable LPI TX Automate */ + #define GMAC4_LPI_CTRL_STATUS_PLS BIT(17) /* PHY Link Status */ + #define GMAC4_LPI_CTRL_STATUS_LPIEN BIT(16) /* LPI Enable */ ++#define GMAC4_LPI_CTRL_STATUS_RLPIEX BIT(3) /* Receive LPI Exit */ ++#define GMAC4_LPI_CTRL_STATUS_RLPIEN BIT(2) /* Receive LPI Entry */ ++#define GMAC4_LPI_CTRL_STATUS_TLPIEX BIT(1) /* Transmit LPI Exit */ ++#define GMAC4_LPI_CTRL_STATUS_TLPIEN BIT(0) /* Transmit LPI Entry */ + + /* MAC Debug bitmap */ + #define GMAC_DEBUG_TFCSTS_MASK GENMASK(18, 17) +diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c b/drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c +index 2f7d7ec..f3ed8f7 100644 +--- a/drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c ++++ b/drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c +@@ -580,6 +580,25 @@ static int dwmac4_irq_status(struct mac_device_info *hw, + x->irq_receive_pmt_irq_n++; + } + ++ /* MAC tx/rx EEE LPI entry/exit interrupts */ ++ if (intr_status & lpi_irq) { ++ /* Clear LPI interrupt by reading MAC_LPI_Control_Status */ ++ u32 status = readl(ioaddr + GMAC4_LPI_CTRL_STATUS); + -+emac: ethernet@1c0b000 { -+ compatible = "allwinner,sun8i-h3-emac"; -+ syscon = <&syscon>; -+ reg = <0x01c0b000 0x104>; -+ interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>; -+ interrupt-names = "macirq"; -+ resets = <&ccu RST_BUS_EMAC>; -+ reset-names = "stmmaceth"; -+ clocks = <&ccu CLK_BUS_EMAC>; -+ clock-names = "stmmaceth"; -+ #address-cells = <1>; -+ #size-cells = <0>; ++ if (status & GMAC4_LPI_CTRL_STATUS_TLPIEN) { ++ ret |= CORE_IRQ_TX_PATH_IN_LPI_MODE; ++ x->irq_tx_path_in_lpi_mode_n++; ++ } ++ if (status & GMAC4_LPI_CTRL_STATUS_TLPIEX) { ++ ret |= CORE_IRQ_TX_PATH_EXIT_LPI_MODE; ++ x->irq_tx_path_exit_lpi_mode_n++; ++ } ++ if (status & GMAC4_LPI_CTRL_STATUS_RLPIEN) ++ x->irq_rx_path_in_lpi_mode_n++; ++ if (status & GMAC4_LPI_CTRL_STATUS_RLPIEX) ++ x->irq_rx_path_exit_lpi_mode_n++; ++ } + -+ phy-handle = <&int_mii_phy>; -+ phy-mode = "mii"; -+ allwinner,leds-active-low; -+ mdio: mdio { -+ #address-cells = <1>; -+ #size-cells = <0>; -+ int_mii_phy: ethernet-phy@1 { -+ reg = <1>; -+ clocks = <&ccu CLK_BUS_EPHY>; -+ resets = <&ccu RST_BUS_EPHY>; -+ }; -+ }; -+}; + dwmac_pcs_isr(ioaddr, GMAC_PCS_BASE, intr_status, x); + if (intr_status & PCS_RGSMIIIS_IRQ) + dwmac4_phystatus(ioaddr, x); +-- +cgit v1.1 + +From 1c08ac0c4bd8e9d66c4dde29bc496c3b430dd028 Mon Sep 17 00:00:00 2001 +From: Corentin Labbe <clabbe.montjoie@gmail.com> +Date: Tue, 28 Nov 2017 17:48:22 +0100 +Subject: net: stmmac: dwmac-sun8i: fix allwinner,leds-active-low handling + +The driver expect "allwinner,leds-active-low" to be in PHY node, but +the binding doc expect it to be in MAC node. + +Since all board DT use it also in MAC node, the driver need to search +allwinner,leds-active-low in MAC node. + +Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com> +Signed-off-by: David S. Miller <davem@davemloft.net> +--- + drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c +index e5ff734..9eb7f65 100644 +--- a/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c ++++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c +@@ -808,8 +808,7 @@ static int sun8i_dwmac_set_syscon(struct stmmac_priv *priv) + val, reg); + + if (gmac->variant->soc_has_internal_phy) { +- if (of_property_read_bool(priv->plat->phy_node, +- "allwinner,leds-active-low")) ++ if (of_property_read_bool(node, "allwinner,leds-active-low")) + reg |= H3_EPHY_LED_POL; + else + reg &= ~H3_EPHY_LED_POL; +-- +cgit v1.1 + +From 45ab4b13e46325d00f4acdb365d406e941a15f81 Mon Sep 17 00:00:00 2001 +From: Lars Persson <lars.persson@axis.com> +Date: Fri, 1 Dec 2017 11:12:44 +0100 +Subject: stmmac: reset last TSO segment size after device open + +The mss variable tracks the last max segment size sent to the TSO +engine. We do not update the hardware as long as we receive skb:s with +the same value in gso_size. + +During a network device down/up cycle (mapped to stmmac_release() and +stmmac_open() callbacks) we issue a reset to the hardware and it +forgets the setting for mss. However we did not zero out our mss +variable so the next transmission of a gso packet happens with an +undefined hardware setting. + +This triggers a hang in the TSO engine and eventuelly the netdev +watchdog will bark. + +Fixes: f748be531d70 ("stmmac: support new GMAC4") +Signed-off-by: Lars Persson <larper@axis.com> +Signed-off-by: David S. Miller <davem@davemloft.net> +--- + drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +index f63c2dd..d725053 100644 +--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c ++++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +@@ -2588,6 +2588,7 @@ static int stmmac_open(struct net_device *dev) + + priv->dma_buf_sz = STMMAC_ALIGN(buf_sz); + priv->rx_copybreak = STMMAC_RX_COPYBREAK; ++ priv->mss = 0; + + ret = alloc_dma_desc_resources(priv); + if (ret < 0) { -- -2.13.5 +cgit v1.1 diff --git a/freed-ora/current/f26/arm-dts-boneblack-wireless-add-WL1835-Bluetooth-device-node.patch b/freed-ora/current/f26/arm-dts-boneblack-wireless-add-WL1835-Bluetooth-device-node.patch deleted file mode 100644 index b4c945697..000000000 --- a/freed-ora/current/f26/arm-dts-boneblack-wireless-add-WL1835-Bluetooth-device-node.patch +++ /dev/null @@ -1,40 +0,0 @@ -From patchwork Mon May 22 14:51:38 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: arm: dts: boneblack-wireless: add WL1835 Bluetooth device node -From: Ricardo Salveti <ricardo.salveti@linaro.org> -X-Patchwork-Id: 9740719 -Message-Id: <1495464701-12046-1-git-send-email-ricardo.salveti@linaro.org> -To: linux-omap@vger.kernel.org -Cc: Mark Rutland <mark.rutland@arm.com>, - Ricardo Salveti <ricardo.salveti@linaro.org>, devicetree@vger.kernel.org, - Tony Lindgren <tony@atomide.com>, Russell King <linux@armlinux.org.uk>, - linux-kernel@vger.kernel.org, Rob Herring <robh+dt@kernel.org>, - =?UTF-8?q?Beno=C3=AEt=20Cousson?= <bcousson@baylibre.com>, - robertcnelson@gmail.com, linux-arm-kernel@lists.infradead.org -Date: Mon, 22 May 2017 11:51:38 -0300 - -This adds the serial slave device for the WL1835 Bluetooth interface. - -Signed-off-by: Ricardo Salveti <ricardo.salveti@linaro.org> ---- - arch/arm/boot/dts/am335x-boneblack-wireless.dts | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/arch/arm/boot/dts/am335x-boneblack-wireless.dts b/arch/arm/boot/dts/am335x-boneblack-wireless.dts -index 105bd10..83f49f6 100644 ---- a/arch/arm/boot/dts/am335x-boneblack-wireless.dts -+++ b/arch/arm/boot/dts/am335x-boneblack-wireless.dts -@@ -97,6 +97,11 @@ - pinctrl-names = "default"; - pinctrl-0 = <&uart3_pins &bt_pins>; - status = "okay"; -+ -+ bluetooth { -+ compatible = "ti,wl1835-st"; -+ enable-gpios = <&gpio0 28 GPIO_ACTIVE_HIGH>; -+ }; - }; - - &gpio3 { diff --git a/freed-ora/current/f26/arm-exynos-fix-usb3.patch b/freed-ora/current/f26/arm-exynos-fix-usb3.patch new file mode 100644 index 000000000..cb5828acf --- /dev/null +++ b/freed-ora/current/f26/arm-exynos-fix-usb3.patch @@ -0,0 +1,411 @@ +From patchwork Mon Oct 9 12:00:50 2017 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +Subject: [PATCHv4,1/2] drivers: phy: add calibrate method +From: Andrzej Pietrasiewicz <andrzej.p@samsung.com> +X-Patchwork-Id: 9992829 +Message-Id: <1507550451-21324-2-git-send-email-andrzej.p@samsung.com> +To: linux-samsung-soc@vger.kernel.org, linux-usb@vger.kernel.org, + linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org +Cc: Mark Rutland <mark.rutland@arm.com>, Felipe Balbi <balbi@kernel.org>, + Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>, + Greg Kroah-Hartman <gregkh@linuxfoundation.org>, + Russell King <linux@armlinux.org.uk>, + Krzysztof Kozlowski <krzk@kernel.org>, + Kishon Vijay Abraham I <kishon@ti.com>, + Rob Herring <robh+dt@kernel.org>, Kukjin Kim <kgene@kernel.org>, + Andrzej Pietrasiewicz <andrzej.p@samsung.com>, + Marek Szyprowski <m.szyprowski@samsung.com> +Date: Mon, 09 Oct 2017 14:00:50 +0200 + +Some quirky UDCs (like dwc3 on Exynos) need to have their phys calibrated e.g. +for using super speed. This patch adds a new phy_calibrate() method. +When the calibration should be used is dependent on actual chip. + +In case of dwc3 on Exynos the calibration must happen after usb_add_hcd() +(while in host mode), because certain phy parameters like Tx LOS levels +and boost levels need to be calibrated further post initialization of xHCI +controller, to get SuperSpeed operations working. But an hcd must be +prepared first in order to pass it to usb_add_hcd(), so, in particular, dwc3 +registers must be available first, and in order for the latter to happen +the phys must be initialized. This poses a chicken and egg problem if +the calibration were to be performed in phy_init(). To break the circular +dependency a separate method is added which can be called at a desired +moment after phy intialization. + +Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@samsung.com> +--- + drivers/phy/phy-core.c | 15 +++++++++++++++ + include/linux/phy/phy.h | 10 ++++++++++ + 2 files changed, 25 insertions(+) + +diff --git a/drivers/phy/phy-core.c b/drivers/phy/phy-core.c +index a268f4d..b4964b0 100644 +--- a/drivers/phy/phy-core.c ++++ b/drivers/phy/phy-core.c +@@ -372,6 +372,21 @@ int phy_reset(struct phy *phy) + } + EXPORT_SYMBOL_GPL(phy_reset); + ++int phy_calibrate(struct phy *phy) ++{ ++ int ret; ++ ++ if (!phy || !phy->ops->calibrate) ++ return 0; ++ ++ mutex_lock(&phy->mutex); ++ ret = phy->ops->calibrate(phy); ++ mutex_unlock(&phy->mutex); ++ ++ return ret; ++} ++EXPORT_SYMBOL_GPL(phy_calibrate); ++ + /** + * _of_phy_get() - lookup and obtain a reference to a phy by phandle + * @np: device_node for which to get the phy +diff --git a/include/linux/phy/phy.h b/include/linux/phy/phy.h +index e694d40..87580c8 100644 +--- a/include/linux/phy/phy.h ++++ b/include/linux/phy/phy.h +@@ -39,6 +39,7 @@ enum phy_mode { + * @power_off: powering off the phy + * @set_mode: set the mode of the phy + * @reset: resetting the phy ++ * @calibrate: calibrate the phy + * @owner: the module owner containing the ops + */ + struct phy_ops { +@@ -48,6 +49,7 @@ struct phy_ops { + int (*power_off)(struct phy *phy); + int (*set_mode)(struct phy *phy, enum phy_mode mode); + int (*reset)(struct phy *phy); ++ int (*calibrate)(struct phy *phy); + struct module *owner; + }; + +@@ -141,6 +143,7 @@ static inline void *phy_get_drvdata(struct phy *phy) + int phy_power_off(struct phy *phy); + int phy_set_mode(struct phy *phy, enum phy_mode mode); + int phy_reset(struct phy *phy); ++int phy_calibrate(struct phy *phy); + static inline int phy_get_bus_width(struct phy *phy) + { + return phy->attrs.bus_width; +@@ -262,6 +265,13 @@ static inline int phy_reset(struct phy *phy) + return -ENOSYS; + } + ++static inline int phy_calibrate(struct phy *phy) ++{ ++ if (!phy) ++ return 0; ++ return -ENOSYS; ++} ++ + static inline int phy_get_bus_width(struct phy *phy) + { + return -ENOSYS; +From patchwork Mon Oct 9 12:00:51 2017 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +Subject: [PATCHv4, + 2/2] phy: exynos5-usbdrd: Calibrate LOS levels for exynos5420/5800 +From: Andrzej Pietrasiewicz <andrzej.p@samsung.com> +X-Patchwork-Id: 9992809 +Message-Id: <1507550451-21324-3-git-send-email-andrzej.p@samsung.com> +To: linux-samsung-soc@vger.kernel.org, linux-usb@vger.kernel.org, + linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org +Cc: Mark Rutland <mark.rutland@arm.com>, Felipe Balbi <balbi@kernel.org>, + Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>, + Greg Kroah-Hartman <gregkh@linuxfoundation.org>, + Russell King <linux@armlinux.org.uk>, + Krzysztof Kozlowski <krzk@kernel.org>, + Kishon Vijay Abraham I <kishon@ti.com>, + Rob Herring <robh+dt@kernel.org>, Kukjin Kim <kgene@kernel.org>, + Andrzej Pietrasiewicz <andrzej.p@samsung.com>, + Marek Szyprowski <m.szyprowski@samsung.com> +Date: Mon, 09 Oct 2017 14:00:51 +0200 + +From: Vivek Gautam <gautam.vivek@samsung.com> + +Adding phy calibration sequence for USB 3.0 DRD PHY present on +Exynos5420/5800 systems. +This calibration facilitates setting certain PHY parameters viz. +the Loss-of-Signal (LOS) Detector Threshold Level, as well as +Tx-Vboost-Level for Super-Speed operations. +Additionally we also set proper time to wait for RxDetect measurement, +for desired PHY reference clock, so as to solve issue with enumeration +of few USB 3.0 devices, like Samsung SUM-TSB16S 3.0 USB drive +on the controller. + +We are using CR_port for this purpose to send required data +to override the LOS values. + +On testing with USB 3.0 devices on USB 3.0 port present on +SMDK5420, and peach-pit boards should see following message: +usb 2-1: new SuperSpeed USB device number 2 using xhci-hcd + +and without this patch, should see below shown message: +usb 1-1: new high-speed USB device number 2 using xhci-hcd + +[Also removed unnecessary extra lines in the register macro definitions] + +Signed-off-by: Vivek Gautam <gautam.vivek@samsung.com> +[adapted to use phy_calibrate as entry point] +Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@samsung.com> +--- + drivers/phy/samsung/phy-exynos5-usbdrd.c | 183 +++++++++++++++++++++++++++++++ + drivers/usb/dwc3/core.c | 7 +- + 2 files changed, 188 insertions(+), 2 deletions(-) + +diff --git a/drivers/phy/samsung/phy-exynos5-usbdrd.c b/drivers/phy/samsung/phy-exynos5-usbdrd.c +index 22c68f5..9e83c15 100644 +--- a/drivers/phy/samsung/phy-exynos5-usbdrd.c ++++ b/drivers/phy/samsung/phy-exynos5-usbdrd.c +@@ -90,7 +90,17 @@ + #define PHYCLKRST_COMMONONN BIT(0) + + #define EXYNOS5_DRD_PHYREG0 0x14 ++#define PHYREG0_SSC_REF_CLK_SEL BIT(21) ++#define PHYREG0_SSC_RANGE BIT(20) ++#define PHYREG0_CR_WRITE BIT(19) ++#define PHYREG0_CR_READ BIT(18) ++#define PHYREG0_CR_DATA_IN(_x) ((_x) << 2) ++#define PHYREG0_CR_CAP_DATA BIT(1) ++#define PHYREG0_CR_CAP_ADDR BIT(0) ++ + #define EXYNOS5_DRD_PHYREG1 0x18 ++#define PHYREG1_CR_DATA_OUT(_x) ((_x) << 1) ++#define PHYREG1_CR_ACK BIT(0) + + #define EXYNOS5_DRD_PHYPARAM0 0x1c + +@@ -119,6 +129,25 @@ + #define EXYNOS5_DRD_PHYRESUME 0x34 + #define EXYNOS5_DRD_LINKPORT 0x44 + ++/* USB 3.0 DRD PHY SS Function Control Reg; accessed by CR_PORT */ ++#define EXYNOS5_DRD_PHYSS_LOSLEVEL_OVRD_IN (0x15) ++#define LOSLEVEL_OVRD_IN_LOS_BIAS_5420 (0x5 << 13) ++#define LOSLEVEL_OVRD_IN_LOS_BIAS_DEFAULT (0x0 << 13) ++#define LOSLEVEL_OVRD_IN_EN (0x1 << 10) ++#define LOSLEVEL_OVRD_IN_LOS_LEVEL_DEFAULT (0x9 << 0) ++ ++#define EXYNOS5_DRD_PHYSS_TX_VBOOSTLEVEL_OVRD_IN (0x12) ++#define TX_VBOOSTLEVEL_OVRD_IN_VBOOST_5420 (0x5 << 13) ++#define TX_VBOOSTLEVEL_OVRD_IN_VBOOST_DEFAULT (0x4 << 13) ++ ++#define EXYNOS5_DRD_PHYSS_LANE0_TX_DEBUG (0x1010) ++#define LANE0_TX_DEBUG_RXDET_MEAS_TIME_19M2_20M (0x4 << 4) ++#define LANE0_TX_DEBUG_RXDET_MEAS_TIME_24M (0x8 << 4) ++#define LANE0_TX_DEBUG_RXDET_MEAS_TIME_25M_26M (0x8 << 4) ++#define LANE0_TX_DEBUG_RXDET_MEAS_TIME_48M_50M_52M (0x20 << 4) ++#define LANE0_TX_DEBUG_RXDET_MEAS_TIME_62M5 (0x20 << 4) ++#define LANE0_TX_DEBUG_RXDET_MEAS_TIME_96M_100M (0x40 << 4) ++ + #define KHZ 1000 + #define MHZ (KHZ * KHZ) + +@@ -527,6 +556,151 @@ static int exynos5_usbdrd_phy_power_off(struct phy *phy) + return 0; + } + ++static int crport_handshake(struct exynos5_usbdrd_phy *phy_drd, ++ u32 val, u32 cmd) ++{ ++ u32 usec = 100; ++ unsigned int result; ++ ++ writel(val | cmd, phy_drd->reg_phy + EXYNOS5_DRD_PHYREG0); ++ ++ do { ++ result = readl(phy_drd->reg_phy + EXYNOS5_DRD_PHYREG1); ++ if (result & PHYREG1_CR_ACK) ++ break; ++ ++ udelay(1); ++ } while (usec-- > 0); ++ ++ if (!usec) { ++ dev_err(phy_drd->dev, ++ "CRPORT handshake timeout1 (0x%08x)\n", val); ++ return -ETIME; ++ } ++ ++ usec = 100; ++ ++ writel(val, phy_drd->reg_phy + EXYNOS5_DRD_PHYREG0); ++ ++ do { ++ result = readl(phy_drd->reg_phy + EXYNOS5_DRD_PHYREG1); ++ if (!(result & PHYREG1_CR_ACK)) ++ break; ++ ++ udelay(1); ++ } while (usec-- > 0); ++ ++ if (!usec) { ++ dev_err(phy_drd->dev, ++ "CRPORT handshake timeout2 (0x%08x)\n", val); ++ return -ETIME; ++ } ++ ++ return 0; ++} ++ ++static int crport_ctrl_write(struct exynos5_usbdrd_phy *phy_drd, ++ u32 addr, u32 data) ++{ ++ int ret; ++ ++ /* Write Address */ ++ writel(PHYREG0_CR_DATA_IN(addr), ++ phy_drd->reg_phy + EXYNOS5_DRD_PHYREG0); ++ ret = crport_handshake(phy_drd, PHYREG0_CR_DATA_IN(addr), ++ PHYREG0_CR_CAP_ADDR); ++ if (ret) ++ return ret; ++ ++ /* Write Data */ ++ writel(PHYREG0_CR_DATA_IN(data), ++ phy_drd->reg_phy + EXYNOS5_DRD_PHYREG0); ++ ret = crport_handshake(phy_drd, PHYREG0_CR_DATA_IN(data), ++ PHYREG0_CR_CAP_DATA); ++ if (ret) ++ return ret; ++ ++ ret = crport_handshake(phy_drd, PHYREG0_CR_DATA_IN(data), ++ PHYREG0_CR_WRITE); ++ ++ return ret; ++} ++ ++/* ++ * Calibrate few PHY parameters using CR_PORT register to meet ++ * SuperSpeed requirements on Exynos5420 and Exynos5800 systems, ++ * which have 28nm USB 3.0 DRD PHY. ++ */ ++static int exynos5420_usbdrd_phy_calibrate(struct exynos5_usbdrd_phy *phy_drd) ++{ ++ unsigned int temp; ++ int ret = 0; ++ ++ /* ++ * Change los_bias to (0x5) for 28nm PHY from a ++ * default value (0x0); los_level is set as default ++ * (0x9) as also reflected in los_level[30:26] bits ++ * of PHYPARAM0 register. ++ */ ++ temp = LOSLEVEL_OVRD_IN_LOS_BIAS_5420 | ++ LOSLEVEL_OVRD_IN_EN | ++ LOSLEVEL_OVRD_IN_LOS_LEVEL_DEFAULT; ++ ret = crport_ctrl_write(phy_drd, ++ EXYNOS5_DRD_PHYSS_LOSLEVEL_OVRD_IN, ++ temp); ++ if (ret) { ++ dev_err(phy_drd->dev, ++ "Failed setting Loss-of-Signal level for SuperSpeed\n"); ++ return ret; ++ } ++ ++ /* ++ * Set tx_vboost_lvl to (0x5) for 28nm PHY Tuning, ++ * to raise Tx signal level from its default value of (0x4) ++ */ ++ temp = TX_VBOOSTLEVEL_OVRD_IN_VBOOST_5420; ++ ret = crport_ctrl_write(phy_drd, ++ EXYNOS5_DRD_PHYSS_TX_VBOOSTLEVEL_OVRD_IN, ++ temp); ++ if (ret) { ++ dev_err(phy_drd->dev, ++ "Failed setting Tx-Vboost-Level for SuperSpeed\n"); ++ return ret; ++ } ++ ++ /* ++ * Set proper time to wait for RxDetect measurement, for ++ * desired reference clock of PHY, by tuning the CR_PORT ++ * register LANE0.TX_DEBUG which is internal to PHY. ++ * This fixes issue with few USB 3.0 devices, which are ++ * not detected (not even generate interrupts on the bus ++ * on insertion) without this change. ++ * e.g. Samsung SUM-TSB16S 3.0 USB drive. ++ */ ++ switch (phy_drd->extrefclk) { ++ case EXYNOS5_FSEL_50MHZ: ++ temp = LANE0_TX_DEBUG_RXDET_MEAS_TIME_48M_50M_52M; ++ break; ++ case EXYNOS5_FSEL_20MHZ: ++ case EXYNOS5_FSEL_19MHZ2: ++ temp = LANE0_TX_DEBUG_RXDET_MEAS_TIME_19M2_20M; ++ break; ++ case EXYNOS5_FSEL_24MHZ: ++ default: ++ temp = LANE0_TX_DEBUG_RXDET_MEAS_TIME_24M; ++ break; ++ } ++ ++ ret = crport_ctrl_write(phy_drd, ++ EXYNOS5_DRD_PHYSS_LANE0_TX_DEBUG, ++ temp); ++ if (ret) ++ dev_err(phy_drd->dev, ++ "Failed setting RxDetect measurement time for SuperSpeed\n"); ++ ++ return ret; ++} ++ + static struct phy *exynos5_usbdrd_phy_xlate(struct device *dev, + struct of_phandle_args *args) + { +@@ -538,11 +712,20 @@ static struct phy *exynos5_usbdrd_phy_xlate(struct device *dev, + return phy_drd->phys[args->args[0]].phy; + } + ++static int exynos5_usbdrd_phy_calibrate(struct phy *phy) ++{ ++ struct phy_usb_instance *inst = phy_get_drvdata(phy); ++ struct exynos5_usbdrd_phy *phy_drd = to_usbdrd_phy(inst); ++ ++ return exynos5420_usbdrd_phy_calibrate(phy_drd); ++} ++ + static const struct phy_ops exynos5_usbdrd_phy_ops = { + .init = exynos5_usbdrd_phy_init, + .exit = exynos5_usbdrd_phy_exit, + .power_on = exynos5_usbdrd_phy_power_on, + .power_off = exynos5_usbdrd_phy_power_off, ++ .calibrate = exynos5_usbdrd_phy_calibrate, + .owner = THIS_MODULE, + }; + +diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c +index 03474d3..224e0dd 100644 +--- a/drivers/usb/dwc3/core.c ++++ b/drivers/usb/dwc3/core.c +@@ -156,9 +156,10 @@ static void __dwc3_set_mode(struct work_struct *work) + } else { + if (dwc->usb2_phy) + otg_set_vbus(dwc->usb2_phy->otg, true); +- if (dwc->usb2_generic_phy) ++ if (dwc->usb2_generic_phy) { + phy_set_mode(dwc->usb2_generic_phy, PHY_MODE_USB_HOST); +- ++ phy_calibrate(dwc->usb2_generic_phy); ++ } + } + break; + case DWC3_GCTL_PRTCAP_DEVICE: +@@ -955,6 +956,8 @@ static int dwc3_core_init_mode(struct dwc3 *dwc) + dev_err(dev, "failed to initialize host\n"); + return ret; + } ++ if (dwc->usb2_generic_phy) ++ phy_calibrate(dwc->usb2_generic_phy); + break; + case USB_DR_MODE_OTG: + INIT_WORK(&dwc->drd_work, __dwc3_set_mode); diff --git a/freed-ora/current/f26/arm-of-restrict-dma-configuration.patch b/freed-ora/current/f26/arm-of-restrict-dma-configuration.patch deleted file mode 100644 index cc9ddd965..000000000 --- a/freed-ora/current/f26/arm-of-restrict-dma-configuration.patch +++ /dev/null @@ -1,121 +0,0 @@ -From 723288836628bc1c0855f3bb7b64b1803e4b9e4a Mon Sep 17 00:00:00 2001 -From: Robin Murphy <robin.murphy@arm.com> -Date: Thu, 31 Aug 2017 11:32:54 +0100 -Subject: of: restrict DMA configuration - -Moving DMA configuration to happen later at driver probe time had the -unnoticed side-effect that we now perform DMA configuration for *every* -device represented in DT, rather than only those explicitly created by -the of_platform and PCI code. - -As Christoph points out, this is not really the best thing to do. Whilst -there may well be other DMA-capable buses that can benefit from having -their children automatically configured after the bridge has probed, -there are also plenty of others like USB, MDIO, etc. that definitely do -not support DMA and should not be indiscriminately processed. - -The good news is that in most cases the DT "dma-ranges" property serves -as an appropriate indicator - per a strict interpretation of the spec, -anything lacking a "dma-ranges" property should be considered not to -have a mapping of DMA address space from its children to its parent, -thus anything for which of_dma_get_range() does not succeed does not -need DMA configuration. Certain bus types have a general expectation of -DMA capability and carry a well-established precedent that an absent -"dma-ranges" implies the same as the empty property, so we automatically -opt those in to DMA configuration regardless, to avoid regressing most -existing platforms. - -Fixes: 09515ef5ddad ("of/acpi: Configure dma operations at probe time for platform/amba/pci bus devices") -Reported-by: Christoph Hellwig <hch@lst.de> -Signed-off-by: Robin Murphy <robin.murphy@arm.com> -Acked-by: Rob Herring <robh@kernel.org> -Signed-off-by: Christoph Hellwig <hch@lst.de> ---- - drivers/of/device.c | 48 ++++++++++++++++++++++++++++++++---------------- - 1 file changed, 32 insertions(+), 16 deletions(-) - -diff --git a/drivers/of/device.c b/drivers/of/device.c -index e0a28ea..04c4c95 100644 ---- a/drivers/of/device.c -+++ b/drivers/of/device.c -@@ -9,6 +9,9 @@ - #include <linux/module.h> - #include <linux/mod_devicetable.h> - #include <linux/slab.h> -+#include <linux/pci.h> -+#include <linux/platform_device.h> -+#include <linux/amba/bus.h> - - #include <asm/errno.h> - #include "of_private.h" -@@ -84,31 +87,28 @@ int of_device_add(struct platform_device *ofdev) - */ - int of_dma_configure(struct device *dev, struct device_node *np) - { -- u64 dma_addr, paddr, size; -+ u64 dma_addr, paddr, size = 0; - int ret; - bool coherent; - unsigned long offset; - const struct iommu_ops *iommu; - u64 mask; - -- /* -- * Set default coherent_dma_mask to 32 bit. Drivers are expected to -- * setup the correct supported mask. -- */ -- if (!dev->coherent_dma_mask) -- dev->coherent_dma_mask = DMA_BIT_MASK(32); -- -- /* -- * Set it to coherent_dma_mask by default if the architecture -- * code has not set it. -- */ -- if (!dev->dma_mask) -- dev->dma_mask = &dev->coherent_dma_mask; -- - ret = of_dma_get_range(np, &dma_addr, &paddr, &size); - if (ret < 0) { -+ /* -+ * For legacy reasons, we have to assume some devices need -+ * DMA configuration regardless of whether "dma-ranges" is -+ * correctly specified or not. -+ */ -+ if (!dev_is_pci(dev) && -+#ifdef CONFIG_ARM_AMBA -+ dev->bus != &amba_bustype && -+#endif -+ dev->bus != &platform_bus_type) -+ return ret == -ENODEV ? 0 : ret; -+ - dma_addr = offset = 0; -- size = max(dev->coherent_dma_mask, dev->coherent_dma_mask + 1); - } else { - offset = PFN_DOWN(paddr - dma_addr); - -@@ -129,6 +129,22 @@ int of_dma_configure(struct device *dev, struct device_node *np) - dev_dbg(dev, "dma_pfn_offset(%#08lx)\n", offset); - } - -+ /* -+ * Set default coherent_dma_mask to 32 bit. Drivers are expected to -+ * setup the correct supported mask. -+ */ -+ if (!dev->coherent_dma_mask) -+ dev->coherent_dma_mask = DMA_BIT_MASK(32); -+ /* -+ * Set it to coherent_dma_mask by default if the architecture -+ * code has not set it. -+ */ -+ if (!dev->dma_mask) -+ dev->dma_mask = &dev->coherent_dma_mask; -+ -+ if (!size) -+ size = max(dev->coherent_dma_mask, dev->coherent_dma_mask + 1); -+ - dev->dma_pfn_offset = offset; - - /* --- -cgit v1.1 - diff --git a/freed-ora/current/f26/arm-tegra-fix-gpu-iommu.patch b/freed-ora/current/f26/arm-tegra-fix-gpu-iommu.patch deleted file mode 100644 index c775c88b4..000000000 --- a/freed-ora/current/f26/arm-tegra-fix-gpu-iommu.patch +++ /dev/null @@ -1,39 +0,0 @@ -From patchwork Sun Jul 9 16:36:14 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: ARM: tegra: Register host1x node with iommu binding on tegra124 -From: Paul Kocialkowski <contact@paulk.fr> -X-Patchwork-Id: 9831825 -Message-Id: <20170709163614.6746-1-contact@paulk.fr> -To: linux-arm-kernel@lists.infradead.org, linux-tegra@vger.kernel.org, - linux-kernel@vger.kernel.org -Cc: Thierry Reding <thierry.reding@gmail.com>, - Stephen Warren <swarren@wwwdotorg.org>, - Mikko Perttunen <mperttunen@nvidia.com>, - Paul Kocialkowski <contact@paulk.fr>, - Jonathan Hunter <jonathanh@nvidia.com> -Date: Sun, 9 Jul 2017 19:36:14 +0300 - -This registers the host1x node with the SMMU (as HC swgroup) to allow -the host1x code to attach to it. It avoid failing the probe sequence, -which resulted in the tegra drm driver not probing and thus nothing -being displayed on-screen. - -Signed-off-by: Paul Kocialkowski <contact@paulk.fr> ---- - arch/arm/boot/dts/tegra124.dtsi | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/arch/arm/boot/dts/tegra124.dtsi b/arch/arm/boot/dts/tegra124.dtsi -index 187a36c6d0fc..b3b89befffeb 100644 ---- a/arch/arm/boot/dts/tegra124.dtsi -+++ b/arch/arm/boot/dts/tegra124.dtsi -@@ -85,6 +85,7 @@ - clocks = <&tegra_car TEGRA124_CLK_HOST1X>; - resets = <&tegra_car 28>; - reset-names = "host1x"; -+ iommus = <&mc TEGRA_SWGROUP_HC>; - - #address-cells = <2>; - #size-cells = <2>; diff --git a/freed-ora/current/f26/arm-thermal-fixes.patch b/freed-ora/current/f26/arm-thermal-fixes.patch deleted file mode 100644 index 547731e79..000000000 --- a/freed-ora/current/f26/arm-thermal-fixes.patch +++ /dev/null @@ -1,224 +0,0 @@ -From 0fe4d2181cc4cb3eba303c0e03f878d2558d0f3a Mon Sep 17 00:00:00 2001 -From: Stefan Wahren <stefan.wahren@i2se.com> -Date: Fri, 31 Mar 2017 20:03:04 +0000 -Subject: [PATCH] ARM: dts: bcm283x: Add CPU thermal zone with 1 - trip point - -As suggested by Eduardo Valentin this adds the thermal zone for -the bcm2835 SoC with its single thermal sensor. We start with -the criticial trip point and leave the cooling devices empty -since we don't have any at the moment. Since the coefficients -could vary depending on the SoC we need to define them separate. - -Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com> -Signed-off-by: Eric Anholt <eric@anholt.net> -Acked-by: Eduardo Valentin <edubezval@gmail.com> ---- - arch/arm/boot/dts/bcm2835.dtsi | 4 ++++ - arch/arm/boot/dts/bcm2836.dtsi | 4 ++++ - arch/arm/boot/dts/bcm283x.dtsi | 21 +++++++++++++++++++++ - 3 files changed, 29 insertions(+) - -diff --git a/arch/arm/boot/dts/bcm2835.dtsi b/arch/arm/boot/dts/bcm2835.dtsi -index 0890d97e674d..659b6e9513b1 100644 ---- a/arch/arm/boot/dts/bcm2835.dtsi -+++ b/arch/arm/boot/dts/bcm2835.dtsi -@@ -24,6 +24,10 @@ - }; - }; - -+&cpu_thermal { -+ coefficients = <(-538) 407000>; -+}; -+ - /* enable thermal sensor with the correct compatible property set */ - &thermal { - compatible = "brcm,bcm2835-thermal"; -diff --git a/arch/arm/boot/dts/bcm2836.dtsi b/arch/arm/boot/dts/bcm2836.dtsi -index 519a44f5d25a..da3deeb42592 100644 ---- a/arch/arm/boot/dts/bcm2836.dtsi -+++ b/arch/arm/boot/dts/bcm2836.dtsi -@@ -77,6 +77,10 @@ - interrupts = <8>; - }; - -+&cpu_thermal { -+ coefficients = <(-538) 407000>; -+}; -+ - /* enable thermal sensor with the correct compatible property set */ - &thermal { - compatible = "brcm,bcm2836-thermal"; -diff --git a/arch/arm/boot/dts/bcm283x.dtsi b/arch/arm/boot/dts/bcm283x.dtsi -index 561f27d8d922..86a5db53da8f 100644 ---- a/arch/arm/boot/dts/bcm283x.dtsi -+++ b/arch/arm/boot/dts/bcm283x.dtsi -@@ -19,6 +19,26 @@ - bootargs = "earlyprintk console=ttyAMA0"; - }; - -+ thermal-zones { -+ cpu_thermal: cpu-thermal { -+ polling-delay-passive = <0>; -+ polling-delay = <1000>; -+ -+ thermal-sensors = <&thermal>; -+ -+ trips { -+ cpu-crit { -+ temperature = <80000>; -+ hysteresis = <0>; -+ type = "critical"; -+ }; -+ }; -+ -+ cooling-maps { -+ }; -+ }; -+ }; -+ - soc { - compatible = "simple-bus"; - #address-cells = <1>; -@@ -430,6 +450,7 @@ - compatible = "brcm,bcm2835-thermal"; - reg = <0x7e212000 0x8>; - clocks = <&clocks BCM2835_CLOCK_TSENS>; -+ #thermal-sensor-cells = <0>; - status = "disabled"; - }; - --- -2.13.3 - -From 4ae6f954b96c1fea86c6f21ae8fc413f5fc3444e Mon Sep 17 00:00:00 2001 -From: Stefan Wahren <stefan.wahren@i2se.com> -Date: Fri, 31 Mar 2017 20:03:05 +0000 -Subject: [PATCH] ARM64: dts: bcm2837: Define CPU thermal coefficients - -This defines the bcm2837 SoC specific thermal coefficients in -order to initialize the thermal driver correctly. - -Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com> -Signed-off-by: Eric Anholt <eric@anholt.net> -Acked-by: Eduardo Valentin <edubezval@gmail.com> ---- - arch/arm64/boot/dts/broadcom/bcm2837.dtsi | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/arch/arm64/boot/dts/broadcom/bcm2837.dtsi b/arch/arm64/boot/dts/broadcom/bcm2837.dtsi -index 19f2fe620a21..2d5de6f0f78d 100644 ---- a/arch/arm64/boot/dts/broadcom/bcm2837.dtsi -+++ b/arch/arm64/boot/dts/broadcom/bcm2837.dtsi -@@ -75,6 +75,10 @@ - interrupts = <8>; - }; - -+&cpu_thermal { -+ coefficients = <(-538) 412000>; -+}; -+ - /* enable thermal sensor with the correct compatible property set */ - &thermal { - compatible = "brcm,bcm2837-thermal"; --- -2.13.3 - -From 1fe3854a83b580727c9464b37b62ba77ead1d6f6 Mon Sep 17 00:00:00 2001 -From: Dan Carpenter <dan.carpenter@oracle.com> -Date: Wed, 14 Jun 2017 12:13:27 +0300 -Subject: [PATCH] thermal: bcm2835: fix an error code in probe() - -This causes a static checker because we're passing a valid pointer to -PTR_ERR(). "err" is already the correct error code, so we can just -delete this line. - -Fixes: bcb7dd9ef206 ("thermal: bcm2835: add thermal driver for bcm2835 SoC") -Acked-by: Stefan Wahren <stefan.wahren@i2se.com> -Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> -Signed-off-by: Eduardo Valentin <edubezval@gmail.com> ---- - drivers/thermal/broadcom/bcm2835_thermal.c | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/drivers/thermal/broadcom/bcm2835_thermal.c b/drivers/thermal/broadcom/bcm2835_thermal.c -index 0ecf80890c84..e6863c841662 100644 ---- a/drivers/thermal/broadcom/bcm2835_thermal.c -+++ b/drivers/thermal/broadcom/bcm2835_thermal.c -@@ -245,7 +245,6 @@ static int bcm2835_thermal_probe(struct platform_device *pdev) - */ - err = tz->ops->get_trip_temp(tz, 0, &trip_temp); - if (err < 0) { -- err = PTR_ERR(tz); - dev_err(&pdev->dev, - "Not able to read trip_temp: %d\n", - err); --- -2.13.3 - -From e3bdc8d7623d5875403ad40443e7b049ae200fcd Mon Sep 17 00:00:00 2001 -From: Arvind Yadav <arvind.yadav.cs@gmail.com> -Date: Tue, 6 Jun 2017 15:12:37 +0530 -Subject: [PATCH] thermal: imx: Handle return value of clk_prepare_enable - -clk_prepare_enable() can fail here and we must check its return value. - -Signed-off-by: Arvind Yadav <arvind.yadav.cs@gmail.com> -Signed-off-by: Eduardo Valentin <edubezval@gmail.com> ---- - drivers/thermal/imx_thermal.c | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git a/drivers/thermal/imx_thermal.c b/drivers/thermal/imx_thermal.c -index f7ec39f46ee4..4798b4b1fd77 100644 ---- a/drivers/thermal/imx_thermal.c -+++ b/drivers/thermal/imx_thermal.c -@@ -660,8 +660,11 @@ static int imx_thermal_resume(struct device *dev) - { - struct imx_thermal_data *data = dev_get_drvdata(dev); - struct regmap *map = data->tempmon; -+ int ret; - -- clk_prepare_enable(data->thermal_clk); -+ ret = clk_prepare_enable(data->thermal_clk); -+ if (ret) -+ return ret; - /* Enabled thermal sensor after resume */ - regmap_write(map, TEMPSENSE0 + REG_CLR, TEMPSENSE0_POWER_DOWN); - regmap_write(map, TEMPSENSE0 + REG_SET, TEMPSENSE0_MEASURE_TEMP); --- -2.13.3 - -From 919054fdfc8adf58c5512fe9872eb53ea0f5525d Mon Sep 17 00:00:00 2001 -From: Arvind Yadav <arvind.yadav.cs@gmail.com> -Date: Tue, 6 Jun 2017 15:04:46 +0530 -Subject: [PATCH] thermal: hisilicon: Handle return value of clk_prepare_enable - -clk_prepare_enable() can fail here and we must check its return value. - -Signed-off-by: Arvind Yadav <arvind.yadav.cs@gmail.com> -Signed-off-by: Eduardo Valentin <edubezval@gmail.com> ---- - drivers/thermal/hisi_thermal.c | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git a/drivers/thermal/hisi_thermal.c b/drivers/thermal/hisi_thermal.c -index f6429666a1cf..9c3ce341eb97 100644 ---- a/drivers/thermal/hisi_thermal.c -+++ b/drivers/thermal/hisi_thermal.c -@@ -397,8 +397,11 @@ static int hisi_thermal_suspend(struct device *dev) - static int hisi_thermal_resume(struct device *dev) - { - struct hisi_thermal_data *data = dev_get_drvdata(dev); -+ int ret; - -- clk_prepare_enable(data->clk); -+ ret = clk_prepare_enable(data->clk); -+ if (ret) -+ return ret; - - data->irq_enabled = true; - hisi_thermal_enable_bind_irq_sensor(data); --- -2.13.3 - diff --git a/freed-ora/current/f26/arm64-Revert-allwinner-a64-pine64-Use-dcdc1-regulato.patch b/freed-ora/current/f26/arm64-Revert-allwinner-a64-pine64-Use-dcdc1-regulato.patch new file mode 100644 index 000000000..33f9271b7 --- /dev/null +++ b/freed-ora/current/f26/arm64-Revert-allwinner-a64-pine64-Use-dcdc1-regulato.patch @@ -0,0 +1,41 @@ +From 90e388ca5d8bbee022f9ed5fc24137b31579fa6e Mon Sep 17 00:00:00 2001 +From: Peter Robinson <pbrobinson@gmail.com> +Date: Wed, 22 Nov 2017 15:52:36 +0000 +Subject: [PATCH] Revert "arm64: allwinner: a64: pine64: Use dcdc1 regulator + for mmc0" + +This reverts commit 3f241bfa60bdc9c4fde63fa6664a8ce00fd668c6. +--- + arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts | 9 ++++++++- + 1 file changed, 8 insertions(+), 1 deletion(-) + +diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts +index d06e34b5d192..caf8b6fbe5e3 100644 +--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts ++++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts +@@ -61,6 +61,13 @@ + chosen { + stdout-path = "serial0:115200n8"; + }; ++ ++ reg_vcc3v3: vcc3v3 { ++ compatible = "regulator-fixed"; ++ regulator-name = "vcc3v3"; ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ }; + }; + + &ehci0 { +@@ -84,7 +91,7 @@ + &mmc0 { + pinctrl-names = "default"; + pinctrl-0 = <&mmc0_pins>; +- vmmc-supply = <®_dcdc1>; ++ vmmc-supply = <®_vcc3v3>; + cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; + cd-inverted; + disable-wp; +-- +2.14.3 + diff --git a/freed-ora/current/f26/arm64-cavium-fixes.patch b/freed-ora/current/f26/arm64-cavium-fixes.patch deleted file mode 100644 index a898bb779..000000000 --- a/freed-ora/current/f26/arm64-cavium-fixes.patch +++ /dev/null @@ -1,455 +0,0 @@ -From c03847b4a603846903ee72a5e1baab03e0591423 Mon Sep 17 00:00:00 2001 -From: Ashok Kumar Sekar <asekar@redhat.com> -Date: Fri, 23 Sep 2016 04:16:19 -0700 -Subject: [PATCH 1/8] PCI: Vulcan: AHCI PCI bar fix for Broadcom Vulcan early - silicon - -PCI BAR 5 is not setup correctly for the on-board AHCI -controller on Broadcom's Vulcan processor. Added a quirk to fix BAR 5 -by using BAR 4's resources which are populated correctly but NOT used -by the AHCI controller actually. - -Signed-off-by: Ashok Kumar Sekar <asekar@redhat.com> -Signed-off-by: Jayachandran C <jchandra@broadcom.com> -Signed-off-by: Robert Richter <rrichter@cavium.com> ---- - drivers/pci/quirks.c | 24 ++++++++++++++++++++++++ - 1 file changed, 24 insertions(+) - -diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c -index dc624fb34e72..94b7bdf63b19 100644 ---- a/drivers/pci/quirks.c -+++ b/drivers/pci/quirks.c -@@ -3994,6 +3994,30 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_BROADCOM, 0x9084, - quirk_bridge_cavm_thrx2_pcie_root); - - /* -+ * PCI BAR 5 is not setup correctly for the on-board AHCI controller -+ * on Broadcom's Vulcan processor. Added a quirk to fix BAR 5 by -+ * using BAR 4's resources which are populated correctly and NOT -+ * actually used by the AHCI controller. -+ */ -+static void quirk_fix_vulcan_ahci_bars(struct pci_dev *dev) -+{ -+ struct resource *r = &dev->resource[4]; -+ -+ if (!(r->flags & IORESOURCE_MEM) || (r->start == 0)) -+ return; -+ -+ /* Set BAR5 resource to BAR4 */ -+ dev->resource[5] = *r; -+ -+ /* Update BAR5 in pci config space */ -+ pci_write_config_dword(dev, PCI_BASE_ADDRESS_5, r->start); -+ -+ /* Clear BAR4's resource */ -+ memset(r, 0, sizeof(*r)); -+} -+DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_BROADCOM, 0x9027, quirk_fix_vulcan_ahci_bars); -+ -+/* - * Intersil/Techwell TW686[4589]-based video capture cards have an empty (zero) - * class code. Fix it. - */ --- -2.11.0 - -From c84892e4b6b671fda7e499a0bb0787bd026de015 Mon Sep 17 00:00:00 2001 -From: Jayachandran C <jnair@caviumnetworks.com> -Date: Fri, 10 Mar 2017 10:04:52 +0000 -Subject: [PATCH 2/8] ahci: thunderx2: Fix for errata that affects stop engine - -Apply workaround for this errata: - Synopsis: Resetting PxCMD.ST may hang the SATA device - - Description: An internal ping-pong buffer state is not reset - correctly for an PxCMD.ST=0 command for a SATA channel. This - may cause the SATA interface to hang when a PxCMD.ST=0 command - is received. - - Workaround: A SATA_BIU_CORE_ENABLE.sw_init_bsi must be asserted - by the driver whenever the PxCMD.ST needs to be de-asserted. This - will reset both the ports. So, it may not always work in a 2 - channel SATA system. - - Resolution: Fix in B0. - -Add the code to ahci_stop_engine() to do this. It is not easy to -stop the other "port" since it is associated with a different AHCI -interface. Please note that with this fix, SATA reset does not -hang any more, but it can cause failures on the other interface -if that is in active use. - -Unfortunately, we have nothing other the the CPU ID to check if the -SATA block has this issue. - -Signed-off-by: Jayachandran C <jnair@caviumnetworks.com> -[added check to restict to pci devs on the soc only] -Signed-off-by: Robert Richter <rrichter@cavium.com> ---- - drivers/ata/libahci.c | 17 +++++++++++++++++ - 1 file changed, 17 insertions(+) - -diff --git a/drivers/ata/libahci.c b/drivers/ata/libahci.c -index 3e286d86ab42..9116bba1b07d 100644 ---- a/drivers/ata/libahci.c -+++ b/drivers/ata/libahci.c -@@ -669,6 +669,23 @@ int ahci_stop_engine(struct ata_port *ap) - tmp &= ~PORT_CMD_START; - writel(tmp, port_mmio + PORT_CMD); - -+#ifdef CONFIG_ARM64 -+ /* Rev Ax of Cavium CN99XX needs a hack for port stop */ -+ if (dev_is_pci(ap->host->dev) && -+ to_pci_dev(ap->host->dev)->vendor == 0x14e4 && -+ to_pci_dev(ap->host->dev)->device == 0x9027 && -+ MIDR_IS_CPU_MODEL_RANGE(read_cpuid_id(), -+ MIDR_CPU_MODEL(ARM_CPU_IMP_BRCM, BRCM_CPU_PART_VULCAN), -+ MIDR_CPU_VAR_REV(0, 0), -+ MIDR_CPU_VAR_REV(0, MIDR_REVISION_MASK))) { -+ tmp = readl(hpriv->mmio + 0x8000); -+ writel(tmp | (1 << 26), hpriv->mmio + 0x8000); -+ udelay(1); -+ writel(tmp & ~(1 << 26), hpriv->mmio + 0x8000); -+ dev_warn(ap->host->dev, "CN99XX stop engine fix applied!\n"); -+ } -+#endif -+ - /* wait for engine to stop. This could be as long as 500 msec */ - tmp = ata_wait_register(ap, port_mmio + PORT_CMD, - PORT_CMD_LIST_ON, PORT_CMD_LIST_ON, 1, 500); --- -2.11.0 - -From 98a39621952f6a13c5198e79f1c080ea6fc1d092 Mon Sep 17 00:00:00 2001 -From: Jayachandran C <jnair@caviumnetworks.com> -Date: Sun, 22 Feb 1998 18:42:42 -0800 -Subject: [PATCH 3/8] ahci: thunderx2: stop engine fix update - -The current reset fix fails during continuous reboot test. The failure -happens when both the on-board SATA slots are used and when one of the -controllers are reset. - -The latest ThunderX2 firmware (3.1) enables hardware error interrupts and -when the reset fix fails, we get a hang with the print: -[ 14.839308] sd 1:0:0:0: [sdb] 468862128 512-byte logical blocks: (240 GB/224 GiB) -[ 14.846796] sd 1:0:0:0: [sdb] 4096-byte physical blocks -[ 14.852036] sd 1:0:0:0: [sdb] Write Protect is off -[ 14.856843] sd 1:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA -[ 14.866022] ata2.00: Enabling discard_zeroes_data - - *** NBU BAR Error 0x1e25c *** - AddrLo 0x1d80180 AddrHi 0x0 - -To fix this issue, update the SATA reset fix to increase the delays between register writes. - -Signed-off-by: Jayachandran C <jnair@caviumnetworks.com> -Signed-off-by: Robert Richter <rrichter@cavium.com> ---- - drivers/ata/libahci.c | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/drivers/ata/libahci.c b/drivers/ata/libahci.c -index 9116bba1b07d..1d3e614bad2b 100644 ---- a/drivers/ata/libahci.c -+++ b/drivers/ata/libahci.c -@@ -679,10 +679,11 @@ int ahci_stop_engine(struct ata_port *ap) - MIDR_CPU_VAR_REV(0, 0), - MIDR_CPU_VAR_REV(0, MIDR_REVISION_MASK))) { - tmp = readl(hpriv->mmio + 0x8000); -+ udelay(100); - writel(tmp | (1 << 26), hpriv->mmio + 0x8000); -- udelay(1); -+ udelay(100); - writel(tmp & ~(1 << 26), hpriv->mmio + 0x8000); -- dev_warn(ap->host->dev, "CN99XX stop engine fix applied!\n"); -+ dev_warn(ap->host->dev, "CN99XX SATA reset workaround applied\n"); - } - #endif - --- -2.11.0 - -From 33c107d2a2b570cd5246262108ad07cc102e9fcd Mon Sep 17 00:00:00 2001 -From: Robert Richter <rrichter@cavium.com> -Date: Thu, 16 Mar 2017 18:01:59 +0100 -Subject: [PATCH 4/8] iommu/arm-smmu, ACPI: Enable Cavium SMMU-v2 - -In next IORT spec release there will be a definition of a Cavium -specific model. Until then, enable the Cavium SMMU using cpu id -registers. All versions of Cavium's SMMUv2 implementation must be -enabled. - -Signed-off-by: Robert Richter <rrichter@cavium.com> ---- - drivers/iommu/arm-smmu.c | 22 +++++++++++++++++++++- - 1 file changed, 21 insertions(+), 1 deletion(-) - -diff --git a/drivers/iommu/arm-smmu.c b/drivers/iommu/arm-smmu.c -index d42cad5a3d52..37aee96ccc0e 100644 ---- a/drivers/iommu/arm-smmu.c -+++ b/drivers/iommu/arm-smmu.c -@@ -53,6 +53,8 @@ - - #include <linux/amba/bus.h> - -+#include <asm/cputype.h> -+ - #include "io-pgtable.h" - #include "arm-smmu-regs.h" - -@@ -1871,6 +1873,24 @@ static const struct of_device_id arm_smmu_of_match[] = { - MODULE_DEVICE_TABLE(of, arm_smmu_of_match); - - #ifdef CONFIG_ACPI -+ -+static int acpi_smmu_enable_cavium(struct arm_smmu_device *smmu, int ret) -+{ -+ u32 cpu_model; -+ -+ if (!IS_ENABLED(CONFIG_ARM64)) -+ return ret; -+ -+ cpu_model = read_cpuid_id() & MIDR_CPU_MODEL_MASK; -+ if (cpu_model != MIDR_THUNDERX) -+ return ret; -+ -+ smmu->version = ARM_SMMU_V2; -+ smmu->model = CAVIUM_SMMUV2; -+ -+ return 0; -+} -+ - static int acpi_smmu_get_data(u32 model, struct arm_smmu_device *smmu) - { - int ret = 0; -@@ -1901,7 +1921,7 @@ static int acpi_smmu_get_data(u32 model, struct arm_smmu_device *smmu) - ret = -ENODEV; - } - -- return ret; -+ return acpi_smmu_enable_cavium(smmu, ret); - } - - static int arm_smmu_device_acpi_probe(struct platform_device *pdev, --- -2.11.0 - -From 5523edb06c95d7ac9e81d94366e71d929c08ebd4 Mon Sep 17 00:00:00 2001 -From: Robert Richter <rrichter@cavium.com> -Date: Wed, 12 Apr 2017 15:06:03 +0200 -Subject: [PATCH 5/8] iommu: Print a message with the default domain type - created - -There are several ways the bypass mode can be enabled. With commit - - fccb4e3b8ab0 iommu: Allow default domain type to be set on the kernel command line - -there is the option to switch into bypass mode. And, depending on -devicetree options, bypass mode can be also enabled. This makes it -hard to determine if direct mapping is enabled. Print message with the -default domain type case. - -Signed-off-by: Robert Richter <rrichter@cavium.com> ---- - drivers/iommu/iommu.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/drivers/iommu/iommu.c b/drivers/iommu/iommu.c -index 3f6ea160afed..7aaafaca6baf 100644 ---- a/drivers/iommu/iommu.c -+++ b/drivers/iommu/iommu.c -@@ -599,7 +599,9 @@ int iommu_group_add_device(struct iommu_group *group, struct device *dev) - - trace_add_device_to_group(group->id, dev); - -- pr_info("Adding device %s to group %d\n", dev_name(dev), group->id); -+ pr_info("Adding device %s to group %d, default domain type %d\n", -+ dev_name(dev), group->id, -+ group->default_domain ? group->default_domain->type : -1); - - return 0; - --- -2.11.0 - -From 71e0ad5ab606077c24a96d69f4bfed58d7ef16c7 Mon Sep 17 00:00:00 2001 -From: Robert Richter <rrichter@cavium.com> -Date: Thu, 4 May 2017 17:48:48 +0200 -Subject: [PATCH 6/8] iommu, aarch64: Set bypass mode per default - -We see a performance degradation if smmu is enabled in non-bypass mode. -This is a problem in the kernel's implememntation. Until that is solved, -enable smmu in bypass mode per default. - -We have tested that SMMU passthrough mode doesn't effect VFIO on both -CN88xx and CN99xx and haven't found any issues. - -Signed-off-by: Robert Richter <rrichter@cavium.com> ---- - drivers/iommu/iommu.c | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/drivers/iommu/iommu.c b/drivers/iommu/iommu.c -index 7aaafaca6baf..24de0b934221 100644 ---- a/drivers/iommu/iommu.c -+++ b/drivers/iommu/iommu.c -@@ -36,7 +36,12 @@ - - static struct kset *iommu_group_kset; - static DEFINE_IDA(iommu_group_ida); -+ -+#ifdef CONFIG_ARM64 -+static unsigned int iommu_def_domain_type = IOMMU_DOMAIN_IDENTITY; -+#else - static unsigned int iommu_def_domain_type = IOMMU_DOMAIN_DMA; -+#endif - - struct iommu_callback_data { - const struct iommu_ops *ops; --- -2.11.0 - -From 27f103963f926d6a7a8adaad1ee227fd3b51f591 Mon Sep 17 00:00:00 2001 -From: Robert Richter <rrichter@cavium.com> -Date: Wed, 12 Apr 2017 10:31:15 +0200 -Subject: [PATCH 7/8] iommu/arm-smmu, ACPI: Enable Cavium SMMU-v3 - -In next IORT spec release there will be a definition of a Cavium -specific model. Until then, enable the Cavium SMMU using cpu id -registers. Early silicon versions (A1) of Cavium's CN99xx SMMUv3 -implementation must be enabled. For later silicon versions (B0) the -iort change will be in place. - -Signed-off-by: Robert Richter <rrichter@cavium.com> ---- - drivers/acpi/arm64/iort.c | 16 ++++++++++++++-- - drivers/iommu/arm-smmu-v3.c | 19 +++++++++++++++++++ - 2 files changed, 33 insertions(+), 2 deletions(-) - -diff --git a/drivers/acpi/arm64/iort.c b/drivers/acpi/arm64/iort.c -index a3215ee671c1..b603af92eec2 100644 ---- a/drivers/acpi/arm64/iort.c -+++ b/drivers/acpi/arm64/iort.c -@@ -26,6 +26,8 @@ - #include <linux/platform_device.h> - #include <linux/slab.h> - -+#include <asm/cputype.h> -+ - #define IORT_TYPE_MASK(type) (1 << (type)) - #define IORT_MSI_TYPE (1 << ACPI_IORT_NODE_ITS_GROUP) - #define IORT_IOMMU_TYPE ((1 << ACPI_IORT_NODE_SMMU) | \ -@@ -824,13 +826,22 @@ static int __init arm_smmu_v3_count_resources(struct acpi_iort_node *node) - return num_res; - } - -+static bool is_cavium_cn99xx_smmu_v3(void) -+{ -+ u32 cpu_model = read_cpuid_id() & MIDR_CPU_MODEL_MASK; -+ -+ return cpu_model == MIDR_CPU_MODEL(ARM_CPU_IMP_BRCM, -+ BRCM_CPU_PART_VULCAN); -+} -+ - static bool arm_smmu_v3_is_combined_irq(struct acpi_iort_smmu_v3 *smmu) - { - /* - * Cavium ThunderX2 implementation doesn't not support unique - * irq line. Use single irq line for all the SMMUv3 interrupts. - */ -- if (smmu->model != ACPI_IORT_SMMU_V3_CAVIUM_CN99XX) -+ if (smmu->model != ACPI_IORT_SMMU_V3_CAVIUM_CN99XX -+ && !is_cavium_cn99xx_smmu_v3()) - return false; - - /* -@@ -848,7 +859,8 @@ static unsigned long arm_smmu_v3_resource_size(struct acpi_iort_smmu_v3 *smmu) - * Override the size, for Cavium ThunderX2 implementation - * which doesn't support the page 1 SMMU register space. - */ -- if (smmu->model == ACPI_IORT_SMMU_V3_CAVIUM_CN99XX) -+ if (smmu->model == ACPI_IORT_SMMU_V3_CAVIUM_CN99XX -+ || is_cavium_cn99xx_smmu_v3()) - return SZ_64K; - - return SZ_128K; -diff --git a/drivers/iommu/arm-smmu-v3.c b/drivers/iommu/arm-smmu-v3.c -index 568c400eeaed..d147cb5c7309 100644 ---- a/drivers/iommu/arm-smmu-v3.c -+++ b/drivers/iommu/arm-smmu-v3.c -@@ -39,6 +39,8 @@ - - #include <linux/amba/bus.h> - -+#include <asm/cputype.h> -+ - #include "io-pgtable.h" - - /* MMIO registers */ -@@ -2659,6 +2661,21 @@ static int arm_smmu_device_hw_probe(struct arm_smmu_device *smmu) - } - - #ifdef CONFIG_ACPI -+ -+static void acpi_smmu_enable_cavium(struct arm_smmu_device *smmu) -+{ -+ u32 cpu_model; -+ -+ if (!IS_ENABLED(CONFIG_ARM64)) -+ return; -+ -+ cpu_model = read_cpuid_id() & MIDR_CPU_MODEL_MASK; -+ if (cpu_model != MIDR_CPU_MODEL(ARM_CPU_IMP_BRCM, BRCM_CPU_PART_VULCAN)) -+ return; -+ -+ smmu->options |= ARM_SMMU_OPT_PAGE0_REGS_ONLY; -+} -+ - static void acpi_smmu_get_options(u32 model, struct arm_smmu_device *smmu) - { - switch (model) { -@@ -2670,6 +2687,8 @@ static void acpi_smmu_get_options(u32 model, struct arm_smmu_device *smmu) - break; - } - -+ acpi_smmu_enable_cavium(smmu); -+ - dev_notice(smmu->dev, "option mask 0x%x\n", smmu->options); - } - --- -2.11.0 - -From ff677cc625b52b93351dd73d7881251067f0e976 Mon Sep 17 00:00:00 2001 -From: Radha Mohan Chintakuntla <rchintakuntla@cavium.com> -Date: Wed, 20 Aug 2014 15:10:58 -0700 -Subject: [PATCH 8/8] arm64: gicv3: its: Increase FORCE_MAX_ZONEORDER for - Cavium ThunderX - -In case of ARCH_THUNDER, there is a need to allocate the GICv3 ITS table -which is bigger than the allowed max order. So we are forcing it only in -case of 4KB page size. - -Signed-off-by: Radha Mohan Chintakuntla <rchintakuntla@cavium.com> -[rric: use ARM64_4K_PAGES since we have now ARM64_16K_PAGES, change order] -Signed-off-by: Robert Richter <rrichter@cavium.com> ---- - arch/arm64/Kconfig | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig -index 2c3e2d693d76..023867378f45 100644 ---- a/arch/arm64/Kconfig -+++ b/arch/arm64/Kconfig -@@ -784,6 +784,7 @@ config FORCE_MAX_ZONEORDER - default "14" if (ARM64_64K_PAGES && TRANSPARENT_HUGEPAGE) - default "13" if (ARCH_THUNDER && !ARM64_64K_PAGES) - default "12" if (ARM64_16K_PAGES && TRANSPARENT_HUGEPAGE) -+ default "13" if (ARM64_4K_PAGES && ARCH_THUNDER) - default "11" - help - The kernel memory allocator divides physically contiguous memory --- -2.11.0 - diff --git a/freed-ora/current/f26/arm64-socionext-96b-enablement.patch b/freed-ora/current/f26/arm64-socionext-96b-enablement.patch new file mode 100644 index 000000000..0a7df3a19 --- /dev/null +++ b/freed-ora/current/f26/arm64-socionext-96b-enablement.patch @@ -0,0 +1,3099 @@ +From 58be18a7bbf9dca67f4260ac172a44baa59d0ee9 Mon Sep 17 00:00:00 2001 +From: Ard Biesheuvel <ard.biesheuvel@linaro.org> +Date: Mon, 21 Aug 2017 10:47:48 +0100 +Subject: arm64: acpi/gtdt: validate CNTFRQ after having enabled the frame + +The ACPI GTDT code validates the CNTFRQ field of each MMIO timer +frame against the CNTFRQ system register of the current CPU, to +ensure that they are equal, which is mandated by the architecture. + +However, reading the CNTFRQ field of a frame is not possible until +the RFRQ bit in the frame's CNTACRn register is set, and doing so +before that willl produce the following error: + + arch_timer: [Firmware Bug]: CNTFRQ mismatch: frame @ 0x00000000e0be0000: (0x00000000), CPU: (0x0ee6b280) + arch_timer: Disabling MMIO timers due to CNTFRQ mismatch + arch_timer: Failed to initialize memory-mapped timer. + +The reason is that the CNTFRQ field is RES0 if access is not enabled. + +So move the validation of CNTFRQ into the loop that iterates over the +timers to find the best frame, but defer it until after we have selected +the best frame, which should also have enabled the RFRQ bit. + +Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> +--- + drivers/clocksource/arm_arch_timer.c | 38 ++++++++++++++++++++---------------- + 1 file changed, 21 insertions(+), 17 deletions(-) + +diff --git a/drivers/clocksource/arm_arch_timer.c b/drivers/clocksource/arm_arch_timer.c +index fd4b7f6..14e2419 100644 +--- a/drivers/clocksource/arm_arch_timer.c ++++ b/drivers/clocksource/arm_arch_timer.c +@@ -1268,10 +1268,6 @@ arch_timer_mem_find_best_frame(struct arch_timer_mem *timer_mem) + + iounmap(cntctlbase); + +- if (!best_frame) +- pr_err("Unable to find a suitable frame in timer @ %pa\n", +- &timer_mem->cntctlbase); +- + return best_frame; + } + +@@ -1372,6 +1368,8 @@ static int __init arch_timer_mem_of_init(struct device_node *np) + + frame = arch_timer_mem_find_best_frame(timer_mem); + if (!frame) { ++ pr_err("Unable to find a suitable frame in timer @ %pa\n", ++ &timer_mem->cntctlbase); + ret = -EINVAL; + goto out; + } +@@ -1420,7 +1418,7 @@ arch_timer_mem_verify_cntfrq(struct arch_timer_mem *timer_mem) + static int __init arch_timer_mem_acpi_init(int platform_timer_count) + { + struct arch_timer_mem *timers, *timer; +- struct arch_timer_mem_frame *frame; ++ struct arch_timer_mem_frame *frame, *best_frame = NULL; + int timer_count, i, ret = 0; + + timers = kcalloc(platform_timer_count, sizeof(*timers), +@@ -1432,14 +1430,6 @@ static int __init arch_timer_mem_acpi_init(int platform_timer_count) + if (ret || !timer_count) + goto out; + +- for (i = 0; i < timer_count; i++) { +- ret = arch_timer_mem_verify_cntfrq(&timers[i]); +- if (ret) { +- pr_err("Disabling MMIO timers due to CNTFRQ mismatch\n"); +- goto out; +- } +- } +- + /* + * While unlikely, it's theoretically possible that none of the frames + * in a timer expose the combination of feature we want. +@@ -1448,12 +1438,26 @@ static int __init arch_timer_mem_acpi_init(int platform_timer_count) + timer = &timers[i]; + + frame = arch_timer_mem_find_best_frame(timer); +- if (frame) +- break; ++ if (!best_frame) ++ best_frame = frame; ++ ++ ret = arch_timer_mem_verify_cntfrq(timer); ++ if (ret) { ++ pr_err("Disabling MMIO timers due to CNTFRQ mismatch\n"); ++ goto out; ++ } ++ ++ if (!best_frame) /* implies !frame */ ++ /* ++ * Only complain about missing suitable frames if we ++ * haven't already found one in a previous iteration. ++ */ ++ pr_err("Unable to find a suitable frame in timer @ %pa\n", ++ &timer->cntctlbase); + } + +- if (frame) +- ret = arch_timer_mem_frame_register(frame); ++ if (best_frame) ++ ret = arch_timer_mem_frame_register(best_frame); + out: + kfree(timers); + return ret; +-- +cgit v1.1 + +From 33d983b5bb2929ae242606925e708092b1dfdd8f Mon Sep 17 00:00:00 2001 +From: Ard Biesheuvel <ard.biesheuvel@linaro.org> +Date: Sat, 2 Sep 2017 11:01:22 +0100 +Subject: drivers/irqchip: gicv3: add workaround for Synquacer pre-ITS + +In their infinite wisdom, the Socionext engineers have decided +that ITS device IDs should not be hardwired, but it should be +left up to the software to assign them, by allowing it to +redirect MSI doorbell writes via a separate hardware block +that issues the doorbell write with a device ID that is +derived from the memory address. This completely breaks any +kind of isolation, or virtualization in general, for that +matter, but add support for it nonetheless. + +Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> +--- + arch/arm64/Kconfig | 8 +++++++ + drivers/irqchip/irq-gic-v3-its.c | 48 +++++++++++++++++++++++++++++++++++----- + 2 files changed, 51 insertions(+), 5 deletions(-) + +diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig +index 0df64a6..c4361df 100644 +--- a/arch/arm64/Kconfig ++++ b/arch/arm64/Kconfig +@@ -539,6 +539,14 @@ config QCOM_QDF2400_ERRATUM_0065 + + If unsure, say Y. + ++config SOCIONEXT_SYNQUACER_PREITS ++ bool "Socionext Synquacer: Workaround for GICv3 pre-ITS" ++ default y ++ help ++ Socionext Synquacer SoCs implement a separate h/w block to generate ++ MSI doorbell writes with non-zero values for the device ID. ++ ++ If unsure, say Y. + endmenu + + +diff --git a/drivers/irqchip/irq-gic-v3-its.c b/drivers/irqchip/irq-gic-v3-its.c +index e8d8934..0d372f1 100644 +--- a/drivers/irqchip/irq-gic-v3-its.c ++++ b/drivers/irqchip/irq-gic-v3-its.c +@@ -46,6 +46,7 @@ + #define ITS_FLAGS_CMDQ_NEEDS_FLUSHING (1ULL << 0) + #define ITS_FLAGS_WORKAROUND_CAVIUM_22375 (1ULL << 1) + #define ITS_FLAGS_WORKAROUND_CAVIUM_23144 (1ULL << 2) ++#define ITS_FLAGS_WORKAROUND_SOCIONEXT_PREITS (1ULL << 3) + + #define RDIST_FLAGS_PROPBASE_NEEDS_FLUSHING (1 << 0) + +@@ -99,6 +100,10 @@ struct its_node { + struct its_collection *collections; + struct list_head its_device_list; + u64 flags; ++#ifdef CONFIG_SOCIONEXT_SYNQUACER_PREITS ++ u64 pre_its_base; ++ u64 pre_its_size; ++#endif + u32 ite_size; + u32 device_ids; + int numa_node; +@@ -1102,13 +1107,29 @@ static void its_irq_compose_msi_msg(struct irq_data *d, struct msi_msg *msg) + u64 addr; + + its = its_dev->its; +- addr = its->phys_base + GITS_TRANSLATER; ++ ++#ifdef CONFIG_SOCIONEXT_SYNQUACER_PREITS ++ if (its->flags & ITS_FLAGS_WORKAROUND_SOCIONEXT_PREITS) ++ ++ /* ++ * The Socionext Synquacer SoC has a so-called 'pre-ITS', ++ * which maps 32-bit writes into a separate window of size ++ * '4 << device_id_bits' onto writes to GITS_TRANSLATER with ++ * device ID taken from bits [device_id_bits + 1:2] of the ++ * window offset. ++ */ ++ addr = its->pre_its_base + (its_dev->device_id << 2); ++ else ++#endif ++ addr = its->phys_base + GITS_TRANSLATER; + + msg->address_lo = lower_32_bits(addr); + msg->address_hi = upper_32_bits(addr); + msg->data = its_get_event_id(d); + +- iommu_dma_map_msi_msg(d->irq, msg); ++ if (!IS_ENABLED(CONFIG_SOCIONEXT_SYNQUACER_PREITS) || ++ !(its->flags & ITS_FLAGS_WORKAROUND_SOCIONEXT_PREITS)) ++ iommu_dma_map_msi_msg(d->irq, msg); + } + + static int its_irq_set_irqchip_state(struct irq_data *d, +@@ -1666,6 +1687,11 @@ static int its_alloc_tables(struct its_node *its) + ids = 0x14; /* 20 bits, 8MB */ + } + ++#ifdef CONFIG_SOCIONEXT_SYNQUACER_PREITS ++ if (its->flags & ITS_FLAGS_WORKAROUND_SOCIONEXT_PREITS) ++ ids = ilog2(its->pre_its_size) - 2; ++#endif ++ + its->device_ids = ids; + + for (i = 0; i < GITS_BASER_NR_REGS; i++) { +@@ -2788,11 +2814,21 @@ static const struct gic_quirk its_quirks[] = { + } + }; + +-static void its_enable_quirks(struct its_node *its) ++static void its_enable_quirks(struct its_node *its, ++ struct fwnode_handle *handle) + { + u32 iidr = readl_relaxed(its->base + GITS_IIDR); + + gic_enable_quirks(iidr, its_quirks, its); ++ ++#ifdef CONFIG_SOCIONEXT_SYNQUACER_PREITS ++ if (!fwnode_property_read_u64_array(handle, ++ "socionext,synquacer-pre-its", ++ &its->pre_its_base, 2)) { ++ its->flags |= ITS_FLAGS_WORKAROUND_SOCIONEXT_PREITS; ++ pr_info("ITS: enabling workaround for Socionext Synquacer pre-ITS\n"); ++ } ++#endif + } + + static int its_init_domain(struct fwnode_handle *handle, struct its_node *its) +@@ -2812,7 +2848,9 @@ static int its_init_domain(struct fwnode_handle *handle, struct its_node *its) + + inner_domain->parent = its_parent; + irq_domain_update_bus_token(inner_domain, DOMAIN_BUS_NEXUS); +- inner_domain->flags |= IRQ_DOMAIN_FLAG_MSI_REMAP; ++ ++ if (!(its->flags & ITS_FLAGS_WORKAROUND_SOCIONEXT_PREITS)) ++ inner_domain->flags |= IRQ_DOMAIN_FLAG_MSI_REMAP; + info->ops = &its_msi_domain_ops; + info->data = its; + inner_domain->host_data = info; +@@ -2966,7 +3004,7 @@ static int __init its_probe_one(struct resource *res, + } + its->cmd_write = its->cmd_base; + +- its_enable_quirks(its); ++ its_enable_quirks(its, handle); + + err = its_alloc_tables(its); + if (err) +-- +cgit v1.1 + +From 26e7bb47b0fb03a01be1e391a08c7375b45335a2 Mon Sep 17 00:00:00 2001 +From: Ard Biesheuvel <ard.biesheuvel@linaro.org> +Date: Mon, 21 Aug 2017 20:29:05 +0100 +Subject: pci: designware: add driver for DWC controller in ECAM shift mode + +Some implementations of the Synopsys Designware PCIe controller implement +a so-called ECAM shift mode, which allows a static memory window to be +configured that covers the configuration space of the entire bus range. + +If the firmware performs all the low level configuration that is required +to expose this controller in a fully ECAM compatible manner, we can +simply describe it as "pci-host-ecam-generic" and be done with it. +However, it appears that in some cases (one of which is the Armada 80x0), +the IP is synthesized with an ATU window size that does not allow the +first bus to be mapped in a way that prevents the device on the +downstream port from appearing more than once. + +So implement a driver that relies on the firmware to perform all low +level initialization, and drives the controller in ECAM mode, but +overrides the config space accessors to take the above quirk into +account. + +Note that, unlike most drivers for this IP, this driver does not expose +a fake bridge device at B/D/F 00:00.0. There is no point in doing so, +given that this is not a true bridge, and does not require any windows +to be configured in order for the downstream device to operate correctly. +Omitting it also prevents the PCI resource allocation routines from +handing out BAR space to it unnecessarily. + +Cc: Bjorn Helgaas <bhelgaas@google.com> +Cc: Jingoo Han <jingoohan1@gmail.com> +Cc: Joao Pinto <Joao.Pinto@synopsys.com> +Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> +--- + drivers/pci/dwc/Kconfig | 11 +++++ + drivers/pci/dwc/Makefile | 1 + + drivers/pci/dwc/pcie-designware-ecam.c | 77 ++++++++++++++++++++++++++++++++++ + 3 files changed, 89 insertions(+) + create mode 100644 drivers/pci/dwc/pcie-designware-ecam.c + +diff --git a/drivers/pci/dwc/Kconfig b/drivers/pci/dwc/Kconfig +index 22ec82f..19856b1 100644 +--- a/drivers/pci/dwc/Kconfig ++++ b/drivers/pci/dwc/Kconfig +@@ -169,4 +169,15 @@ config PCIE_KIRIN + Say Y here if you want PCIe controller support + on HiSilicon Kirin series SoCs. + ++config PCIE_DW_HOST_ECAM ++ bool "Synopsys DesignWare PCIe controller in ECAM mode" ++ depends on OF && PCI ++ select PCI_HOST_COMMON ++ select IRQ_DOMAIN ++ help ++ Add support for Synopsys DesignWare PCIe controllers configured ++ by the firmware into ECAM shift mode. In some cases, these are ++ fully ECAM compliant, in which case the pci-host-generic driver ++ may be used instead. ++ + endmenu +diff --git a/drivers/pci/dwc/Makefile b/drivers/pci/dwc/Makefile +index c61be97..7d5a23e 100644 +--- a/drivers/pci/dwc/Makefile ++++ b/drivers/pci/dwc/Makefile +@@ -1,5 +1,6 @@ + # SPDX-License-Identifier: GPL-2.0 + obj-$(CONFIG_PCIE_DW) += pcie-designware.o + obj-$(CONFIG_PCIE_DW_HOST) += pcie-designware-host.o ++obj-$(CONFIG_PCIE_DW_HOST_ECAM) += pcie-designware-ecam.o + obj-$(CONFIG_PCIE_DW_EP) += pcie-designware-ep.o + obj-$(CONFIG_PCIE_DW_PLAT) += pcie-designware-plat.o + ifneq ($(filter y,$(CONFIG_PCI_DRA7XX_HOST) $(CONFIG_PCI_DRA7XX_EP)),) +diff --git a/drivers/pci/dwc/pcie-designware-ecam.c b/drivers/pci/dwc/pcie-designware-ecam.c +new file mode 100644 +index 0000000..ede627d +--- /dev/null ++++ b/drivers/pci/dwc/pcie-designware-ecam.c +@@ -0,0 +1,77 @@ ++/* ++ * Driver for mostly ECAM compatible Synopsys dw PCIe controllers ++ * configured by the firmware into RC mode ++ * ++ * 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. ++ * ++ * Copyright (C) 2014 ARM Limited ++ * Copyright (C) 2017 Linaro Limited ++ * ++ * Authors: Will Deacon <will.deacon@arm.com> ++ * Ard Biesheuvel <ard.biesheuvel@linaro.org> ++ */ ++ ++#include <linux/kernel.h> ++#include <linux/init.h> ++#include <linux/of_address.h> ++#include <linux/of_pci.h> ++#include <linux/pci-ecam.h> ++#include <linux/platform_device.h> ++ ++static int pci_dw_ecam_config_read(struct pci_bus *bus, u32 devfn, int where, ++ int size, u32 *val) ++{ ++ struct pci_config_window *cfg = bus->sysdata; ++ ++ /* ++ * The Synopsys dw PCIe controller in RC mode will not filter type 0 ++ * config TLPs sent to devices 1 and up on its downstream port, ++ * resulting in devices appearing multiple times on bus 0 unless we ++ * filter them here. ++ */ ++ if (bus->number == cfg->busr.start && PCI_SLOT(devfn) > 0) { ++ *val = 0xffffffff; ++ return PCIBIOS_DEVICE_NOT_FOUND; ++ } ++ return pci_generic_config_read(bus, devfn, where, size, val); ++} ++ ++static int pci_dw_ecam_config_write(struct pci_bus *bus, u32 devfn, int where, ++ int size, u32 val) ++{ ++ struct pci_config_window *cfg = bus->sysdata; ++ ++ if (bus->number == cfg->busr.start && PCI_SLOT(devfn) > 0) ++ return PCIBIOS_DEVICE_NOT_FOUND; ++ ++ return pci_generic_config_write(bus, devfn, where, size, val); ++} ++ ++static struct pci_ecam_ops pci_dw_ecam_bus_ops = { ++ .pci_ops.map_bus = pci_ecam_map_bus, ++ .pci_ops.read = pci_dw_ecam_config_read, ++ .pci_ops.write = pci_dw_ecam_config_write, ++ .bus_shift = 20, ++}; ++ ++static const struct of_device_id pci_dw_ecam_of_match[] = { ++ { .compatible = "marvell,armada8k-pcie-ecam" }, ++ { .compatible = "socionext,synquacer-pcie-ecam" }, ++ { .compatible = "snps,dw-pcie-ecam" }, ++ { }, ++}; ++ ++static int pci_dw_ecam_probe(struct platform_device *pdev) ++{ ++ return pci_host_common_probe(pdev, &pci_dw_ecam_bus_ops); ++} ++ ++static struct platform_driver pci_dw_ecam_driver = { ++ .driver.name = "pcie-designware-ecam", ++ .driver.of_match_table = pci_dw_ecam_of_match, ++ .driver.suppress_bind_attrs = true, ++ .probe = pci_dw_ecam_probe, ++}; ++builtin_platform_driver(pci_dw_ecam_driver); +-- +cgit v1.1 + +From e3dff048a10f16aa0fd32438442ce39558bbdbef Mon Sep 17 00:00:00 2001 +From: Jassi Brar <jaswinder.singh@linaro.org> +Date: Tue, 29 Aug 2017 22:45:59 +0530 +Subject: net: socionext: Add Synquacer NetSec driver + +This driver adds support for Socionext "netsec" IP Gigabit +Ethernet + PHY IP used in the Synquacer SC2A11 SoC. + +Signed-off-by: Jassi Brar <jaswinder.singh@linaro.org> +Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> +--- + drivers/net/ethernet/Kconfig | 1 + + drivers/net/ethernet/Makefile | 1 + + drivers/net/ethernet/socionext/Kconfig | 29 + + drivers/net/ethernet/socionext/Makefile | 1 + + drivers/net/ethernet/socionext/netsec/Makefile | 6 + + drivers/net/ethernet/socionext/netsec/netsec.h | 408 ++++++++++++++ + .../socionext/netsec/netsec_desc_ring_access.c | 623 +++++++++++++++++++++ + .../net/ethernet/socionext/netsec/netsec_ethtool.c | 78 +++ + .../ethernet/socionext/netsec/netsec_gmac_access.c | 330 +++++++++++ + .../net/ethernet/socionext/netsec/netsec_netdev.c | 540 ++++++++++++++++++ + .../ethernet/socionext/netsec/netsec_platform.c | 435 ++++++++++++++ + 11 files changed, 2452 insertions(+) + create mode 100644 drivers/net/ethernet/socionext/Kconfig + create mode 100644 drivers/net/ethernet/socionext/Makefile + create mode 100644 drivers/net/ethernet/socionext/netsec/Makefile + create mode 100644 drivers/net/ethernet/socionext/netsec/netsec.h + create mode 100644 drivers/net/ethernet/socionext/netsec/netsec_desc_ring_access.c + create mode 100644 drivers/net/ethernet/socionext/netsec/netsec_ethtool.c + create mode 100644 drivers/net/ethernet/socionext/netsec/netsec_gmac_access.c + create mode 100644 drivers/net/ethernet/socionext/netsec/netsec_netdev.c + create mode 100644 drivers/net/ethernet/socionext/netsec/netsec_platform.c + +diff --git a/drivers/net/ethernet/Kconfig b/drivers/net/ethernet/Kconfig +index c604213..d50519e 100644 +--- a/drivers/net/ethernet/Kconfig ++++ b/drivers/net/ethernet/Kconfig +@@ -170,6 +170,7 @@ source "drivers/net/ethernet/sis/Kconfig" + source "drivers/net/ethernet/sfc/Kconfig" + source "drivers/net/ethernet/sgi/Kconfig" + source "drivers/net/ethernet/smsc/Kconfig" ++source "drivers/net/ethernet/socionext/Kconfig" + source "drivers/net/ethernet/stmicro/Kconfig" + source "drivers/net/ethernet/sun/Kconfig" + source "drivers/net/ethernet/tehuti/Kconfig" +diff --git a/drivers/net/ethernet/Makefile b/drivers/net/ethernet/Makefile +index a0a03d4..6ae1bb9 100644 +--- a/drivers/net/ethernet/Makefile ++++ b/drivers/net/ethernet/Makefile +@@ -81,6 +81,7 @@ obj-$(CONFIG_SFC) += sfc/ + obj-$(CONFIG_SFC_FALCON) += sfc/falcon/ + obj-$(CONFIG_NET_VENDOR_SGI) += sgi/ + obj-$(CONFIG_NET_VENDOR_SMSC) += smsc/ ++obj-$(CONFIG_NET_VENDOR_SNI) += socionext/ + obj-$(CONFIG_NET_VENDOR_STMICRO) += stmicro/ + obj-$(CONFIG_NET_VENDOR_SUN) += sun/ + obj-$(CONFIG_NET_VENDOR_TEHUTI) += tehuti/ +diff --git a/drivers/net/ethernet/socionext/Kconfig b/drivers/net/ethernet/socionext/Kconfig +new file mode 100644 +index 0000000..a6dc195 +--- /dev/null ++++ b/drivers/net/ethernet/socionext/Kconfig +@@ -0,0 +1,29 @@ ++# ++# Socionext Network device configuration ++# ++ ++config NET_VENDOR_SNI ++ bool "Socionext devices" ++ default y ++ ---help--- ++ If you have a network (Ethernet) card belonging to this class, say Y. ++ ++ Note that the answer to this question doesn't directly affect the ++ the questions about Socionext cards. If you say Y, you will be asked ++ for your specific card in the following questions. ++ ++if NET_VENDOR_SNI ++ ++config SNI_NETSEC ++ tristate "NETSEC Driver Support" ++ depends on OF ++ select PHYLIB ++ select MII ++help ++ Enable to add support for the SocioNext NetSec Gigabit Ethernet ++ controller + PHY, as found on the Synquacer SC2A11 SoC ++ ++ To compile this driver as a module, choose M here: the module will be ++ called netsec. If unsure, say N. ++ ++endif # NET_VENDOR_SNI +diff --git a/drivers/net/ethernet/socionext/Makefile b/drivers/net/ethernet/socionext/Makefile +new file mode 100644 +index 0000000..9555899 +--- /dev/null ++++ b/drivers/net/ethernet/socionext/Makefile +@@ -0,0 +1 @@ ++obj-$(CONFIG_SNI_NETSEC) += netsec/ +diff --git a/drivers/net/ethernet/socionext/netsec/Makefile b/drivers/net/ethernet/socionext/netsec/Makefile +new file mode 100644 +index 0000000..18884ed +--- /dev/null ++++ b/drivers/net/ethernet/socionext/netsec/Makefile +@@ -0,0 +1,6 @@ ++obj-$(CONFIG_SNI_NETSEC) := netsec.o ++netsec-objs := netsec_desc_ring_access.o \ ++ netsec_netdev.o \ ++ netsec_ethtool.o \ ++ netsec_platform.o \ ++ netsec_gmac_access.o +diff --git a/drivers/net/ethernet/socionext/netsec/netsec.h b/drivers/net/ethernet/socionext/netsec/netsec.h +new file mode 100644 +index 0000000..3b97661 +--- /dev/null ++++ b/drivers/net/ethernet/socionext/netsec/netsec.h +@@ -0,0 +1,408 @@ ++/** ++ * netsec.h ++ * ++ * Copyright (C) 2013-2014 Fujitsu Semiconductor Limited. ++ * Copyright (C) 2014-2017 Linaro Ltd. All rights reserved. ++ * Andy Green <andy.green@linaro.org> ++ * Jassi Brar <jaswinder.singh@linaro.org> ++ * Ard Biesheuvel <ard.biesheuvel@linaro.org> ++ * ++ * This program is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU General Public License ++ * as published by the Free Software Foundation; either version 2 ++ * of the License, or (at your option) any later version. ++ */ ++#ifndef NETSEC_INTERNAL_H ++#define NETSEC_INTERNAL_H ++ ++#include <linux/netdevice.h> ++#include <linux/types.h> ++#include <linux/device.h> ++#include <linux/phy.h> ++#include <linux/ethtool.h> ++#include <linux/of_address.h> ++#include <linux/of_mdio.h> ++#include <linux/etherdevice.h> ++#include <net/sock.h> ++ ++#define NETSEC_FLOW_CONTROL_START_THRESHOLD 36 ++#define NETSEC_FLOW_CONTROL_STOP_THRESHOLD 48 ++ ++#define NETSEC_CLK_MHZ 1000000 ++ ++#define NETSEC_RX_PKT_BUF_LEN 1522 ++#define NETSEC_RX_JUMBO_PKT_BUF_LEN 9022 ++ ++#define NETSEC_NETDEV_TX_PKT_SCAT_NUM_MAX 19 ++ ++#define DESC_NUM 128 ++ ++#define NETSEC_TX_SHIFT_OWN_FIELD 31 ++#define NETSEC_TX_SHIFT_LD_FIELD 30 ++#define NETSEC_TX_SHIFT_DRID_FIELD 24 ++#define NETSEC_TX_SHIFT_PT_FIELD 21 ++#define NETSEC_TX_SHIFT_TDRID_FIELD 16 ++#define NETSEC_TX_SHIFT_CC_FIELD 15 ++#define NETSEC_TX_SHIFT_FS_FIELD 9 ++#define NETSEC_TX_LAST 8 ++#define NETSEC_TX_SHIFT_CO 7 ++#define NETSEC_TX_SHIFT_SO 6 ++#define NETSEC_TX_SHIFT_TRS_FIELD 4 ++ ++#define NETSEC_RX_PKT_OWN_FIELD 31 ++#define NETSEC_RX_PKT_LD_FIELD 30 ++#define NETSEC_RX_PKT_SDRID_FIELD 24 ++#define NETSEC_RX_PKT_FR_FIELD 23 ++#define NETSEC_RX_PKT_ER_FIELD 21 ++#define NETSEC_RX_PKT_ERR_FIELD 16 ++#define NETSEC_RX_PKT_TDRID_FIELD 12 ++#define NETSEC_RX_PKT_FS_FIELD 9 ++#define NETSEC_RX_PKT_LS_FIELD 8 ++#define NETSEC_RX_PKT_CO_FIELD 6 ++ ++#define NETSEC_RX_PKT_ERR_MASK 3 ++ ++#define NETSEC_MAX_TX_PKT_LEN 1518 ++#define NETSEC_MAX_TX_JUMBO_PKT_LEN 9018 ++ ++enum netsec_rings { ++ NETSEC_RING_TX, ++ NETSEC_RING_RX ++}; ++ ++#define NETSEC_RING_GMAC 15 ++#define NETSEC_RING_MAX 1 ++ ++#define NETSEC_TCP_SEG_LEN_MAX 1460 ++#define NETSEC_TCP_JUMBO_SEG_LEN_MAX 8960 ++ ++#define NETSEC_RX_CKSUM_NOTAVAIL 0 ++#define NETSEC_RX_CKSUM_OK 1 ++#define NETSEC_RX_CKSUM_NG 2 ++ ++#define NETSEC_TOP_IRQ_REG_CODE_LOAD_END BIT(20) ++#define NETSEC_IRQ_TRANSITION_COMPLETE BIT(4) ++#define NETSEC_IRQ_RX BIT(1) ++#define NETSEC_IRQ_TX BIT(0) ++ ++#define NETSEC_IRQ_EMPTY BIT(17) ++#define NETSEC_IRQ_ERR BIT(16) ++#define NETSEC_IRQ_PKT_CNT BIT(15) ++#define NETSEC_IRQ_TIMEUP BIT(14) ++#define NETSEC_IRQ_RCV (NETSEC_IRQ_PKT_CNT | \ ++ NETSEC_IRQ_TIMEUP) ++ ++#define NETSEC_IRQ_TX_DONE BIT(15) ++#define NETSEC_IRQ_SND (NETSEC_IRQ_TX_DONE | \ ++ NETSEC_IRQ_TIMEUP) ++ ++#define NETSEC_MODE_TRANS_COMP_IRQ_N2T BIT(20) ++#define NETSEC_MODE_TRANS_COMP_IRQ_T2N BIT(19) ++ ++#define NETSEC_DESC_MIN 2 ++#define NETSEC_DESC_MAX 2047 ++#define NETSEC_INT_PKTCNT_MAX 2047 ++ ++#define NETSEC_FLOW_START_TH_MAX 95 ++#define NETSEC_FLOW_STOP_TH_MAX 95 ++#define NETSEC_FLOW_PAUSE_TIME_MIN 5 ++ ++#define NETSEC_CLK_EN_REG_DOM_ALL 0x3f ++ ++#define NETSEC_REG_TOP_STATUS 0x80 ++#define NETSEC_REG_TOP_INTEN 0x81 ++#define NETSEC_REG_INTEN_SET 0x8d ++#define NETSEC_REG_INTEN_CLR 0x8e ++#define NETSEC_REG_NRM_TX_STATUS 0x100 ++#define NETSEC_REG_NRM_TX_INTEN 0x101 ++#define NETSEC_REG_NRM_TX_INTEN_SET 0x10a ++#define NETSEC_REG_NRM_TX_INTEN_CLR 0x10b ++#define NETSEC_REG_NRM_RX_STATUS 0x110 ++#define NETSEC_REG_NRM_RX_INTEN 0x111 ++#define NETSEC_REG_NRM_RX_INTEN_SET 0x11a ++#define NETSEC_REG_NRM_RX_INTEN_CLR 0x11b ++#define NETSEC_REG_RESERVED_RX_DESC_START 0x122 ++#define NETSEC_REG_RESERVED_TX_DESC_START 0x132 ++#define NETSEC_REG_CLK_EN 0x40 ++#define NETSEC_REG_SOFT_RST 0x41 ++#define NETSEC_REG_PKT_CMD_BUF 0x34 ++#define NETSEC_REG_PKT_CTRL 0x50 ++#define NETSEC_REG_COM_INIT 0x48 ++#define NETSEC_REG_DMA_TMR_CTRL 0x83 ++#define NETSEC_REG_F_TAIKI_MC_VER 0x8b ++#define NETSEC_REG_F_TAIKI_VER 0x8c ++#define NETSEC_REG_DMA_HM_CTRL 0x85 ++#define NETSEC_REG_DMA_MH_CTRL 0x88 ++#define NETSEC_REG_ADDR_DIS_CORE 0x86 ++#define NETSEC_REG_DMAC_HM_CMD_BUF 0x84 ++#define NETSEC_REG_DMAC_MH_CMD_BUF 0x87 ++#define NETSEC_REG_NRM_TX_PKTCNT 0x104 ++#define NETSEC_REG_NRM_TX_DONE_TXINT_PKTCNT 0x106 ++#define NETSEC_REG_NRM_RX_RXINT_PKTCNT 0x116 ++#define NETSEC_REG_NRM_TX_TXINT_TMR 0x108 ++#define NETSEC_REG_NRM_RX_RXINT_TMR 0x118 ++#define NETSEC_REG_NRM_TX_DONE_PKTCNT 0x105 ++#define NETSEC_REG_NRM_RX_PKTCNT 0x115 ++#define NETSEC_REG_NRM_TX_TMR 0x107 ++#define NETSEC_REG_NRM_RX_TMR 0x117 ++#define NETSEC_REG_NRM_TX_DESC_START_UP 0x10d ++#define NETSEC_REG_NRM_TX_DESC_START_LW 0x102 ++#define NETSEC_REG_NRM_RX_DESC_START_UP 0x11d ++#define NETSEC_REG_NRM_RX_DESC_START_LW 0x112 ++#define NETSEC_REG_NRM_TX_CONFIG 0x10c ++#define NETSEC_REG_NRM_RX_CONFIG 0x11c ++#define MAC_REG_DATA 0x470 ++#define MAC_REG_CMD 0x471 ++#define MAC_REG_FLOW_TH 0x473 ++#define MAC_REG_INTF_SEL 0x475 ++#define MAC_REG_DESC_INIT 0x47f ++#define MAC_REG_DESC_SOFT_RST 0x481 ++#define NETSEC_REG_MODE_TRANS_COMP_STATUS 0x140 ++#define GMAC_REG_MCR 0x0000 ++#define GMAC_REG_MFFR 0x0004 ++#define GMAC_REG_GAR 0x0010 ++#define GMAC_REG_GDR 0x0014 ++#define GMAC_REG_FCR 0x0018 ++#define GMAC_REG_BMR 0x1000 ++#define GMAC_REG_RDLAR 0x100c ++#define GMAC_REG_TDLAR 0x1010 ++#define GMAC_REG_OMR 0x1018 ++ ++#define NETSEC_PKT_CTRL_REG_MODE_NRM BIT(28) ++#define NETSEC_PKT_CTRL_REG_EN_JUMBO BIT(27) ++#define NETSEC_PKT_CTRL_REG_LOG_CHKSUM_ER BIT(3) ++#define NETSEC_PKT_CTRL_REG_LOG_HD_INCOMPLETE BIT(2) ++#define NETSEC_PKT_CTRL_REG_LOG_HD_ER BIT(1) ++#define NETSEC_PKT_CTRL_REG_DRP_NO_MATCH BIT(0) ++ ++#define NETSEC_CLK_EN_REG_DOM_G BIT(5) ++#define NETSEC_CLK_EN_REG_DOM_C BIT(1) ++#define NETSEC_CLK_EN_REG_DOM_D BIT(0) ++ ++#define NETSEC_COM_INIT_REG_DB BIT(2) ++#define NETSEC_COM_INIT_REG_CLS BIT(1) ++#define NETSEC_COM_INIT_REG_ALL (NETSEC_COM_INIT_REG_CLS | \ ++ NETSEC_COM_INIT_REG_DB) ++ ++#define NETSEC_SOFT_RST_REG_RESET 0 ++#define NETSEC_SOFT_RST_REG_RUN BIT(31) ++ ++#define NETSEC_DMA_CTRL_REG_STOP 1 ++#define MH_CTRL__MODE_TRANS BIT(20) ++ ++#define NETSEC_GMAC_CMD_ST_READ 0 ++#define NETSEC_GMAC_CMD_ST_WRITE BIT(28) ++#define NETSEC_GMAC_CMD_ST_BUSY BIT(31) ++ ++#define NETSEC_GMAC_BMR_REG_COMMON 0x00412080 ++#define NETSEC_GMAC_BMR_REG_RESET 0x00020181 ++#define NETSEC_GMAC_BMR_REG_SWR 0x00000001 ++ ++#define NETSEC_GMAC_OMR_REG_ST BIT(13) ++#define NETSEC_GMAC_OMR_REG_SR BIT(1) ++ ++#define NETSEC_GMAC_MCR_REG_IBN BIT(30) ++#define NETSEC_GMAC_MCR_REG_CST BIT(25) ++#define NETSEC_GMAC_MCR_REG_JE BIT(20) ++#define NETSEC_MCR_PS BIT(15) ++#define NETSEC_GMAC_MCR_REG_FES BIT(14) ++#define NETSEC_GMAC_MCR_REG_FULL_DUPLEX_COMMON 0x0000280c ++#define NETSEC_GMAC_MCR_REG_HALF_DUPLEX_COMMON 0x0001a00c ++ ++#define NETSEC_FCR_RFE BIT(2) ++#define NETSEC_FCR_TFE BIT(1) ++ ++#define NETSEC_GMAC_GAR_REG_GW BIT(1) ++#define NETSEC_GMAC_GAR_REG_GB BIT(0) ++ ++#define NETSEC_GMAC_GAR_REG_SHIFT_PA 11 ++#define NETSEC_GMAC_GAR_REG_SHIFT_GR 6 ++#define GMAC_REG_SHIFT_CR_GAR 2 ++ ++#define NETSEC_GMAC_GAR_REG_CR_25_35_MHZ 2 ++#define NETSEC_GMAC_GAR_REG_CR_35_60_MHZ 3 ++#define NETSEC_GMAC_GAR_REG_CR_60_100_MHZ 0 ++#define NETSEC_GMAC_GAR_REG_CR_100_150_MHZ 1 ++#define NETSEC_GMAC_GAR_REG_CR_150_250_MHZ 4 ++#define NETSEC_GMAC_GAR_REG_CR_250_300_MHZ 5 ++ ++#define NETSEC_GMAC_RDLAR_REG_COMMON 0x18000 ++#define NETSEC_GMAC_TDLAR_REG_COMMON 0x1c000 ++ ++#define NETSEC_REG_NETSEC_VER_F_TAIKI 0x50000 ++ ++#define NETSEC_REG_DESC_RING_CONFIG_CFG_UP BIT(31) ++#define NETSEC_REG_DESC_RING_CONFIG_CH_RST BIT(30) ++#define NETSEC_REG_DESC_TMR_MODE 4 ++#define NETSEC_REG_DESC_ENDIAN 0 ++ ++#define NETSEC_MAC_DESC_SOFT_RST_SOFT_RST 1 ++#define NETSEC_MAC_DESC_INIT_REG_INIT 1 ++ ++#define NETSEC_EEPROM_MAC_ADDRESS 0x00 ++#define NETSEC_EEPROM_HM_ME_ADDRESS_H 0x08 ++#define NETSEC_EEPROM_HM_ME_ADDRESS_L 0x0C ++#define NETSEC_EEPROM_HM_ME_SIZE 0x10 ++#define NETSEC_EEPROM_MH_ME_ADDRESS_H 0x14 ++#define NETSEC_EEPROM_MH_ME_ADDRESS_L 0x18 ++#define NETSEC_EEPROM_MH_ME_SIZE 0x1C ++#define NETSEC_EEPROM_PKT_ME_ADDRESS 0x20 ++#define NETSEC_EEPROM_PKT_ME_SIZE 0x24 ++ ++/* this is used to interpret a register layout */ ++struct netsec_pkt_ctrlaram { ++ u8 log_chksum_er_flag:1; ++ u8 log_hd_imcomplete_flag:1; ++ u8 log_hd_er_flag:1; ++}; ++ ++struct netsec_param { ++ struct netsec_pkt_ctrlaram pkt_ctrlaram; ++ bool use_jumbo_pkt_flag; ++}; ++ ++struct netsec_mac_mode { ++ u16 flow_start_th; ++ u16 flow_stop_th; ++ u16 pause_time; ++ bool flow_ctrl_enable_flag; ++}; ++ ++struct netsec_desc_ring { ++ spinlock_t spinlock_desc; /* protect descriptor access */ ++ phys_addr_t desc_phys; ++ struct netsec_frag_info *frag; ++ struct sk_buff **priv; ++ void *ring_vaddr; ++ enum netsec_rings id; ++ int len; ++ u16 tx_done_num; ++ u16 rx_num; ++ u16 head; ++ u16 tail; ++ bool running; ++ bool full; ++}; ++ ++struct netsec_frag_info { ++ dma_addr_t dma_addr; ++ void *addr; ++ u16 len; ++}; ++ ++struct netsec_priv { ++ struct netsec_desc_ring desc_ring[NETSEC_RING_MAX + 1]; ++ struct ethtool_coalesce et_coalesce; ++ struct netsec_mac_mode mac_mode; ++ struct netsec_param param; ++ struct napi_struct napi; ++ phy_interface_t phy_interface; ++ spinlock_t tx_queue_lock; /* protect transmit queue */ ++ struct netsec_frag_info tx_info[MAX_SKB_FRAGS]; ++ struct net_device *ndev; ++ struct device_node *phy_np; ++ struct phy_device *phydev; ++ struct mii_bus *mii_bus; ++ void __iomem *ioaddr; ++ const void *eeprom_base; ++ struct device *dev; ++ struct clk *clk[3]; ++ u32 rx_pkt_buf_len; ++ u32 msg_enable; ++ u32 freq; ++ int actual_link_speed; ++ int clock_count; ++ bool rx_cksum_offload_flag; ++ bool actual_duplex; ++ bool irq_registered; ++}; ++ ++struct netsec_tx_de { ++ u32 attr; ++ u32 data_buf_addr_up; ++ u32 data_buf_addr_lw; ++ u32 buf_len_info; ++}; ++ ++struct netsec_rx_de { ++ u32 attr; ++ u32 data_buf_addr_up; ++ u32 data_buf_addr_lw; ++ u32 buf_len_info; ++}; ++ ++struct netsec_tx_pkt_ctrl { ++ u16 tcp_seg_len; ++ bool tcp_seg_offload_flag; ++ bool cksum_offload_flag; ++}; ++ ++struct netsec_rx_pkt_info { ++ int rx_cksum_result; ++ int err_code; ++ bool is_fragmented; ++ bool err_flag; ++}; ++ ++struct netsec_skb_cb { ++ bool is_rx; ++}; ++ ++static inline void netsec_writel(struct netsec_priv *priv, ++ u32 reg_addr, u32 val) ++{ ++ writel_relaxed(val, priv->ioaddr + (reg_addr << 2)); ++} ++ ++static inline u32 netsec_readl(struct netsec_priv *priv, u32 reg_addr) ++{ ++ return readl_relaxed(priv->ioaddr + (reg_addr << 2)); ++} ++ ++static inline void netsec_mark_skb_type(struct sk_buff *skb, bool is_rx) ++{ ++ struct netsec_skb_cb *cb = (struct netsec_skb_cb *)skb->cb; ++ ++ cb->is_rx = is_rx; ++} ++ ++static inline bool skb_is_rx(struct sk_buff *skb) ++{ ++ struct netsec_skb_cb *cb = (struct netsec_skb_cb *)skb->cb; ++ ++ return cb->is_rx; ++} ++ ++extern const struct net_device_ops netsec_netdev_ops; ++extern const struct ethtool_ops netsec_ethtool_ops; ++ ++int netsec_start_gmac(struct netsec_priv *priv); ++int netsec_stop_gmac(struct netsec_priv *priv); ++int netsec_mii_register(struct netsec_priv *priv); ++void netsec_mii_unregister(struct netsec_priv *priv); ++int netsec_start_desc_ring(struct netsec_priv *priv, enum netsec_rings id); ++void netsec_stop_desc_ring(struct netsec_priv *priv, enum netsec_rings id); ++u16 netsec_get_rx_num(struct netsec_priv *priv); ++u16 netsec_get_tx_avail_num(struct netsec_priv *priv); ++int netsec_clean_tx_desc_ring(struct netsec_priv *priv); ++int netsec_clean_rx_desc_ring(struct netsec_priv *priv); ++int netsec_set_tx_pkt_data(struct netsec_priv *priv, ++ const struct netsec_tx_pkt_ctrl *tx_ctrl, ++ u8 count_frags, const struct netsec_frag_info *info, ++ struct sk_buff *skb); ++int netsec_get_rx_pkt_data(struct netsec_priv *priv, ++ struct netsec_rx_pkt_info *rxpi, ++ struct netsec_frag_info *frag, u16 *len, ++ struct sk_buff **skb); ++void netsec_ring_irq_enable(struct netsec_priv *priv, ++ enum netsec_rings id, u32 i); ++void netsec_ring_irq_disable(struct netsec_priv *priv, ++ enum netsec_rings id, u32 i); ++int netsec_alloc_desc_ring(struct netsec_priv *priv, enum netsec_rings id); ++void netsec_free_desc_ring(struct netsec_priv *priv, ++ struct netsec_desc_ring *desc); ++int netsec_setup_rx_desc(struct netsec_priv *priv, ++ struct netsec_desc_ring *desc); ++int netsec_netdev_napi_poll(struct napi_struct *napi_p, int budget); ++ ++#endif /* NETSEC_INTERNAL_H */ +diff --git a/drivers/net/ethernet/socionext/netsec/netsec_desc_ring_access.c b/drivers/net/ethernet/socionext/netsec/netsec_desc_ring_access.c +new file mode 100644 +index 0000000..a4e56cd +--- /dev/null ++++ b/drivers/net/ethernet/socionext/netsec/netsec_desc_ring_access.c +@@ -0,0 +1,623 @@ ++/** ++ * drivers/net/ethernet/socionext/netsec/netsec_desc_ring_access.c ++ * ++ * Copyright (C) 2013-2014 Fujitsu Semiconductor Limited. ++ * Copyright (C) 2014-2017 Linaro Ltd. All rights reserved. ++ * Andy Green <andy.green@linaro.org> ++ * Jassi Brar <jaswinder.singh@linaro.org> ++ * Ard Biesheuvel <ard.biesheuvel@linaro.org> ++ * ++ * This program is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU General Public License ++ * as published by the Free Software Foundation; either version 2 ++ * of the License, or (at your option) any later version. ++ */ ++ ++#include <linux/spinlock.h> ++#include <linux/dma-mapping.h> ++ ++#include "netsec.h" ++ ++static const u32 ads_irq_set[] = { ++ NETSEC_REG_NRM_TX_INTEN_SET, ++ NETSEC_REG_NRM_RX_INTEN_SET, ++}; ++ ++static const u32 desc_ring_irq_inten_clr_reg_addr[] = { ++ NETSEC_REG_NRM_TX_INTEN_CLR, ++ NETSEC_REG_NRM_RX_INTEN_CLR, ++}; ++ ++static const u32 int_tmr_reg_addr[] = { ++ NETSEC_REG_NRM_TX_TXINT_TMR, ++ NETSEC_REG_NRM_RX_RXINT_TMR, ++}; ++ ++static const u32 rx_pkt_cnt_reg_addr[] = { ++ 0, ++ NETSEC_REG_NRM_RX_PKTCNT, ++}; ++ ++static const u32 tx_pkt_cnt_reg_addr[] = { ++ NETSEC_REG_NRM_TX_PKTCNT, ++ 0, ++}; ++ ++static const u32 int_pkt_cnt_reg_addr[] = { ++ NETSEC_REG_NRM_TX_DONE_TXINT_PKTCNT, ++ NETSEC_REG_NRM_RX_RXINT_PKTCNT, ++}; ++ ++static const u32 tx_done_pkt_addr[] = { ++ NETSEC_REG_NRM_TX_DONE_PKTCNT, ++ 0, ++}; ++ ++static const u32 netsec_desc_mask[] = { ++ [NETSEC_RING_TX] = NETSEC_GMAC_OMR_REG_ST, ++ [NETSEC_RING_RX] = NETSEC_GMAC_OMR_REG_SR ++}; ++ ++void netsec_ring_irq_enable(struct netsec_priv *priv, ++ enum netsec_rings id, u32 irqf) ++{ ++ netsec_writel(priv, ads_irq_set[id], irqf); ++} ++ ++void netsec_ring_irq_disable(struct netsec_priv *priv, ++ enum netsec_rings id, u32 irqf) ++{ ++ netsec_writel(priv, desc_ring_irq_inten_clr_reg_addr[id], irqf); ++} ++ ++static struct sk_buff *alloc_rx_pkt_buf(struct netsec_priv *priv, ++ struct netsec_frag_info *info) ++{ ++ struct sk_buff *skb; ++ ++ if (device_get_dma_attr(priv->dev) == DEV_DMA_COHERENT) { ++ skb = netdev_alloc_skb_ip_align(priv->ndev, info->len); ++ } else { ++ info->len = L1_CACHE_ALIGN(info->len); ++ skb = netdev_alloc_skb(priv->ndev, info->len); ++ } ++ if (!skb) ++ return NULL; ++ ++ netsec_mark_skb_type(skb, NETSEC_RING_RX); ++ info->addr = skb->data; ++ info->dma_addr = dma_map_single(priv->dev, info->addr, info->len, ++ DMA_FROM_DEVICE); ++ if (dma_mapping_error(priv->dev, info->dma_addr)) { ++ dev_kfree_skb(skb); ++ return NULL; ++ } ++ return skb; ++} ++ ++int netsec_alloc_desc_ring(struct netsec_priv *priv, enum netsec_rings id) ++{ ++ struct netsec_desc_ring *desc = &priv->desc_ring[id]; ++ int ret = 0; ++ ++ desc->id = id; ++ desc->len = sizeof(struct netsec_tx_de); /* rx and tx desc same size */ ++ ++ spin_lock_init(&desc->spinlock_desc); ++ ++ desc->ring_vaddr = dma_zalloc_coherent(priv->dev, desc->len * DESC_NUM, ++ &desc->desc_phys, GFP_KERNEL); ++ if (!desc->ring_vaddr) { ++ ret = -ENOMEM; ++ goto err; ++ } ++ ++ desc->frag = kcalloc(DESC_NUM, sizeof(*desc->frag), GFP_KERNEL); ++ if (!desc->frag) { ++ ret = -ENOMEM; ++ goto err; ++ } ++ ++ desc->priv = kcalloc(DESC_NUM, sizeof(struct sk_buff *), GFP_KERNEL); ++ if (!desc->priv) { ++ ret = -ENOMEM; ++ goto err; ++ } ++ ++ return 0; ++ ++err: ++ netsec_free_desc_ring(priv, desc); ++ ++ return ret; ++} ++ ++static void netsec_uninit_pkt_desc_ring(struct netsec_priv *priv, ++ struct netsec_desc_ring *desc) ++{ ++ struct netsec_frag_info *frag; ++ u32 status; ++ u16 idx; ++ ++ for (idx = 0; idx < DESC_NUM; idx++) { ++ frag = &desc->frag[idx]; ++ if (!frag->addr) ++ continue; ++ ++ status = *(u32 *)(desc->ring_vaddr + desc->len * idx); ++ ++ dma_unmap_single(priv->dev, frag->dma_addr, frag->len, ++ skb_is_rx(desc->priv[idx]) ? DMA_FROM_DEVICE : ++ DMA_TO_DEVICE); ++ if ((status >> NETSEC_TX_LAST) & 1) ++ dev_kfree_skb(desc->priv[idx]); ++ } ++ ++ memset(desc->frag, 0, sizeof(struct netsec_frag_info) * DESC_NUM); ++ memset(desc->priv, 0, sizeof(struct sk_buff *) * DESC_NUM); ++ memset(desc->ring_vaddr, 0, desc->len * DESC_NUM); ++} ++ ++void netsec_free_desc_ring(struct netsec_priv *priv, ++ struct netsec_desc_ring *desc) ++{ ++ if (desc->ring_vaddr && desc->frag && desc->priv) ++ netsec_uninit_pkt_desc_ring(priv, desc); ++ ++ if (desc->ring_vaddr) { ++ dma_free_coherent(priv->dev, desc->len * DESC_NUM, ++ desc->ring_vaddr, desc->desc_phys); ++ desc->ring_vaddr = NULL; ++ } ++ kfree(desc->frag); ++ desc->frag = NULL; ++ kfree(desc->priv); ++ desc->priv = NULL; ++} ++ ++static void netsec_set_rx_de(struct netsec_priv *priv, ++ struct netsec_desc_ring *desc, u16 idx, ++ const struct netsec_frag_info *info, ++ struct sk_buff *skb) ++{ ++ struct netsec_rx_de *de = desc->ring_vaddr + desc->len * idx; ++ u32 attr = (1 << NETSEC_RX_PKT_OWN_FIELD) | ++ (1 << NETSEC_RX_PKT_FS_FIELD) | ++ (1 << NETSEC_RX_PKT_LS_FIELD); ++ ++ if (idx == DESC_NUM - 1) ++ attr |= (1 << NETSEC_RX_PKT_LD_FIELD); ++ ++ de->data_buf_addr_up = upper_32_bits(info->dma_addr); ++ de->data_buf_addr_lw = lower_32_bits(info->dma_addr); ++ de->buf_len_info = info->len; ++ /* desc->attr makes the descriptor live, so it must be physically ++ * written last after the rest of the descriptor body is already there ++ */ ++ dma_wmb(); ++ de->attr = attr; ++ ++ desc->frag[idx].dma_addr = info->dma_addr; ++ desc->frag[idx].addr = info->addr; ++ desc->frag[idx].len = info->len; ++ ++ desc->priv[idx] = skb; ++} ++ ++int netsec_setup_rx_desc(struct netsec_priv *priv, ++ struct netsec_desc_ring *desc) ++{ ++ struct netsec_frag_info info; ++ struct sk_buff *skb; ++ int n; ++ ++ info.len = priv->rx_pkt_buf_len; ++ ++ for (n = 0; n < DESC_NUM; n++) { ++ skb = alloc_rx_pkt_buf(priv, &info); ++ if (!skb) { ++ netsec_uninit_pkt_desc_ring(priv, desc); ++ return -ENOMEM; ++ } ++ netsec_set_rx_de(priv, desc, n, &info, skb); ++ } ++ ++ return 0; ++} ++ ++static void netsec_set_tx_desc_entry(struct netsec_priv *priv, ++ struct netsec_desc_ring *desc, ++ const struct netsec_tx_pkt_ctrl *tx_ctrl, ++ bool first_flag, bool last_flag, ++ const struct netsec_frag_info *frag, ++ struct sk_buff *skb) ++{ ++ struct netsec_tx_de *tx_desc_entry; ++ int idx = desc->head; ++ u32 attr; ++ ++ tx_desc_entry = desc->ring_vaddr + (desc->len * idx); ++ ++ attr = (1 << NETSEC_TX_SHIFT_OWN_FIELD) | ++ (desc->id << NETSEC_TX_SHIFT_DRID_FIELD) | ++ (1 << NETSEC_TX_SHIFT_PT_FIELD) | ++ (NETSEC_RING_GMAC << NETSEC_TX_SHIFT_TDRID_FIELD) | ++ (first_flag << NETSEC_TX_SHIFT_FS_FIELD) | ++ (last_flag << NETSEC_TX_LAST) | ++ (tx_ctrl->cksum_offload_flag << NETSEC_TX_SHIFT_CO) | ++ (tx_ctrl->tcp_seg_offload_flag << NETSEC_TX_SHIFT_SO) | ++ (1 << NETSEC_TX_SHIFT_TRS_FIELD); ++ if (idx == DESC_NUM - 1) ++ attr |= (1 << NETSEC_TX_SHIFT_LD_FIELD); ++ ++ tx_desc_entry->data_buf_addr_up = upper_32_bits(frag->dma_addr); ++ tx_desc_entry->data_buf_addr_lw = lower_32_bits(frag->dma_addr); ++ tx_desc_entry->buf_len_info = (tx_ctrl->tcp_seg_len << 16) | frag->len; ++ /* desc->attr makes the descriptor live, so it must be physically ++ * written last after the rest of the descriptor body is already there ++ */ ++ dma_wmb(); ++ tx_desc_entry->attr = attr; ++ ++ desc->frag[idx] = *frag; ++ desc->priv[idx] = skb; ++} ++ ++static void netsec_get_rx_de(struct netsec_priv *priv, ++ struct netsec_desc_ring *desc, u16 idx, ++ struct netsec_rx_pkt_info *rxpi, ++ struct netsec_frag_info *frag, u16 *len, ++ struct sk_buff **skb) ++{ ++ struct netsec_rx_de de = {}; ++ ++ *rxpi = (struct netsec_rx_pkt_info){}; ++ memcpy(&de, desc->ring_vaddr + desc->len * idx, desc->len); ++ ++ dev_dbg(priv->dev, "%08x\n", *(u32 *)&de); ++ *len = de.buf_len_info >> 16; ++ ++ rxpi->is_fragmented = (de.attr >> NETSEC_RX_PKT_FR_FIELD) & 1; ++ rxpi->err_flag = (de.attr >> NETSEC_RX_PKT_ER_FIELD) & 1; ++ rxpi->rx_cksum_result = (de.attr >> NETSEC_RX_PKT_CO_FIELD) & 3; ++ rxpi->err_code = (de.attr >> NETSEC_RX_PKT_ERR_FIELD) & ++ NETSEC_RX_PKT_ERR_MASK; ++ *frag = desc->frag[idx]; ++ *skb = desc->priv[idx]; ++} ++ ++static void netsec_inc_desc_head_idx(struct netsec_priv *priv, ++ struct netsec_desc_ring *desc, u16 inc) ++{ ++ u32 sum; ++ ++ sum = desc->head + inc; ++ ++ if (sum >= DESC_NUM) ++ sum -= DESC_NUM; ++ ++ desc->head = sum; ++ desc->full = desc->head == desc->tail; ++} ++ ++static void netsec_inc_desc_tail_idx(struct netsec_priv *priv, ++ struct netsec_desc_ring *desc) ++{ ++ u32 sum; ++ ++ sum = desc->tail + 1; ++ ++ if (sum >= DESC_NUM) ++ sum -= DESC_NUM; ++ ++ desc->tail = sum; ++ desc->full = false; ++} ++ ++static u16 netsec_get_tx_avail_num_sub(struct netsec_priv *priv, ++ const struct netsec_desc_ring *desc) ++{ ++ if (desc->full) ++ return 0; ++ ++ if (desc->tail > desc->head) ++ return desc->tail - desc->head; ++ ++ return DESC_NUM + desc->tail - desc->head; ++} ++ ++static u16 netsec_get_tx_done_num_sub(struct netsec_priv *priv, ++ struct netsec_desc_ring *desc) ++{ ++ desc->tx_done_num += netsec_readl(priv, tx_done_pkt_addr[desc->id]); ++ ++ return desc->tx_done_num; ++} ++ ++static int netsec_set_irq_coalesce_param(struct netsec_priv *priv, ++ enum netsec_rings id) ++{ ++ int max_frames, tmr; ++ ++ switch (id) { ++ case NETSEC_RING_TX: ++ max_frames = priv->et_coalesce.tx_max_coalesced_frames; ++ tmr = priv->et_coalesce.tx_coalesce_usecs; ++ break; ++ case NETSEC_RING_RX: ++ max_frames = priv->et_coalesce.rx_max_coalesced_frames; ++ tmr = priv->et_coalesce.rx_coalesce_usecs; ++ break; ++ default: ++ return -EINVAL; ++ } ++ ++ netsec_writel(priv, int_pkt_cnt_reg_addr[id], max_frames); ++ netsec_writel(priv, int_tmr_reg_addr[id], ((tmr != 0) << 31) | tmr); ++ ++ return 0; ++} ++ ++int netsec_start_desc_ring(struct netsec_priv *priv, enum netsec_rings id) ++{ ++ struct netsec_desc_ring *desc = &priv->desc_ring[id]; ++ int ret = 0; ++ ++ spin_lock_bh(&desc->spinlock_desc); ++ ++ if (desc->running) { ++ ret = -EBUSY; ++ goto err; ++ } ++ ++ switch (desc->id) { ++ case NETSEC_RING_RX: ++ netsec_writel(priv, ads_irq_set[id], NETSEC_IRQ_RCV); ++ break; ++ case NETSEC_RING_TX: ++ netsec_writel(priv, ads_irq_set[id], NETSEC_IRQ_EMPTY); ++ break; ++ } ++ ++ netsec_set_irq_coalesce_param(priv, desc->id); ++ desc->running = true; ++ ++err: ++ spin_unlock_bh(&desc->spinlock_desc); ++ ++ return ret; ++} ++ ++void netsec_stop_desc_ring(struct netsec_priv *priv, enum netsec_rings id) ++{ ++ struct netsec_desc_ring *desc = &priv->desc_ring[id]; ++ ++ spin_lock_bh(&desc->spinlock_desc); ++ if (desc->running) ++ netsec_writel(priv, desc_ring_irq_inten_clr_reg_addr[id], ++ NETSEC_IRQ_RCV | NETSEC_IRQ_EMPTY | ++ NETSEC_IRQ_SND); ++ ++ desc->running = false; ++ spin_unlock_bh(&desc->spinlock_desc); ++} ++ ++u16 netsec_get_rx_num(struct netsec_priv *priv) ++{ ++ struct netsec_desc_ring *desc = &priv->desc_ring[NETSEC_RING_RX]; ++ u32 result; ++ ++ spin_lock(&desc->spinlock_desc); ++ if (desc->running) { ++ result = netsec_readl(priv, ++ rx_pkt_cnt_reg_addr[NETSEC_RING_RX]); ++ desc->rx_num += result; ++ if (result) ++ netsec_inc_desc_head_idx(priv, desc, result); ++ } ++ spin_unlock(&desc->spinlock_desc); ++ ++ return desc->rx_num; ++} ++ ++u16 netsec_get_tx_avail_num(struct netsec_priv *priv) ++{ ++ struct netsec_desc_ring *desc = &priv->desc_ring[NETSEC_RING_TX]; ++ u16 result; ++ ++ spin_lock(&desc->spinlock_desc); ++ ++ if (!desc->running) { ++ netif_err(priv, drv, priv->ndev, ++ "%s: not running tx desc\n", __func__); ++ result = 0; ++ goto err; ++ } ++ ++ result = netsec_get_tx_avail_num_sub(priv, desc); ++ ++err: ++ spin_unlock(&desc->spinlock_desc); ++ ++ return result; ++} ++ ++int netsec_clean_tx_desc_ring(struct netsec_priv *priv) ++{ ++ struct netsec_desc_ring *desc = &priv->desc_ring[NETSEC_RING_TX]; ++ unsigned int pkts = 0, bytes = 0; ++ struct netsec_frag_info *frag; ++ struct netsec_tx_de *entry; ++ bool is_last; ++ ++ spin_lock(&desc->spinlock_desc); ++ ++ netsec_get_tx_done_num_sub(priv, desc); ++ ++ while ((desc->tail != desc->head || desc->full) && desc->tx_done_num) { ++ frag = &desc->frag[desc->tail]; ++ entry = desc->ring_vaddr + desc->len * desc->tail; ++ is_last = (entry->attr >> NETSEC_TX_LAST) & 1; ++ ++ dma_unmap_single(priv->dev, frag->dma_addr, frag->len, ++ DMA_TO_DEVICE); ++ if (is_last) { ++ pkts++; ++ bytes += desc->priv[desc->tail]->len; ++ dev_kfree_skb(desc->priv[desc->tail]); ++ } ++ *frag = (struct netsec_frag_info){}; ++ netsec_inc_desc_tail_idx(priv, desc); ++ ++ if (is_last) ++ desc->tx_done_num--; ++ } ++ ++ spin_unlock(&desc->spinlock_desc); ++ ++ priv->ndev->stats.tx_packets += pkts; ++ priv->ndev->stats.tx_bytes += bytes; ++ ++ netdev_completed_queue(priv->ndev, pkts, bytes); ++ ++ return 0; ++} ++ ++int netsec_clean_rx_desc_ring(struct netsec_priv *priv) ++{ ++ struct netsec_desc_ring *desc = &priv->desc_ring[NETSEC_RING_RX]; ++ ++ spin_lock(&desc->spinlock_desc); ++ ++ while (desc->full || (desc->tail != desc->head)) { ++ netsec_set_rx_de(priv, desc, desc->tail, ++ &desc->frag[desc->tail], ++ desc->priv[desc->tail]); ++ desc->rx_num--; ++ netsec_inc_desc_tail_idx(priv, desc); ++ } ++ ++ spin_unlock(&desc->spinlock_desc); ++ ++ return 0; ++} ++ ++int netsec_set_tx_pkt_data(struct netsec_priv *priv, ++ const struct netsec_tx_pkt_ctrl *tx_ctrl, ++ u8 count_frags, const struct netsec_frag_info *info, ++ struct sk_buff *skb) ++{ ++ struct netsec_desc_ring *desc; ++ u32 sum_len = 0; ++ unsigned int i; ++ int ret = 0; ++ ++ if (tx_ctrl->tcp_seg_offload_flag && !tx_ctrl->cksum_offload_flag) ++ return -EINVAL; ++ ++ if (tx_ctrl->tcp_seg_offload_flag) { ++ if (tx_ctrl->tcp_seg_len == 0) ++ return -EINVAL; ++ ++ if (priv->param.use_jumbo_pkt_flag) { ++ if (tx_ctrl->tcp_seg_len > NETSEC_TCP_JUMBO_SEG_LEN_MAX) ++ return -EINVAL; ++ } else { ++ if (tx_ctrl->tcp_seg_len > NETSEC_TCP_SEG_LEN_MAX) ++ return -EINVAL; ++ } ++ } else { ++ if (tx_ctrl->tcp_seg_len) ++ return -EINVAL; ++ } ++ ++ if (!count_frags) ++ return -ERANGE; ++ ++ for (i = 0; i < count_frags; i++) { ++ if ((info[i].len == 0) || (info[i].len > 0xffff)) { ++ netif_err(priv, drv, priv->ndev, ++ "%s: bad info len\n", __func__); ++ return -EINVAL; ++ } ++ sum_len += info[i].len; ++ } ++ ++ if (!tx_ctrl->tcp_seg_offload_flag) { ++ if (priv->param.use_jumbo_pkt_flag) { ++ if (sum_len > NETSEC_MAX_TX_JUMBO_PKT_LEN) ++ return -EINVAL; ++ } else { ++ if (sum_len > NETSEC_MAX_TX_PKT_LEN) ++ return -EINVAL; ++ } ++ } ++ ++ desc = &priv->desc_ring[NETSEC_RING_TX]; ++ spin_lock(&desc->spinlock_desc); ++ ++ if (!desc->running) { ++ ret = -ENODEV; ++ goto end; ++ } ++ ++ dma_rmb(); /* we need to see a consistent view of pending tx count */ ++ if (count_frags > netsec_get_tx_avail_num_sub(priv, desc)) { ++ ret = -EBUSY; ++ goto end; ++ } ++ ++ for (i = 0; i < count_frags; i++) { ++ netsec_set_tx_desc_entry(priv, desc, tx_ctrl, i == 0, ++ i == count_frags - 1, &info[i], skb); ++ netsec_inc_desc_head_idx(priv, desc, 1); ++ } ++ ++ dma_wmb(); /* ensure the descriptor is flushed */ ++ netsec_writel(priv, tx_pkt_cnt_reg_addr[NETSEC_RING_TX], 1); ++ ++end: ++ spin_unlock(&desc->spinlock_desc); ++ ++ return ret; ++} ++ ++int netsec_get_rx_pkt_data(struct netsec_priv *priv, ++ struct netsec_rx_pkt_info *rxpi, ++ struct netsec_frag_info *frag, u16 *len, ++ struct sk_buff **skb) ++{ ++ struct netsec_desc_ring *desc = &priv->desc_ring[NETSEC_RING_RX]; ++ struct netsec_frag_info info; ++ struct sk_buff *tmp_skb; ++ int ret = 0; ++ ++ spin_lock(&desc->spinlock_desc); ++ ++ if (desc->rx_num == 0) { ++ dev_err(priv->dev, "%s 0 len rx\n", __func__); ++ ret = -EINVAL; ++ goto err; ++ } ++ ++ info.len = priv->rx_pkt_buf_len; ++ dma_rmb(); /* we need to ensure we only see current data in descriptor */ ++ tmp_skb = alloc_rx_pkt_buf(priv, &info); ++ if (!tmp_skb) { ++ netsec_set_rx_de(priv, desc, desc->tail, ++ &desc->frag[desc->tail], ++ desc->priv[desc->tail]); ++ ret = -ENOMEM; ++ } else { ++ netsec_get_rx_de(priv, desc, desc->tail, rxpi, frag, len, skb); ++ netsec_set_rx_de(priv, desc, desc->tail, &info, tmp_skb); ++ } ++ ++ netsec_inc_desc_tail_idx(priv, desc); ++ desc->rx_num--; ++ ++err: ++ spin_unlock(&desc->spinlock_desc); ++ ++ return ret; ++} +diff --git a/drivers/net/ethernet/socionext/netsec/netsec_ethtool.c b/drivers/net/ethernet/socionext/netsec/netsec_ethtool.c +new file mode 100644 +index 0000000..45830fe +--- /dev/null ++++ b/drivers/net/ethernet/socionext/netsec/netsec_ethtool.c +@@ -0,0 +1,78 @@ ++/** ++ * drivers/net/ethernet/socionext/netsec/netsec_ethtool.c ++ * ++ * Copyright (C) 2013-2014 Fujitsu Semiconductor Limited. ++ * Copyright (C) 2014-2017 Linaro Ltd. All rights reserved. ++ * Andy Green <andy.green@linaro.org> ++ * Jassi Brar <jaswinder.singh@linaro.org> ++ * Ard Biesheuvel <ard.biesheuvel@linaro.org> ++ * ++ * This program is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU General Public License ++ * as published by the Free Software Foundation; either version 2 ++ * of the License, or (at your option) any later version. ++ */ ++ ++#include "netsec.h" ++ ++static void netsec_et_get_drvinfo(struct net_device *net_device, ++ struct ethtool_drvinfo *info) ++{ ++ strlcpy(info->driver, "netsec", sizeof(info->driver)); ++ strlcpy(info->bus_info, dev_name(net_device->dev.parent), ++ sizeof(info->bus_info)); ++} ++ ++static int netsec_et_get_coalesce(struct net_device *net_device, ++ struct ethtool_coalesce *et_coalesce) ++{ ++ struct netsec_priv *priv = netdev_priv(net_device); ++ ++ *et_coalesce = priv->et_coalesce; ++ ++ return 0; ++} ++ ++static int netsec_et_set_coalesce(struct net_device *net_device, ++ struct ethtool_coalesce *et_coalesce) ++{ ++ struct netsec_priv *priv = netdev_priv(net_device); ++ ++ if (et_coalesce->rx_max_coalesced_frames > NETSEC_INT_PKTCNT_MAX) ++ return -EINVAL; ++ if (et_coalesce->tx_max_coalesced_frames > NETSEC_INT_PKTCNT_MAX) ++ return -EINVAL; ++ if (!et_coalesce->rx_max_coalesced_frames) ++ return -EINVAL; ++ if (!et_coalesce->tx_max_coalesced_frames) ++ return -EINVAL; ++ ++ priv->et_coalesce = *et_coalesce; ++ ++ return 0; ++} ++ ++static u32 netsec_et_get_msglevel(struct net_device *dev) ++{ ++ struct netsec_priv *priv = netdev_priv(dev); ++ ++ return priv->msg_enable; ++} ++ ++static void netsec_et_set_msglevel(struct net_device *dev, u32 datum) ++{ ++ struct netsec_priv *priv = netdev_priv(dev); ++ ++ priv->msg_enable = datum; ++} ++ ++const struct ethtool_ops netsec_ethtool_ops = { ++ .get_drvinfo = netsec_et_get_drvinfo, ++ .get_link_ksettings = phy_ethtool_get_link_ksettings, ++ .set_link_ksettings = phy_ethtool_set_link_ksettings, ++ .get_link = ethtool_op_get_link, ++ .get_coalesce = netsec_et_get_coalesce, ++ .set_coalesce = netsec_et_set_coalesce, ++ .get_msglevel = netsec_et_get_msglevel, ++ .set_msglevel = netsec_et_set_msglevel, ++}; +diff --git a/drivers/net/ethernet/socionext/netsec/netsec_gmac_access.c b/drivers/net/ethernet/socionext/netsec/netsec_gmac_access.c +new file mode 100644 +index 0000000..94e9b7f +--- /dev/null ++++ b/drivers/net/ethernet/socionext/netsec/netsec_gmac_access.c +@@ -0,0 +1,330 @@ ++/** ++ * drivers/net/ethernet/socionext/netsec/netsec_gmac_access.c ++ * ++ * Copyright (C) 2013-2014 Fujitsu Semiconductor Limited. ++ * Copyright (C) 2014-2017 Linaro Ltd. All rights reserved. ++ * Andy Green <andy.green@linaro.org> ++ * Jassi Brar <jaswinder.singh@linaro.org> ++ * Ard Biesheuvel <ard.biesheuvel@linaro.org> ++ * ++ * This program is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU General Public License ++ * as published by the Free Software Foundation; either version 2 ++ * of the License, or (at your option) any later version. ++ */ ++#include "netsec.h" ++ ++#define TIMEOUT_SPINS_MAC 1000 ++#define TIMEOUT_SECONDARY_MS_MAC 100 ++ ++static u32 netsec_clk_type(u32 freq) ++{ ++ if (freq < 35 * NETSEC_CLK_MHZ) ++ return NETSEC_GMAC_GAR_REG_CR_25_35_MHZ; ++ if (freq < 60 * NETSEC_CLK_MHZ) ++ return NETSEC_GMAC_GAR_REG_CR_35_60_MHZ; ++ if (freq < 100 * NETSEC_CLK_MHZ) ++ return NETSEC_GMAC_GAR_REG_CR_60_100_MHZ; ++ if (freq < 150 * NETSEC_CLK_MHZ) ++ return NETSEC_GMAC_GAR_REG_CR_100_150_MHZ; ++ if (freq < 250 * NETSEC_CLK_MHZ) ++ return NETSEC_GMAC_GAR_REG_CR_150_250_MHZ; ++ ++ return NETSEC_GMAC_GAR_REG_CR_250_300_MHZ; ++} ++ ++static int netsec_wait_while_busy(struct netsec_priv *priv, u32 addr, u32 mask) ++{ ++ u32 timeout = TIMEOUT_SPINS_MAC; ++ ++ while (--timeout && netsec_readl(priv, addr) & mask) ++ cpu_relax(); ++ if (timeout) ++ return 0; ++ ++ timeout = TIMEOUT_SECONDARY_MS_MAC; ++ while (--timeout && netsec_readl(priv, addr) & mask) ++ usleep_range(1000, 2000); ++ ++ if (timeout) ++ return 0; ++ ++ netdev_WARN(priv->ndev, "%s: timeout\n", __func__); ++ ++ return -ETIMEDOUT; ++} ++ ++static int netsec_mac_write(struct netsec_priv *priv, u32 addr, u32 value) ++{ ++ netsec_writel(priv, MAC_REG_DATA, value); ++ netsec_writel(priv, MAC_REG_CMD, addr | NETSEC_GMAC_CMD_ST_WRITE); ++ return netsec_wait_while_busy(priv, ++ MAC_REG_CMD, NETSEC_GMAC_CMD_ST_BUSY); ++} ++ ++static int netsec_mac_read(struct netsec_priv *priv, u32 addr, u32 *read) ++{ ++ int ret; ++ ++ netsec_writel(priv, MAC_REG_CMD, addr | NETSEC_GMAC_CMD_ST_READ); ++ ret = netsec_wait_while_busy(priv, ++ MAC_REG_CMD, NETSEC_GMAC_CMD_ST_BUSY); ++ if (ret) ++ return ret; ++ ++ *read = netsec_readl(priv, MAC_REG_DATA); ++ ++ return 0; ++} ++ ++static int netsec_mac_wait_while_busy(struct netsec_priv *priv, ++ u32 addr, u32 mask) ++{ ++ u32 timeout = TIMEOUT_SPINS_MAC; ++ int ret, data; ++ ++ do { ++ ret = netsec_mac_read(priv, addr, &data); ++ if (ret) ++ break; ++ cpu_relax(); ++ } while (--timeout && (data & mask)); ++ ++ if (timeout) ++ return 0; ++ ++ timeout = TIMEOUT_SECONDARY_MS_MAC; ++ do { ++ usleep_range(1000, 2000); ++ ++ ret = netsec_mac_read(priv, addr, &data); ++ if (ret) ++ break; ++ cpu_relax(); ++ } while (--timeout && (data & mask)); ++ ++ if (timeout && !ret) ++ return 0; ++ ++ netdev_WARN(priv->ndev, "%s: timeout\n", __func__); ++ ++ return -ETIMEDOUT; ++} ++ ++static int netsec_mac_update_to_phy_state(struct netsec_priv *priv) ++{ ++ struct phy_device *phydev = priv->ndev->phydev; ++ u32 value = 0; ++ ++ value = phydev->duplex ? NETSEC_GMAC_MCR_REG_FULL_DUPLEX_COMMON : ++ NETSEC_GMAC_MCR_REG_HALF_DUPLEX_COMMON; ++ ++ if (phydev->speed != SPEED_1000) ++ value |= NETSEC_MCR_PS; ++ ++ if ((priv->phy_interface != PHY_INTERFACE_MODE_GMII) && ++ (phydev->speed == SPEED_100)) ++ value |= NETSEC_GMAC_MCR_REG_FES; ++ ++ value |= NETSEC_GMAC_MCR_REG_CST | NETSEC_GMAC_MCR_REG_JE; ++ ++ if (priv->phy_interface == PHY_INTERFACE_MODE_RGMII) ++ value |= NETSEC_GMAC_MCR_REG_IBN; ++ ++ if (netsec_mac_write(priv, GMAC_REG_MCR, value)) ++ return -ETIMEDOUT; ++ ++ priv->actual_link_speed = phydev->speed; ++ priv->actual_duplex = phydev->duplex; ++ ++ return 0; ++} ++ ++/* NB netsec_start_gmac() only called from adjust_link */ ++ ++int netsec_start_gmac(struct netsec_priv *priv) ++{ ++ struct phy_device *phydev = priv->ndev->phydev; ++ u32 value = 0; ++ int ret; ++ ++ if (priv->desc_ring[NETSEC_RING_TX].running && ++ priv->desc_ring[NETSEC_RING_RX].running) ++ return 0; ++ ++ if (!priv->desc_ring[NETSEC_RING_RX].running && ++ !priv->desc_ring[NETSEC_RING_TX].running) { ++ if (phydev->speed != SPEED_1000) ++ value = (NETSEC_GMAC_MCR_REG_CST | ++ NETSEC_GMAC_MCR_REG_HALF_DUPLEX_COMMON); ++ ++ if (netsec_mac_write(priv, GMAC_REG_MCR, value)) ++ return -ETIMEDOUT; ++ if (netsec_mac_write(priv, GMAC_REG_BMR, ++ NETSEC_GMAC_BMR_REG_RESET)) ++ return -ETIMEDOUT; ++ ++ /* Wait soft reset */ ++ usleep_range(1000, 5000); ++ ++ ret = netsec_mac_read(priv, GMAC_REG_BMR, &value); ++ if (ret) ++ return ret; ++ if (value & NETSEC_GMAC_BMR_REG_SWR) ++ return -EAGAIN; ++ ++ netsec_writel(priv, MAC_REG_DESC_SOFT_RST, 1); ++ if (netsec_wait_while_busy(priv, MAC_REG_DESC_SOFT_RST, 1)) ++ return -ETIMEDOUT; ++ ++ netsec_writel(priv, MAC_REG_DESC_INIT, 1); ++ if (netsec_wait_while_busy(priv, MAC_REG_DESC_INIT, 1)) ++ return -ETIMEDOUT; ++ ++ if (netsec_mac_write(priv, GMAC_REG_BMR, ++ NETSEC_GMAC_BMR_REG_COMMON)) ++ return -ETIMEDOUT; ++ if (netsec_mac_write(priv, GMAC_REG_RDLAR, ++ NETSEC_GMAC_RDLAR_REG_COMMON)) ++ return -ETIMEDOUT; ++ if (netsec_mac_write(priv, GMAC_REG_TDLAR, ++ NETSEC_GMAC_TDLAR_REG_COMMON)) ++ return -ETIMEDOUT; ++ if (netsec_mac_write(priv, GMAC_REG_MFFR, 0x80000001)) ++ return -ETIMEDOUT; ++ ++ ret = netsec_mac_update_to_phy_state(priv); ++ if (ret) ++ return ret; ++ ++ if (priv->mac_mode.flow_ctrl_enable_flag) { ++ netsec_writel(priv, MAC_REG_FLOW_TH, ++ (priv->mac_mode.flow_stop_th << 16) | ++ priv->mac_mode.flow_start_th); ++ if (netsec_mac_write(priv, GMAC_REG_FCR, ++ (priv->mac_mode.pause_time << 16) | ++ NETSEC_FCR_RFE | NETSEC_FCR_TFE)) ++ return -ETIMEDOUT; ++ } ++ } ++ ++ ret = netsec_mac_read(priv, GMAC_REG_OMR, &value); ++ if (ret) ++ return ret; ++ ++ if (!priv->desc_ring[NETSEC_RING_RX].running) { ++ value |= NETSEC_GMAC_OMR_REG_SR; ++ netsec_start_desc_ring(priv, NETSEC_RING_RX); ++ } ++ if (!priv->desc_ring[NETSEC_RING_TX].running) { ++ value |= NETSEC_GMAC_OMR_REG_ST; ++ netsec_start_desc_ring(priv, NETSEC_RING_TX); ++ } ++ ++ if (netsec_mac_write(priv, GMAC_REG_OMR, value)) ++ return -ETIMEDOUT; ++ ++ netsec_writel(priv, NETSEC_REG_INTEN_SET, ++ NETSEC_IRQ_TX | NETSEC_IRQ_RX); ++ ++ return 0; ++} ++ ++int netsec_stop_gmac(struct netsec_priv *priv) ++{ ++ u32 value; ++ int ret; ++ ++ ret = netsec_mac_read(priv, GMAC_REG_OMR, &value); ++ if (ret) ++ return ret; ++ ++ if (priv->desc_ring[NETSEC_RING_RX].running) { ++ value &= ~NETSEC_GMAC_OMR_REG_SR; ++ netsec_stop_desc_ring(priv, NETSEC_RING_RX); ++ } ++ if (priv->desc_ring[NETSEC_RING_TX].running) { ++ value &= ~NETSEC_GMAC_OMR_REG_ST; ++ netsec_stop_desc_ring(priv, NETSEC_RING_TX); ++ } ++ ++ priv->actual_link_speed = 0; ++ priv->actual_duplex = false; ++ ++ return netsec_mac_write(priv, GMAC_REG_OMR, value); ++} ++ ++static int netsec_phy_write(struct mii_bus *bus, ++ int phy_addr, int reg, u16 val) ++{ ++ struct netsec_priv *priv = bus->priv; ++ ++ if (netsec_mac_write(priv, GMAC_REG_GDR, val)) ++ return -ETIMEDOUT; ++ if (netsec_mac_write(priv, GMAC_REG_GAR, ++ phy_addr << NETSEC_GMAC_GAR_REG_SHIFT_PA | ++ reg << NETSEC_GMAC_GAR_REG_SHIFT_GR | ++ NETSEC_GMAC_GAR_REG_GW | NETSEC_GMAC_GAR_REG_GB | ++ (netsec_clk_type(priv->freq) << ++ GMAC_REG_SHIFT_CR_GAR))) ++ return -ETIMEDOUT; ++ ++ return netsec_mac_wait_while_busy(priv, GMAC_REG_GAR, ++ NETSEC_GMAC_GAR_REG_GB); ++} ++ ++static int netsec_phy_read(struct mii_bus *bus, int phy_addr, int reg_addr) ++{ ++ struct netsec_priv *priv = bus->priv; ++ u32 data; ++ int ret; ++ ++ if (netsec_mac_write(priv, GMAC_REG_GAR, NETSEC_GMAC_GAR_REG_GB | ++ phy_addr << NETSEC_GMAC_GAR_REG_SHIFT_PA | ++ reg_addr << NETSEC_GMAC_GAR_REG_SHIFT_GR | ++ (netsec_clk_type(priv->freq) << ++ GMAC_REG_SHIFT_CR_GAR))) ++ return -ETIMEDOUT; ++ ++ ret = netsec_mac_wait_while_busy(priv, GMAC_REG_GAR, ++ NETSEC_GMAC_GAR_REG_GB); ++ if (ret) ++ return ret; ++ ++ ret = netsec_mac_read(priv, GMAC_REG_GDR, &data); ++ if (ret) ++ return ret; ++ ++ return data; ++} ++ ++int netsec_mii_register(struct netsec_priv *priv) ++{ ++ struct mii_bus *bus = devm_mdiobus_alloc(priv->dev); ++ int ret; ++ ++ if (!bus) ++ return -ENOMEM; ++ ++ snprintf(bus->id, MII_BUS_ID_SIZE, "%s", dev_name(priv->dev)); ++ bus->priv = priv; ++ bus->name = "SNI NETSEC MDIO"; ++ bus->read = netsec_phy_read; ++ bus->write = netsec_phy_write; ++ bus->parent = priv->dev; ++ priv->mii_bus = bus; ++ ++ if (dev_of_node(priv->dev)) { ++ ret = of_mdiobus_register(bus, dev_of_node(priv->dev)); ++ } else { ++ /* Mask out all PHYs from auto probing. */ ++ bus->phy_mask = ~0; ++ ret = mdiobus_register(bus); ++ } ++ return ret; ++} ++ ++void netsec_mii_unregister(struct netsec_priv *priv) ++{ ++ mdiobus_unregister(priv->mii_bus); ++} +diff --git a/drivers/net/ethernet/socionext/netsec/netsec_netdev.c b/drivers/net/ethernet/socionext/netsec/netsec_netdev.c +new file mode 100644 +index 0000000..e99cf0e +--- /dev/null ++++ b/drivers/net/ethernet/socionext/netsec/netsec_netdev.c +@@ -0,0 +1,540 @@ ++/** ++ * drivers/net/ethernet/socionext/netsec/netsec_netdev.c ++ * ++ * Copyright (C) 2013-2014 Fujitsu Semiconductor Limited. ++ * Copyright (C) 2014-2017 Linaro Ltd. All rights reserved. ++ * Andy Green <andy.green@linaro.org> ++ * Jassi Brar <jaswinder.singh@linaro.org> ++ * Ard Biesheuvel <ard.biesheuvel@linaro.org> ++ * ++ * This program is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU General Public License ++ * as published by the Free Software Foundation; either version 2 ++ * of the License, or (at your option) any later version. ++ */ ++ ++#include <linux/ip.h> ++#include <linux/ipv6.h> ++#include <linux/tcp.h> ++#include <net/tcp.h> ++#include <net/ip6_checksum.h> ++#include <linux/pm_runtime.h> ++ ++#include "netsec.h" ++ ++#define WAIT_FW_RDY_TIMEOUT 50 ++ ++static const u32 desc_ring_irq_status_reg_addr[] = { ++ NETSEC_REG_NRM_TX_STATUS, ++ NETSEC_REG_NRM_RX_STATUS, ++}; ++ ++static const u32 desc_ads[] = { ++ NETSEC_REG_NRM_TX_CONFIG, ++ NETSEC_REG_NRM_RX_CONFIG, ++}; ++ ++static const u32 netsec_desc_start_reg_addr_up[] = { ++ NETSEC_REG_NRM_TX_DESC_START_UP, ++ NETSEC_REG_NRM_RX_DESC_START_UP, ++}; ++ ++static const u32 netsec_desc_start_reg_addr_lw[] = { ++ NETSEC_REG_NRM_TX_DESC_START_LW, ++ NETSEC_REG_NRM_RX_DESC_START_LW, ++}; ++ ++static u32 netsec_calc_pkt_ctrl_reg_param(const struct netsec_pkt_ctrlaram ++ *pkt_ctrlaram_p) ++{ ++ u32 param = NETSEC_PKT_CTRL_REG_MODE_NRM; ++ ++ if (pkt_ctrlaram_p->log_chksum_er_flag) ++ param |= NETSEC_PKT_CTRL_REG_LOG_CHKSUM_ER; ++ ++ if (pkt_ctrlaram_p->log_hd_imcomplete_flag) ++ param |= NETSEC_PKT_CTRL_REG_LOG_HD_INCOMPLETE; ++ ++ if (pkt_ctrlaram_p->log_hd_er_flag) ++ param |= NETSEC_PKT_CTRL_REG_LOG_HD_ER; ++ ++ return param; ++} ++ ++static int netsec_netdev_load_ucode_region(struct netsec_priv *priv, u32 reg, ++ u32 addr_h, u32 addr_l, u32 size) ++{ ++ u64 base = (u64)addr_h << 32 | addr_l; ++ __le32 *ucode; ++ u32 i; ++ ++ ucode = memremap(base, size * sizeof(u32), MEMREMAP_WT); ++ if (!ucode) ++ return -ENOMEM; ++ ++ for (i = 0; i < size; i++) ++ netsec_writel(priv, reg, le32_to_cpu(ucode[i])); ++ ++ memunmap(ucode); ++ return 0; ++} ++ ++static int netsec_netdev_load_microcode(struct netsec_priv *priv) ++{ ++ int err; ++ ++ err = netsec_netdev_load_ucode_region( ++ priv, NETSEC_REG_DMAC_HM_CMD_BUF, ++ le32_to_cpup(priv->eeprom_base + NETSEC_EEPROM_HM_ME_ADDRESS_H), ++ le32_to_cpup(priv->eeprom_base + NETSEC_EEPROM_HM_ME_ADDRESS_L), ++ le32_to_cpup(priv->eeprom_base + NETSEC_EEPROM_HM_ME_SIZE)); ++ if (err) ++ return err; ++ ++ err = netsec_netdev_load_ucode_region( ++ priv, NETSEC_REG_DMAC_MH_CMD_BUF, ++ le32_to_cpup(priv->eeprom_base + NETSEC_EEPROM_MH_ME_ADDRESS_H), ++ le32_to_cpup(priv->eeprom_base + NETSEC_EEPROM_MH_ME_ADDRESS_L), ++ le32_to_cpup(priv->eeprom_base + NETSEC_EEPROM_MH_ME_SIZE)); ++ if (err) ++ return err; ++ ++ err = netsec_netdev_load_ucode_region( ++ priv, NETSEC_REG_PKT_CMD_BUF, ++ 0, ++ le32_to_cpup(priv->eeprom_base + NETSEC_EEPROM_PKT_ME_ADDRESS), ++ le32_to_cpup(priv->eeprom_base + NETSEC_EEPROM_PKT_ME_SIZE)); ++ if (err) ++ return err; ++ ++ return 0; ++} ++ ++static int netsec_init_hardware(struct netsec_priv *priv) ++{ ++ u32 value; ++ int err; ++ ++ /* set desc_start addr */ ++ netsec_writel(priv, netsec_desc_start_reg_addr_up[NETSEC_RING_RX], ++ upper_32_bits(priv->desc_ring[NETSEC_RING_RX].desc_phys)); ++ netsec_writel(priv, netsec_desc_start_reg_addr_lw[NETSEC_RING_RX], ++ lower_32_bits(priv->desc_ring[NETSEC_RING_RX].desc_phys)); ++ ++ netsec_writel(priv, netsec_desc_start_reg_addr_up[NETSEC_RING_TX], ++ upper_32_bits(priv->desc_ring[NETSEC_RING_TX].desc_phys)); ++ netsec_writel(priv, netsec_desc_start_reg_addr_lw[NETSEC_RING_TX], ++ lower_32_bits(priv->desc_ring[NETSEC_RING_TX].desc_phys)); ++ ++ /* set normal tx desc ring config */ ++ netsec_writel(priv, desc_ads[NETSEC_RING_TX], ++ 1 << NETSEC_REG_DESC_ENDIAN); ++ netsec_writel(priv, desc_ads[NETSEC_RING_RX], ++ 1 << NETSEC_REG_DESC_ENDIAN); ++ ++ err = netsec_netdev_load_microcode(priv); ++ if (err) { ++ netif_err(priv, probe, priv->ndev, ++ "%s: failed to load microcode (%d)\n", __func__, err); ++ return err; ++ } ++ ++ /* start DMA engines */ ++ netsec_writel(priv, NETSEC_REG_DMA_TMR_CTRL, priv->freq / 1000000 - 1); ++ netsec_writel(priv, NETSEC_REG_ADDR_DIS_CORE, 0); ++ ++ usleep_range(1000, 2000); ++ ++ if (!(netsec_readl(priv, NETSEC_REG_TOP_STATUS) & ++ NETSEC_TOP_IRQ_REG_CODE_LOAD_END)) { ++ netif_err(priv, drv, priv->ndev, "microengine start failed\n"); ++ return -ENXIO; ++ } ++ netsec_writel(priv, NETSEC_REG_TOP_STATUS, ++ NETSEC_TOP_IRQ_REG_CODE_LOAD_END); ++ ++ value = netsec_calc_pkt_ctrl_reg_param(&priv->param.pkt_ctrlaram); ++ ++ if (priv->param.use_jumbo_pkt_flag) ++ value |= NETSEC_PKT_CTRL_REG_EN_JUMBO; ++ ++ /* change to normal mode */ ++ netsec_writel(priv, NETSEC_REG_DMA_MH_CTRL, MH_CTRL__MODE_TRANS); ++ netsec_writel(priv, NETSEC_REG_PKT_CTRL, value); ++ ++ while ((netsec_readl(priv, NETSEC_REG_MODE_TRANS_COMP_STATUS) & ++ NETSEC_MODE_TRANS_COMP_IRQ_T2N) == 0) ++ cpu_relax(); ++ ++ return 0; ++} ++ ++static void netsec_ring_irq_clr(struct netsec_priv *priv, ++ unsigned int id, u32 value) ++{ ++ netsec_writel(priv, desc_ring_irq_status_reg_addr[id], ++ value & (NETSEC_IRQ_EMPTY | NETSEC_IRQ_ERR)); ++} ++ ++static void netsec_napi_tx_processing(struct netsec_priv *priv) ++{ ++ netsec_ring_irq_clr(priv, NETSEC_RING_TX, NETSEC_IRQ_EMPTY); ++ netsec_clean_tx_desc_ring(priv); ++ ++ if (netif_queue_stopped(priv->ndev) && ++ netsec_get_tx_avail_num(priv) >= NETSEC_NETDEV_TX_PKT_SCAT_NUM_MAX) ++ netif_wake_queue(priv->ndev); ++} ++ ++int netsec_netdev_napi_poll(struct napi_struct *napi_p, int budget) ++{ ++ struct netsec_priv *priv = container_of(napi_p, struct netsec_priv, ++ napi); ++ struct net_device *ndev = priv->ndev; ++ struct netsec_rx_pkt_info rx_info; ++ int ret, done = 0, rx_num = 0; ++ struct netsec_frag_info frag; ++ struct sk_buff *skb; ++ u16 len; ++ ++ netsec_napi_tx_processing(priv); ++ ++ while (done < budget) { ++ if (!rx_num) { ++ rx_num = netsec_get_rx_num(priv); ++ if (!rx_num) ++ break; ++ } ++ done++; ++ rx_num--; ++ ret = netsec_get_rx_pkt_data(priv, &rx_info, &frag, &len, &skb); ++ if (unlikely(ret == -ENOMEM)) { ++ netif_err(priv, drv, priv->ndev, ++ "%s: rx fail %d\n", __func__, ret); ++ ndev->stats.rx_dropped++; ++ continue; ++ } ++ dma_unmap_single(priv->dev, frag.dma_addr, frag.len, ++ DMA_FROM_DEVICE); ++ skb_put(skb, len); ++ skb->protocol = eth_type_trans(skb, priv->ndev); ++ ++ if (priv->rx_cksum_offload_flag && ++ rx_info.rx_cksum_result == NETSEC_RX_CKSUM_OK) ++ skb->ip_summed = CHECKSUM_UNNECESSARY; ++ ++ if (napi_gro_receive(napi_p, skb) != GRO_DROP) { ++ ndev->stats.rx_packets++; ++ ndev->stats.rx_bytes += len; ++ } ++ } ++ ++ if (done < budget && napi_complete_done(napi_p, done)) ++ netsec_writel(priv, NETSEC_REG_INTEN_SET, ++ NETSEC_IRQ_TX | NETSEC_IRQ_RX); ++ return done; ++} ++ ++static netdev_tx_t netsec_netdev_start_xmit(struct sk_buff *skb, ++ struct net_device *ndev) ++{ ++ struct netsec_priv *priv = netdev_priv(ndev); ++ struct netsec_tx_pkt_ctrl tx_ctrl = {}; ++ u16 pend_tx, tso_seg_len = 0; ++ skb_frag_t *frag; ++ int count_frags; ++ int ret, i; ++ ++ netsec_ring_irq_clr(priv, NETSEC_RING_TX, NETSEC_IRQ_EMPTY); ++ ++ count_frags = skb_shinfo(skb)->nr_frags + 1; ++ ++ if (skb->ip_summed == CHECKSUM_PARTIAL) { ++ if ((skb->protocol == htons(ETH_P_IP) && ++ ip_hdr(skb)->protocol == IPPROTO_TCP) || ++ (skb->protocol == htons(ETH_P_IPV6) && ++ ipv6_hdr(skb)->nexthdr == IPPROTO_TCP)) ++ tx_ctrl.cksum_offload_flag = true; ++ else ++ skb_checksum_help(skb); ++ } ++ ++ if (skb_is_gso(skb)) ++ tso_seg_len = skb_shinfo(skb)->gso_size; ++ ++ if (tso_seg_len > 0) { ++ if (skb->protocol == htons(ETH_P_IP)) { ++ ip_hdr(skb)->tot_len = 0; ++ tcp_hdr(skb)->check = ++ ~tcp_v4_check(0, ip_hdr(skb)->saddr, ++ ip_hdr(skb)->daddr, 0); ++ } else { ++ ipv6_hdr(skb)->payload_len = 0; ++ tcp_hdr(skb)->check = ++ ~csum_ipv6_magic(&ipv6_hdr(skb)->saddr, ++ &ipv6_hdr(skb)->daddr, ++ 0, IPPROTO_TCP, 0); ++ } ++ ++ tx_ctrl.tcp_seg_offload_flag = true; ++ tx_ctrl.tcp_seg_len = tso_seg_len; ++ } ++ ++ priv->tx_info[0].dma_addr = dma_map_single(priv->dev, skb->data, ++ skb_headlen(skb), ++ DMA_TO_DEVICE); ++ if (dma_mapping_error(priv->dev, priv->tx_info[0].dma_addr)) { ++ netif_err(priv, drv, priv->ndev, ++ "%s: DMA mapping failed\n", __func__); ++ return NETDEV_TX_OK; ++ } ++ priv->tx_info[0].addr = skb->data; ++ priv->tx_info[0].len = skb_headlen(skb); ++ ++ for (i = 0; i < skb_shinfo(skb)->nr_frags; i++) { ++ frag = &skb_shinfo(skb)->frags[i]; ++ priv->tx_info[i + 1].dma_addr = ++ skb_frag_dma_map(priv->dev, frag, 0, ++ skb_frag_size(frag), DMA_TO_DEVICE); ++ priv->tx_info[i + 1].addr = skb_frag_address(frag); ++ priv->tx_info[i + 1].len = frag->size; ++ } ++ ++ netsec_mark_skb_type(skb, NETSEC_RING_TX); ++ ++ ret = netsec_set_tx_pkt_data(priv, &tx_ctrl, count_frags, ++ priv->tx_info, skb); ++ if (ret) { ++ netif_info(priv, drv, priv->ndev, ++ "set tx pkt failed %d\n", ret); ++ for (i = 0; i < count_frags; i++) ++ dma_unmap_single(priv->dev, priv->tx_info[i].dma_addr, ++ priv->tx_info[i].len, DMA_TO_DEVICE); ++ ndev->stats.tx_dropped++; ++ ++ return NETDEV_TX_OK; ++ } ++ ++ netdev_sent_queue(priv->ndev, skb->len); ++ ++ spin_lock(&priv->tx_queue_lock); ++ pend_tx = netsec_get_tx_avail_num(priv); ++ ++ if (pend_tx < NETSEC_NETDEV_TX_PKT_SCAT_NUM_MAX) { ++ netsec_ring_irq_enable(priv, NETSEC_RING_TX, NETSEC_IRQ_EMPTY); ++ netif_stop_queue(ndev); ++ goto err; ++ } ++ if (pend_tx <= DESC_NUM - 2) { ++ netsec_ring_irq_enable(priv, NETSEC_RING_TX, NETSEC_IRQ_EMPTY); ++ goto err; ++ } ++ netsec_ring_irq_disable(priv, NETSEC_RING_TX, NETSEC_IRQ_EMPTY); ++ ++err: ++ spin_unlock(&priv->tx_queue_lock); ++ ++ return NETDEV_TX_OK; ++} ++ ++static int netsec_netdev_set_features(struct net_device *ndev, ++ netdev_features_t features) ++{ ++ struct netsec_priv *priv = netdev_priv(ndev); ++ ++ priv->rx_cksum_offload_flag = !!(features & NETIF_F_RXCSUM); ++ ++ return 0; ++} ++ ++static void netsec_phy_adjust_link(struct net_device *ndev) ++{ ++ struct netsec_priv *priv = netdev_priv(ndev); ++ ++ if (priv->actual_link_speed == ndev->phydev->speed && ++ priv->actual_duplex == ndev->phydev->duplex) ++ return; ++ ++ phy_print_status(ndev->phydev); ++ ++ netsec_stop_gmac(priv); ++ netsec_start_gmac(priv); ++} ++ ++static irqreturn_t netsec_irq_handler(int irq, void *dev_id) ++{ ++ struct netsec_priv *priv = dev_id; ++ u32 status = netsec_readl(priv, NETSEC_REG_TOP_STATUS) & ++ netsec_readl(priv, NETSEC_REG_TOP_INTEN); ++ ++ if (!status) ++ return IRQ_NONE; ++ ++ if (status & (NETSEC_IRQ_TX | NETSEC_IRQ_RX)) { ++ netsec_writel(priv, NETSEC_REG_INTEN_CLR, ++ status & (NETSEC_IRQ_TX | NETSEC_IRQ_RX)); ++ napi_schedule(&priv->napi); ++ } ++ ++ return IRQ_HANDLED; ++} ++ ++static void netsec_reset_hardware(struct netsec_priv *priv) ++{ ++ /* stop DMA engines */ ++ if (!netsec_readl(priv, NETSEC_REG_ADDR_DIS_CORE)) { ++ netsec_writel(priv, NETSEC_REG_DMA_HM_CTRL, ++ NETSEC_DMA_CTRL_REG_STOP); ++ netsec_writel(priv, NETSEC_REG_DMA_MH_CTRL, ++ NETSEC_DMA_CTRL_REG_STOP); ++ ++ while (netsec_readl(priv, NETSEC_REG_DMA_HM_CTRL) & ++ NETSEC_DMA_CTRL_REG_STOP) ++ cpu_relax(); ++ ++ while (netsec_readl(priv, NETSEC_REG_DMA_MH_CTRL) & ++ NETSEC_DMA_CTRL_REG_STOP) ++ cpu_relax(); ++ } ++ ++ netsec_writel(priv, NETSEC_REG_SOFT_RST, NETSEC_SOFT_RST_REG_RESET); ++ netsec_writel(priv, NETSEC_REG_SOFT_RST, NETSEC_SOFT_RST_REG_RUN); ++ netsec_writel(priv, NETSEC_REG_COM_INIT, NETSEC_COM_INIT_REG_ALL); ++ ++ while (netsec_readl(priv, NETSEC_REG_COM_INIT) != 0) ++ cpu_relax(); ++} ++ ++static int netsec_netdev_open(struct net_device *ndev) ++{ ++ struct netsec_priv *priv = netdev_priv(ndev); ++ int ret, n; ++ ++ pm_runtime_get_sync(priv->dev); ++ ++ netsec_reset_hardware(priv); ++ ++ for (n = 0; n <= NETSEC_RING_MAX; n++) { ++ ret = netsec_alloc_desc_ring(priv, n); ++ if (ret) { ++ netif_err(priv, probe, priv->ndev, ++ "%s: alloc ring failed\n", __func__); ++ goto err; ++ } ++ } ++ ++ ret = netsec_setup_rx_desc(priv, &priv->desc_ring[NETSEC_RING_RX]); ++ if (ret) { ++ netif_err(priv, probe, priv->ndev, ++ "%s: fail setup ring\n", __func__); ++ goto err1; ++ } ++ ++ ret = netsec_init_hardware(priv); ++ if (ret) { ++ netif_err(priv, probe, priv->ndev, ++ "%s: netsec_init_hardware fail %d\n", __func__, ret); ++ goto err1; ++ } ++ ++ ret = request_irq(priv->ndev->irq, netsec_irq_handler, ++ IRQF_SHARED, "netsec", priv); ++ if (ret) { ++ netif_err(priv, drv, priv->ndev, "request_irq failed\n"); ++ goto err1; ++ } ++ priv->irq_registered = true; ++ ++ ret = netsec_clean_rx_desc_ring(priv); ++ if (ret) { ++ netif_err(priv, drv, priv->ndev, ++ "%s: clean rx desc fail\n", __func__); ++ goto err2; ++ } ++ ++ ret = netsec_clean_tx_desc_ring(priv); ++ if (ret) { ++ netif_err(priv, drv, priv->ndev, ++ "%s: clean tx desc fail\n", __func__); ++ goto err2; ++ } ++ ++ netsec_ring_irq_clr(priv, NETSEC_RING_TX, NETSEC_IRQ_EMPTY); ++ ++ if (dev_of_node(priv->dev)) { ++ if (!of_phy_connect(priv->ndev, priv->phy_np, ++ netsec_phy_adjust_link, 0, ++ priv->phy_interface)) { ++ netif_err(priv, link, priv->ndev, "missing PHY\n"); ++ goto err2; ++ } ++ } else { ++ ret = phy_connect_direct(priv->ndev, priv->phydev, ++ netsec_phy_adjust_link, ++ priv->phy_interface); ++ if (ret) { ++ netif_err(priv, link, priv->ndev, ++ "phy_connect_direct() failed (%d)\n", ret); ++ goto err2; ++ } ++ } ++ ++ phy_start_aneg(ndev->phydev); ++ ++ netsec_ring_irq_disable(priv, NETSEC_RING_TX, NETSEC_IRQ_EMPTY); ++ ++ netsec_start_gmac(priv); ++ napi_enable(&priv->napi); ++ netif_start_queue(ndev); ++ ++ netsec_writel(priv, NETSEC_REG_INTEN_SET, ++ NETSEC_IRQ_TX | NETSEC_IRQ_RX); ++ ++ return 0; ++ ++err2: ++ pm_runtime_put_sync(priv->dev); ++ free_irq(priv->ndev->irq, priv); ++ priv->irq_registered = false; ++err1: ++ for (n = 0; n <= NETSEC_RING_MAX; n++) ++ netsec_free_desc_ring(priv, &priv->desc_ring[n]); ++err: ++ pm_runtime_put_sync(priv->dev); ++ ++ return ret; ++} ++ ++static int netsec_netdev_stop(struct net_device *ndev) ++{ ++ struct netsec_priv *priv = netdev_priv(ndev); ++ int n; ++ ++ phy_stop(ndev->phydev); ++ phy_disconnect(ndev->phydev); ++ ++ netif_stop_queue(priv->ndev); ++ napi_disable(&priv->napi); ++ ++ netsec_writel(priv, NETSEC_REG_INTEN_CLR, ~0); ++ netsec_stop_gmac(priv); ++ ++ pm_runtime_put_sync(priv->dev); ++ ++ for (n = 0; n <= NETSEC_RING_MAX; n++) ++ netsec_free_desc_ring(priv, &priv->desc_ring[n]); ++ ++ free_irq(priv->ndev->irq, priv); ++ priv->irq_registered = false; ++ ++ return 0; ++} ++ ++const struct net_device_ops netsec_netdev_ops = { ++ .ndo_open = netsec_netdev_open, ++ .ndo_stop = netsec_netdev_stop, ++ .ndo_start_xmit = netsec_netdev_start_xmit, ++ .ndo_set_features = netsec_netdev_set_features, ++ .ndo_set_mac_address = eth_mac_addr, ++ .ndo_validate_addr = eth_validate_addr, ++}; +diff --git a/drivers/net/ethernet/socionext/netsec/netsec_platform.c b/drivers/net/ethernet/socionext/netsec/netsec_platform.c +new file mode 100644 +index 0000000..624f6a7 +--- /dev/null ++++ b/drivers/net/ethernet/socionext/netsec/netsec_platform.c +@@ -0,0 +1,435 @@ ++/** ++ * drivers/net/ethernet/socionext/netsec/netsec_platform.c ++ * ++ * Copyright (C) 2013-2014 Fujitsu Semiconductor Limited. ++ * Copyright (C) 2014-2017 Linaro Ltd. All rights reserved. ++ * Andy Green <andy.green@linaro.org> ++ * Jassi Brar <jaswinder.singh@linaro.org> ++ * Ard Biesheuvel <ard.biesheuvel@linaro.org> ++ * ++ * This program is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU General Public License ++ * as published by the Free Software Foundation; either version 2 ++ * of the License, or (at your option) any later version. ++ */ ++ ++#include <linux/acpi.h> ++#include <linux/device.h> ++#include <linux/ctype.h> ++#include <linux/netdevice.h> ++#include <linux/types.h> ++#include <linux/bitops.h> ++#include <linux/dma-mapping.h> ++#include <linux/module.h> ++#include <linux/sizes.h> ++#include <linux/platform_device.h> ++#include <linux/clk.h> ++#include <linux/of.h> ++#include <linux/of_device.h> ++#include <linux/of_net.h> ++#include <linux/io.h> ++#include <linux/pm_runtime.h> ++ ++#include "netsec.h" ++ ++#define NETSEC_F_NETSEC_VER_MAJOR_NUM(x) (x & 0xffff0000) ++ ++static int napi_weight = 64; ++static u16 pause_time = 256; ++ ++static int netsec_of_probe(struct platform_device *pdev, ++ struct netsec_priv *priv) ++{ ++ int clk_count, ret, i; ++ ++ priv->phy_np = of_parse_phandle(pdev->dev.of_node, "phy-handle", 0); ++ if (!priv->phy_np) { ++ dev_err(&pdev->dev, "missing required property 'phy-handle'\n"); ++ return -EINVAL; ++ } ++ ++ /* we require named clocks if there is more than one */ ++ clk_count = of_property_count_strings(pdev->dev.of_node, "clock-names"); ++ if (clk_count > 1) { ++ if (clk_count > ARRAY_SIZE(priv->clk)) { ++ dev_err(&pdev->dev, "too many clocks specified (%d)\n", ++ clk_count); ++ return -EINVAL; ++ } ++ ++ for (i = 0; i < clk_count; i++) { ++ const char *clk_name; ++ ++ ret = of_property_read_string_index(pdev->dev.of_node, ++ "clock-names", i, ++ &clk_name); ++ if (ret) { ++ dev_err(&pdev->dev, ++ "failed to parse 'clock-names'\n"); ++ return ret; ++ } ++ priv->clk[i] = devm_clk_get(&pdev->dev, clk_name); ++ if (!strcmp(clk_name, "phy_refclk")) { ++ priv->freq = clk_get_rate(priv->clk[i]); ++ dev_dbg(&pdev->dev, ++ "found PHY refclock #%d freq %u\n", ++ i, priv->freq); ++ } ++ } ++ priv->clock_count = clk_count; ++ } else { ++ priv->clk[0] = devm_clk_get(&pdev->dev, NULL); ++ if (IS_ERR(priv->clk)) { ++ dev_err(&pdev->dev, ++ "missing required property 'clocks'\n"); ++ return PTR_ERR(priv->clk); ++ } ++ priv->freq = clk_get_rate(priv->clk[0]); ++ priv->clock_count = 1; ++ } ++ return 0; ++} ++ ++static int netsec_acpi_probe(struct platform_device *pdev, ++ struct netsec_priv *priv, u32 *phy_addr) ++{ ++ int ret; ++ ++ if (!IS_ENABLED(CONFIG_ACPI)) ++ return -ENODEV; ++ ++ ret = device_property_read_u32(&pdev->dev, "phy-channel", phy_addr); ++ if (ret) { ++ dev_err(&pdev->dev, ++ "missing required property 'phy-channel'\n"); ++ return ret; ++ } ++ ++ ret = device_property_read_u32(&pdev->dev, ++ "socionext,phy-clock-frequency", ++ &priv->freq); ++ if (ret) ++ dev_err(&pdev->dev, ++ "missing required property 'socionext,phy-clock-frequency'\n"); ++ return ret; ++} ++ ++static int netsec_probe(struct platform_device *pdev) ++{ ++ struct net_device *ndev; ++ struct netsec_priv *priv; ++ struct resource *mmio_res, *eeprom_res, *irq_res; ++ u8 *mac, macbuf[ETH_ALEN]; ++ u32 hw_ver, phy_addr; ++ int ret; ++ ++ mmio_res = platform_get_resource(pdev, IORESOURCE_MEM, 0); ++ if (!mmio_res) { ++ dev_err(&pdev->dev, "No MMIO resource found.\n"); ++ return -ENODEV; ++ } ++ ++ eeprom_res = platform_get_resource(pdev, IORESOURCE_MEM, 1); ++ if (!eeprom_res) { ++ dev_info(&pdev->dev, "No EEPROM resource found.\n"); ++ return -ENODEV; ++ } ++ ++ irq_res = platform_get_resource(pdev, IORESOURCE_IRQ, 0); ++ if (!irq_res) { ++ dev_err(&pdev->dev, "No IRQ resource found.\n"); ++ return -ENODEV; ++ } ++ ++ ndev = alloc_etherdev(sizeof(*priv)); ++ if (!ndev) ++ return -ENOMEM; ++ ++ priv = netdev_priv(ndev); ++ priv->ndev = ndev; ++ SET_NETDEV_DEV(ndev, &pdev->dev); ++ platform_set_drvdata(pdev, priv); ++ priv->dev = &pdev->dev; ++ ++ priv->msg_enable = NETIF_MSG_TX_ERR | NETIF_MSG_HW | NETIF_MSG_DRV | ++ NETIF_MSG_LINK | NETIF_MSG_PROBE; ++ ++ ndev->irq = irq_res->start; ++ ++ priv->phy_interface = device_get_phy_mode(&pdev->dev); ++ if (priv->phy_interface < 0) { ++ dev_err(&pdev->dev, "missing required property 'phy-mode'\n"); ++ ret = -ENODEV; ++ goto free_ndev; ++ } ++ ++ priv->ioaddr = devm_ioremap(&pdev->dev, mmio_res->start, ++ resource_size(mmio_res)); ++ if (!priv->ioaddr) { ++ dev_err(&pdev->dev, "devm_ioremap() failed\n"); ++ ret = -ENXIO; ++ goto free_ndev; ++ } ++ ++ priv->eeprom_base = devm_memremap(&pdev->dev, eeprom_res->start, ++ resource_size(eeprom_res), ++ MEMREMAP_WT); ++ if (!priv->eeprom_base) { ++ dev_err(&pdev->dev, "devm_memremap() failed for EEPROM\n"); ++ ret = -ENXIO; ++ goto free_ndev; ++ } ++ ++ mac = device_get_mac_address(&pdev->dev, macbuf, sizeof(macbuf)); ++ if (mac) ++ ether_addr_copy(ndev->dev_addr, mac); ++ ++ if (priv->eeprom_base && ++ (!mac || !is_valid_ether_addr(ndev->dev_addr))) { ++ const u8 *macp = priv->eeprom_base + NETSEC_EEPROM_MAC_ADDRESS; ++ ++ ndev->dev_addr[0] = macp[3]; ++ ndev->dev_addr[1] = macp[2]; ++ ndev->dev_addr[2] = macp[1]; ++ ndev->dev_addr[3] = macp[0]; ++ ndev->dev_addr[4] = macp[7]; ++ ndev->dev_addr[5] = macp[6]; ++ } ++ ++ if (!is_valid_ether_addr(ndev->dev_addr)) { ++ dev_warn(&pdev->dev, "No MAC address found, using random\n"); ++ eth_hw_addr_random(ndev); ++ } ++ ++ if (dev_of_node(&pdev->dev)) ++ ret = netsec_of_probe(pdev, priv); ++ else ++ ret = netsec_acpi_probe(pdev, priv, &phy_addr); ++ if (ret) ++ goto free_ndev; ++ ++ if (!priv->freq) { ++ dev_err(&pdev->dev, "missing PHY reference clock frequency\n"); ++ ret = -ENODEV; ++ goto free_ndev; ++ } ++ ++ /* disable by default */ ++ priv->et_coalesce.rx_coalesce_usecs = 0; ++ priv->et_coalesce.rx_max_coalesced_frames = 1; ++ priv->et_coalesce.tx_coalesce_usecs = 0; ++ priv->et_coalesce.tx_max_coalesced_frames = 1; ++ ++ ret = device_property_read_u32(&pdev->dev, "max-frame-size", ++ &ndev->max_mtu); ++ if (ret < 0) ++ ndev->max_mtu = ETH_DATA_LEN; ++ ++ priv->rx_pkt_buf_len = ndev->max_mtu + 22; ++ priv->param.use_jumbo_pkt_flag = (ndev->max_mtu > ETH_DATA_LEN); ++ ++ pm_runtime_enable(&pdev->dev); ++ /* runtime_pm coverage just for probe, open/close also cover it */ ++ pm_runtime_get_sync(&pdev->dev); ++ ++ hw_ver = netsec_readl(priv, NETSEC_REG_F_TAIKI_VER); ++ /* this driver only supports F_TAIKI style NETSEC */ ++ if (NETSEC_F_NETSEC_VER_MAJOR_NUM(hw_ver) != ++ NETSEC_F_NETSEC_VER_MAJOR_NUM(NETSEC_REG_NETSEC_VER_F_TAIKI)) { ++ ret = -ENODEV; ++ goto pm_disable; ++ } ++ ++ dev_info(&pdev->dev, "hardware revision %d.%d\n", ++ hw_ver >> 16, hw_ver & 0xffff); ++ ++ priv->mac_mode.flow_start_th = NETSEC_FLOW_CONTROL_START_THRESHOLD; ++ priv->mac_mode.flow_stop_th = NETSEC_FLOW_CONTROL_STOP_THRESHOLD; ++ priv->mac_mode.pause_time = pause_time; ++ priv->mac_mode.flow_ctrl_enable_flag = false; ++ ++ netif_napi_add(ndev, &priv->napi, netsec_netdev_napi_poll, napi_weight); ++ ++ ndev->netdev_ops = &netsec_netdev_ops; ++ ndev->ethtool_ops = &netsec_ethtool_ops; ++ ndev->features = NETIF_F_SG | NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM | ++ NETIF_F_TSO | NETIF_F_TSO6 | NETIF_F_GSO | ++ NETIF_F_HIGHDMA | NETIF_F_RXCSUM; ++ ndev->hw_features = ndev->features; ++ ++ priv->rx_cksum_offload_flag = true; ++ spin_lock_init(&priv->tx_queue_lock); ++ ++ ret = netsec_mii_register(priv); ++ if (ret) { ++ dev_err(&pdev->dev, "mii bus registration failed (%d)\n", ret); ++ goto pm_disable; ++ } ++ ++ if (!dev_of_node(&pdev->dev)) { /* ACPI */ ++ priv->phydev = get_phy_device(priv->mii_bus, phy_addr, false); ++ if (IS_ERR(priv->phydev)) { ++ dev_err(&pdev->dev, "get_phy_device() failed (%ld)\n", ++ PTR_ERR(priv->phydev)); ++ ret = PTR_ERR(priv->phydev); ++ goto unregister_mii; ++ } ++ ++ ret = phy_device_register(priv->phydev); ++ if (ret) { ++ dev_err(&pdev->dev, ++ "phy_device_register() failed (%d)\n", ret); ++ phy_device_free(priv->phydev); ++ goto unregister_mii; ++ } ++ } ++ ++ /* disable all other interrupt sources */ ++ netsec_writel(priv, NETSEC_REG_INTEN_CLR, ~0); ++ netsec_writel(priv, NETSEC_REG_INTEN_SET, ++ NETSEC_IRQ_TX | NETSEC_IRQ_RX); ++ ++ if (dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(64))) ++ dev_warn(&pdev->dev, "Failed to enable 64-bit DMA\n"); ++ ++ ret = register_netdev(ndev); ++ if (ret) { ++ netif_err(priv, probe, ndev, "register_netdev() failed\n"); ++ goto unregister_mii; ++ } ++ ++ pm_runtime_put_sync_suspend(&pdev->dev); ++ ++ return 0; ++ ++unregister_mii: ++ netsec_mii_unregister(priv); ++ ++pm_disable: ++ pm_runtime_put_sync_suspend(&pdev->dev); ++ pm_runtime_disable(&pdev->dev); ++ ++free_ndev: ++ free_netdev(ndev); ++ ++ dev_err(&pdev->dev, "init failed\n"); ++ ++ return ret; ++} ++ ++static int netsec_remove(struct platform_device *pdev) ++{ ++ struct netsec_priv *priv = platform_get_drvdata(pdev); ++ ++ unregister_netdev(priv->ndev); ++ if (!dev_of_node(&pdev->dev)) { /* ACPI */ ++ phy_device_remove(priv->phydev); ++ phy_device_free(priv->phydev); ++ } ++ netsec_mii_unregister(priv); ++ pm_runtime_disable(&pdev->dev); ++ free_netdev(priv->ndev); ++ ++ return 0; ++} ++ ++#ifdef CONFIG_PM ++static int netsec_runtime_suspend(struct device *dev) ++{ ++ struct netsec_priv *priv = dev_get_drvdata(dev); ++ int n; ++ ++ netif_dbg(priv, drv, priv->ndev, "%s\n", __func__); ++ ++ if (priv->irq_registered) ++ disable_irq(priv->ndev->irq); ++ ++ netsec_writel(priv, NETSEC_REG_CLK_EN, 0); ++ ++ for (n = priv->clock_count - 1; n >= 0; n--) ++ clk_disable_unprepare(priv->clk[n]); ++ ++ return 0; ++} ++ ++static int netsec_runtime_resume(struct device *dev) ++{ ++ struct netsec_priv *priv = dev_get_drvdata(dev); ++ int n; ++ ++ netif_dbg(priv, drv, priv->ndev, "%s\n", __func__); ++ ++ /* first let the clocks back on */ ++ ++ for (n = 0; n < priv->clock_count; n++) ++ clk_prepare_enable(priv->clk[n]); ++ ++ netsec_writel(priv, NETSEC_REG_CLK_EN, NETSEC_CLK_EN_REG_DOM_D | ++ NETSEC_CLK_EN_REG_DOM_C | ++ NETSEC_CLK_EN_REG_DOM_G); ++ ++ if (priv->irq_registered) ++ enable_irq(priv->ndev->irq); ++ ++ return 0; ++} ++ ++static int netsec_pm_suspend(struct device *dev) ++{ ++ struct netsec_priv *priv = dev_get_drvdata(dev); ++ ++ netif_dbg(priv, drv, priv->ndev, "%s\n", __func__); ++ ++ if (pm_runtime_status_suspended(dev)) ++ return 0; ++ ++ return netsec_runtime_suspend(dev); ++} ++ ++static int netsec_pm_resume(struct device *dev) ++{ ++ struct netsec_priv *priv = dev_get_drvdata(dev); ++ ++ netif_dbg(priv, drv, priv->ndev, "%s\n", __func__); ++ ++ if (pm_runtime_status_suspended(dev)) ++ return 0; ++ ++ return netsec_runtime_resume(dev); ++} ++#endif ++ ++static const struct dev_pm_ops netsec_pm_ops = { ++ SET_SYSTEM_SLEEP_PM_OPS(netsec_pm_suspend, netsec_pm_resume) ++ SET_RUNTIME_PM_OPS(netsec_runtime_suspend, netsec_runtime_resume, NULL) ++}; ++ ++static const struct of_device_id netsec_dt_ids[] = { ++ { .compatible = "socionext,synquacer-netsec" }, ++ { } ++}; ++MODULE_DEVICE_TABLE(of, netsec_dt_ids); ++ ++#ifdef CONFIG_ACPI ++static const struct acpi_device_id netsec_acpi_ids[] = { ++ { "SCX0001" }, ++ { } ++}; ++MODULE_DEVICE_TABLE(acpi, netsec_acpi_ids); ++#endif ++ ++static struct platform_driver netsec_driver = { ++ .probe = netsec_probe, ++ .remove = netsec_remove, ++ .driver.name = "netsec", ++ .driver.of_match_table = netsec_dt_ids, ++ .driver.acpi_match_table = ACPI_PTR(netsec_acpi_ids), ++ .driver.pm = &netsec_pm_ops, ++}; ++module_platform_driver(netsec_driver); ++ ++MODULE_AUTHOR("Andy Green <andy.green@linaro.org>"); ++MODULE_AUTHOR("Jassi Brar <jaswinder.singh@linaro.org>"); ++MODULE_AUTHOR("Ard Biesheuvel <ard.biesheuvel@linaro.org>"); ++MODULE_DESCRIPTION("NETSEC Ethernet driver"); ++MODULE_LICENSE("GPL"); +-- +cgit v1.1 + +From 31a61532e7b859a797d36595ec5ab7485a9b24d5 Mon Sep 17 00:00:00 2001 +From: Jassi Brar <jassisinghbrar@gmail.com> +Date: Wed, 30 Aug 2017 15:55:52 +0530 +Subject: dt-bindings: net: Add DT bindings for Socionext Netsec + +This patch adds documentation for Device-Tree bindings for the +Socionext NetSec Controller driver. + +Signed-off-by: Jassi Brar <jaswinder.singh@linaro.org> +Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> +--- + .../devicetree/bindings/net/socionext-netsec.txt | 43 ++++++++++++++++++++++ + 1 file changed, 43 insertions(+) + create mode 100644 Documentation/devicetree/bindings/net/socionext-netsec.txt + +diff --git a/Documentation/devicetree/bindings/net/socionext-netsec.txt b/Documentation/devicetree/bindings/net/socionext-netsec.txt +new file mode 100644 +index 0000000..4695969 +--- /dev/null ++++ b/Documentation/devicetree/bindings/net/socionext-netsec.txt +@@ -0,0 +1,43 @@ ++* Socionext NetSec Ethernet Controller IP ++ ++Required properties: ++- compatible: Should be "socionext,synquacer-netsec" ++- reg: Address and length of the control register area, followed by the ++ address and length of the EEPROM holding the MAC address and ++ microengine firmware ++- interrupts: Should contain ethernet controller interrupt ++- clocks: phandle to the PHY reference clock, and any other clocks to be ++ switched by runtime_pm ++- clock-names: Required only if more than a single clock is listed in 'clocks'. ++ The PHY reference clock must be named 'phy_refclk' ++- phy-mode: See ethernet.txt file in the same directory ++- phy-handle: phandle to select child phy ++ ++Optional properties: (See ethernet.txt file in the same directory) ++- local-mac-address ++- mac-address ++- max-speed ++- max-frame-size ++ ++Required properties for the child phy: ++- reg: phy address ++ ++Example: ++ eth0: netsec@522D0000 { ++ compatible = "socionext,synquacer-netsec"; ++ reg = <0 0x522D0000 0x0 0x10000>, <0 0x10000000 0x0 0x10000>; ++ interrupts = <GIC_SPI 176 IRQ_TYPE_LEVEL_HIGH>; ++ clocks = <&clk_netsec>; ++ phy-mode = "rgmii"; ++ max-speed = <1000>; ++ max-frame-size = <9000>; ++ phy-handle = <ðphy0>; ++ ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ ethphy0: ethernet-phy@1 { ++ compatible = "ethernet-phy-ieee802.3-c22"; ++ reg = <1>; ++ }; ++ }; +-- +cgit v1.1 + +From d2fc584f8237746a84e6ec8690d8884f148fc449 Mon Sep 17 00:00:00 2001 +From: Peter Robinson <pbrobinson@gmail.com> +Date: Tue, 10 Oct 2017 11:35:51 +0100 +Subject: [PATCH] add interrupt.h, sort alphabetically + +Signed-off-by: Peter Robinson <pbrobinson@gmail.com> +--- + drivers/net/ethernet/socionext/netsec/netsec_platform.c | 17 +++++++++-------- + 1 file changed, 9 insertions(+), 8 deletions(-) + +diff --git a/drivers/net/ethernet/socionext/netsec/netsec_platform.c b/drivers/net/ethernet/socionext/netsec/netsec_platform.c +index 624f6a7093f6..79072bae917d 100644 +--- a/drivers/net/ethernet/socionext/netsec/netsec_platform.c ++++ b/drivers/net/ethernet/socionext/netsec/netsec_platform.c +@@ -14,21 +14,22 @@ + */ + + #include <linux/acpi.h> +-#include <linux/device.h> +-#include <linux/ctype.h> +-#include <linux/netdevice.h> +-#include <linux/types.h> + #include <linux/bitops.h> ++#include <linux/clk.h> ++#include <linux/ctype.h> ++#include <linux/device.h> + #include <linux/dma-mapping.h> ++#include <linux/io.h> ++#include <linux/interrupt.h> + #include <linux/module.h> +-#include <linux/sizes.h> +-#include <linux/platform_device.h> +-#include <linux/clk.h> ++#include <linux/netdevice.h> + #include <linux/of.h> + #include <linux/of_device.h> + #include <linux/of_net.h> +-#include <linux/io.h> ++#include <linux/platform_device.h> + #include <linux/pm_runtime.h> ++#include <linux/sizes.h> ++#include <linux/types.h> + + #include "netsec.h" + +-- +2.14.2 + diff --git a/freed-ora/current/f26/arm64-thunderX-fix-ipv6-checksum-offload.patch b/freed-ora/current/f26/arm64-thunderX-fix-ipv6-checksum-offload.patch new file mode 100644 index 000000000..221189997 --- /dev/null +++ b/freed-ora/current/f26/arm64-thunderX-fix-ipv6-checksum-offload.patch @@ -0,0 +1,39 @@ +From fa6d7cb5d76cf0467c61420fc9238045aedfd379 Mon Sep 17 00:00:00 2001 +From: Sunil Goutham <sgoutham@cavium.com> +Date: Thu, 23 Nov 2017 22:34:31 +0300 +Subject: net: thunderx: Fix TCP/UDP checksum offload for IPv6 pkts + +Don't offload IP header checksum to NIC. + +This fixes a previous patch which enabled checksum offloading +for both IPv4 and IPv6 packets. So L3 checksum offload was +getting enabled for IPv6 pkts. And HW is dropping these pkts +as it assumes the pkt is IPv4 when IP csum offload is set +in the SQ descriptor. + +Fixes: 3a9024f52c2e ("net: thunderx: Enable TSO and checksum offloads for ipv6") +Signed-off-by: Sunil Goutham <sgoutham@cavium.com> +Signed-off-by: Aleksey Makarov <aleksey.makarov@auriga.com> +Reviewed-by: Eric Dumazet <edumazet@google.com> +Signed-off-by: David S. Miller <davem@davemloft.net> +--- + drivers/net/ethernet/cavium/thunder/nicvf_queues.c | 1 - + 1 file changed, 1 deletion(-) + +(limited to 'drivers/net/ethernet/cavium/thunder/nicvf_queues.c') + +diff --git a/drivers/net/ethernet/cavium/thunder/nicvf_queues.c b/drivers/net/ethernet/cavium/thunder/nicvf_queues.c +index d4496e9..8b2c31e 100644 +--- a/drivers/net/ethernet/cavium/thunder/nicvf_queues.c ++++ b/drivers/net/ethernet/cavium/thunder/nicvf_queues.c +@@ -1355,7 +1355,6 @@ nicvf_sq_add_hdr_subdesc(struct nicvf *nic, struct snd_queue *sq, int qentry, + + /* Offload checksum calculation to HW */ + if (skb->ip_summed == CHECKSUM_PARTIAL) { +- hdr->csum_l3 = 1; /* Enable IP csum calculation */ + hdr->l3_offset = skb_network_offset(skb); + hdr->l4_offset = skb_transport_offset(skb); + +-- +cgit v1.1 + diff --git a/freed-ora/current/f26/arm64-xgene-acpi-fix.patch b/freed-ora/current/f26/arm64-xgene-acpi-fix.patch deleted file mode 100644 index e0df833c0..000000000 --- a/freed-ora/current/f26/arm64-xgene-acpi-fix.patch +++ /dev/null @@ -1,38 +0,0 @@ -From bdb9458a3382ba745a66be5526d3899103c76eda Mon Sep 17 00:00:00 2001 -From: Loc Ho <lho@apm.com> -Date: Fri, 21 Jul 2017 11:24:37 -0700 -Subject: ACPI: APEI: Enable APEI multiple GHES source to share a single - external IRQ - -X-Gene platforms describe multiple GHES error sources with the same -hardware error notification type (external interrupt) and interrupt -number. - -Change the GHES interrupt request to support sharing the same IRQ. - -This change includs contributions from Tuan Phan <tphan@apm.com>. - -Signed-off-by: Loc Ho <lho@apm.com> -Acked-by: Borislav Petkov <bp@suse.de> -Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> ---- - drivers/acpi/apei/ghes.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/drivers/acpi/apei/ghes.c b/drivers/acpi/apei/ghes.c -index d661d45..eed09fc 100644 ---- a/drivers/acpi/apei/ghes.c -+++ b/drivers/acpi/apei/ghes.c -@@ -1157,7 +1157,8 @@ static int ghes_probe(struct platform_device *ghes_dev) - generic->header.source_id); - goto err_edac_unreg; - } -- rc = request_irq(ghes->irq, ghes_irq_func, 0, "GHES IRQ", ghes); -+ rc = request_irq(ghes->irq, ghes_irq_func, IRQF_SHARED, -+ "GHES IRQ", ghes); - if (rc) { - pr_err(GHES_PFX "Failed to register IRQ for generic hardware error source: %d\n", - generic->header.source_id); --- -cgit v1.1 - diff --git a/freed-ora/current/f26/baseconfig/CONFIG_ALLOW_LOCKDOWN_LIFT_BY_SYSRQ b/freed-ora/current/f26/baseconfig/CONFIG_ALLOW_LOCKDOWN_LIFT_BY_SYSRQ new file mode 100644 index 000000000..40a287f0f --- /dev/null +++ b/freed-ora/current/f26/baseconfig/CONFIG_ALLOW_LOCKDOWN_LIFT_BY_SYSRQ @@ -0,0 +1 @@ +CONFIG_ALLOW_LOCKDOWN_LIFT_BY_SYSRQ=y diff --git a/freed-ora/current/f26/baseconfig/CONFIG_ALTERA_MSGDMA b/freed-ora/current/f26/baseconfig/CONFIG_ALTERA_MSGDMA new file mode 100644 index 000000000..7a1edd837 --- /dev/null +++ b/freed-ora/current/f26/baseconfig/CONFIG_ALTERA_MSGDMA @@ -0,0 +1 @@ +CONFIG_ALTERA_MSGDMA=m diff --git a/freed-ora/current/f26/baseconfig/CONFIG_ATH10K_USB b/freed-ora/current/f26/baseconfig/CONFIG_ATH10K_USB new file mode 100644 index 000000000..29021503d --- /dev/null +++ b/freed-ora/current/f26/baseconfig/CONFIG_ATH10K_USB @@ -0,0 +1 @@ +CONFIG_ATH10K_USB=m diff --git a/freed-ora/current/f26/baseconfig/CONFIG_BATTERY_MAX1721X b/freed-ora/current/f26/baseconfig/CONFIG_BATTERY_MAX1721X new file mode 100644 index 000000000..98c04567c --- /dev/null +++ b/freed-ora/current/f26/baseconfig/CONFIG_BATTERY_MAX1721X @@ -0,0 +1 @@ +# CONFIG_BATTERY_MAX1721X is not set diff --git a/freed-ora/current/f26/baseconfig/CONFIG_BLK_CPQ_CISS_DA b/freed-ora/current/f26/baseconfig/CONFIG_BLK_CPQ_CISS_DA deleted file mode 100644 index be7870097..000000000 --- a/freed-ora/current/f26/baseconfig/CONFIG_BLK_CPQ_CISS_DA +++ /dev/null @@ -1 +0,0 @@ -CONFIG_BLK_CPQ_CISS_DA=m diff --git a/freed-ora/current/f26/baseconfig/CONFIG_BLK_DEV_UB b/freed-ora/current/f26/baseconfig/CONFIG_BLK_DEV_UB deleted file mode 100644 index 6fbfd13fb..000000000 --- a/freed-ora/current/f26/baseconfig/CONFIG_BLK_DEV_UB +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_BLK_DEV_UB is not set diff --git a/freed-ora/current/f26/baseconfig/CONFIG_BNXT_FLOWER_OFFLOAD b/freed-ora/current/f26/baseconfig/CONFIG_BNXT_FLOWER_OFFLOAD new file mode 100644 index 000000000..170bbf312 --- /dev/null +++ b/freed-ora/current/f26/baseconfig/CONFIG_BNXT_FLOWER_OFFLOAD @@ -0,0 +1 @@ +CONFIG_BNXT_FLOWER_OFFLOAD=y diff --git a/freed-ora/current/f26/baseconfig/CONFIG_BPF_STREAM_PARSER b/freed-ora/current/f26/baseconfig/CONFIG_BPF_STREAM_PARSER new file mode 100644 index 000000000..7cf783506 --- /dev/null +++ b/freed-ora/current/f26/baseconfig/CONFIG_BPF_STREAM_PARSER @@ -0,0 +1 @@ +CONFIG_BPF_STREAM_PARSER=y diff --git a/freed-ora/current/f26/baseconfig/CONFIG_BT_SCO b/freed-ora/current/f26/baseconfig/CONFIG_BT_SCO deleted file mode 100644 index c04760986..000000000 --- a/freed-ora/current/f26/baseconfig/CONFIG_BT_SCO +++ /dev/null @@ -1 +0,0 @@ -CONFIG_BT_SCO=y diff --git a/freed-ora/current/f26/baseconfig/CONFIG_CCS811 b/freed-ora/current/f26/baseconfig/CONFIG_CCS811 new file mode 100644 index 000000000..931f14e2a --- /dev/null +++ b/freed-ora/current/f26/baseconfig/CONFIG_CCS811 @@ -0,0 +1 @@ +# CONFIG_CCS811 is not set diff --git a/freed-ora/current/f26/baseconfig/CONFIG_CEC_PIN b/freed-ora/current/f26/baseconfig/CONFIG_CEC_PIN new file mode 100644 index 000000000..395ddfbf2 --- /dev/null +++ b/freed-ora/current/f26/baseconfig/CONFIG_CEC_PIN @@ -0,0 +1 @@ +CONFIG_CEC_PIN=y diff --git a/freed-ora/current/f26/baseconfig/CONFIG_CHARGER_QCOM_SMBB b/freed-ora/current/f26/baseconfig/CONFIG_CHARGER_QCOM_SMBB deleted file mode 100644 index c06d8f1f1..000000000 --- a/freed-ora/current/f26/baseconfig/CONFIG_CHARGER_QCOM_SMBB +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_CHARGER_QCOM_SMBB is not set diff --git a/freed-ora/current/f26/baseconfig/CONFIG_CISS_SCSI_TAPE b/freed-ora/current/f26/baseconfig/CONFIG_CISS_SCSI_TAPE deleted file mode 100644 index 2170cc840..000000000 --- a/freed-ora/current/f26/baseconfig/CONFIG_CISS_SCSI_TAPE +++ /dev/null @@ -1 +0,0 @@ -CONFIG_CISS_SCSI_TAPE=y diff --git a/freed-ora/current/f26/baseconfig/CONFIG_CLK_HSDK b/freed-ora/current/f26/baseconfig/CONFIG_CLK_HSDK new file mode 100644 index 000000000..e1788bbc5 --- /dev/null +++ b/freed-ora/current/f26/baseconfig/CONFIG_CLK_HSDK @@ -0,0 +1 @@ +# CONFIG_CLK_HSDK is not set diff --git a/freed-ora/current/f26/baseconfig/CONFIG_CLOCK_THERMAL b/freed-ora/current/f26/baseconfig/CONFIG_CLOCK_THERMAL new file mode 100644 index 000000000..72ca05f2c --- /dev/null +++ b/freed-ora/current/f26/baseconfig/CONFIG_CLOCK_THERMAL @@ -0,0 +1 @@ +# CONFIG_CLOCK_THERMAL is not set diff --git a/freed-ora/current/f26/baseconfig/CONFIG_CRYPTO_DEV_SP_CCP b/freed-ora/current/f26/baseconfig/CONFIG_CRYPTO_DEV_SP_CCP new file mode 100644 index 000000000..c494dcc87 --- /dev/null +++ b/freed-ora/current/f26/baseconfig/CONFIG_CRYPTO_DEV_SP_CCP @@ -0,0 +1 @@ +# CONFIG_CRYPTO_DEV_SP_CCP is not set diff --git a/freed-ora/current/f26/baseconfig/CONFIG_DEVFREQ_THERMAL b/freed-ora/current/f26/baseconfig/CONFIG_DEVFREQ_THERMAL new file mode 100644 index 000000000..5b90f9082 --- /dev/null +++ b/freed-ora/current/f26/baseconfig/CONFIG_DEVFREQ_THERMAL @@ -0,0 +1 @@ +# CONFIG_DEVFREQ_THERMAL is not set diff --git a/freed-ora/current/f26/baseconfig/CONFIG_DVB_DDBRIDGE_MSIENABLE b/freed-ora/current/f26/baseconfig/CONFIG_DVB_DDBRIDGE_MSIENABLE new file mode 100644 index 000000000..4f0814b60 --- /dev/null +++ b/freed-ora/current/f26/baseconfig/CONFIG_DVB_DDBRIDGE_MSIENABLE @@ -0,0 +1 @@ +# CONFIG_DVB_DDBRIDGE_MSIENABLE is not set diff --git a/freed-ora/current/f26/baseconfig/CONFIG_EARLY_PRINTK_USB_XDBC b/freed-ora/current/f26/baseconfig/CONFIG_EARLY_PRINTK_USB_XDBC index c50a31ace..47e8f4090 100644 --- a/freed-ora/current/f26/baseconfig/CONFIG_EARLY_PRINTK_USB_XDBC +++ b/freed-ora/current/f26/baseconfig/CONFIG_EARLY_PRINTK_USB_XDBC @@ -1 +1 @@ -# CONFIG_EARLY_PRINTK_USB_XDBC is not set +CONFIG_EARLY_PRINTK_USB_XDBC=y diff --git a/freed-ora/current/f26/baseconfig/CONFIG_EXPERIMENTAL b/freed-ora/current/f26/baseconfig/CONFIG_EXPERIMENTAL deleted file mode 100644 index 8c91d40b9..000000000 --- a/freed-ora/current/f26/baseconfig/CONFIG_EXPERIMENTAL +++ /dev/null @@ -1 +0,0 @@ -CONFIG_EXPERIMENTAL=y diff --git a/freed-ora/current/f26/baseconfig/CONFIG_GPIO_BD9571MWV b/freed-ora/current/f26/baseconfig/CONFIG_GPIO_BD9571MWV new file mode 100644 index 000000000..0cdd67b34 --- /dev/null +++ b/freed-ora/current/f26/baseconfig/CONFIG_GPIO_BD9571MWV @@ -0,0 +1 @@ +CONFIG_GPIO_BD9571MWV=m diff --git a/freed-ora/current/f26/baseconfig/CONFIG_GPIO_IT87 b/freed-ora/current/f26/baseconfig/CONFIG_GPIO_IT87 index 00746d711..aaeb504ac 100644 --- a/freed-ora/current/f26/baseconfig/CONFIG_GPIO_IT87 +++ b/freed-ora/current/f26/baseconfig/CONFIG_GPIO_IT87 @@ -1 +1 @@ -CONFIG_GPIO_IT87=m +# CONFIG_GPIO_IT87 is not set diff --git a/freed-ora/current/f26/baseconfig/CONFIG_GPIO_TPS68470 b/freed-ora/current/f26/baseconfig/CONFIG_GPIO_TPS68470 new file mode 100644 index 000000000..3176e956e --- /dev/null +++ b/freed-ora/current/f26/baseconfig/CONFIG_GPIO_TPS68470 @@ -0,0 +1 @@ +CONFIG_GPIO_TPS68470=y diff --git a/freed-ora/current/f26/baseconfig/CONFIG_HID_CP2112 b/freed-ora/current/f26/baseconfig/CONFIG_HID_CP2112 index 3f9425d1d..d0f72fae1 100644 --- a/freed-ora/current/f26/baseconfig/CONFIG_HID_CP2112 +++ b/freed-ora/current/f26/baseconfig/CONFIG_HID_CP2112 @@ -1 +1 @@ -# CONFIG_HID_CP2112 is not set +CONFIG_HID_CP2112=m diff --git a/freed-ora/current/f26/baseconfig/CONFIG_I2C_PARPORT_LIGHT b/freed-ora/current/f26/baseconfig/CONFIG_I2C_PARPORT_LIGHT index 1dbc68883..e18239222 100644 --- a/freed-ora/current/f26/baseconfig/CONFIG_I2C_PARPORT_LIGHT +++ b/freed-ora/current/f26/baseconfig/CONFIG_I2C_PARPORT_LIGHT @@ -1 +1 @@ -CONFIG_I2C_PARPORT_LIGHT=m +# CONFIG_I2C_PARPORT_LIGHT is not set diff --git a/freed-ora/current/f26/baseconfig/CONFIG_INFINIBAND_EXP_USER_ACCESS b/freed-ora/current/f26/baseconfig/CONFIG_INFINIBAND_EXP_USER_ACCESS new file mode 100644 index 000000000..478415c11 --- /dev/null +++ b/freed-ora/current/f26/baseconfig/CONFIG_INFINIBAND_EXP_USER_ACCESS @@ -0,0 +1 @@ +# CONFIG_INFINIBAND_EXP_USER_ACCESS is not set diff --git a/freed-ora/current/f26/baseconfig/CONFIG_INOTIFY b/freed-ora/current/f26/baseconfig/CONFIG_INOTIFY deleted file mode 100644 index 78343a1d2..000000000 --- a/freed-ora/current/f26/baseconfig/CONFIG_INOTIFY +++ /dev/null @@ -1 +0,0 @@ -CONFIG_INOTIFY=y diff --git a/freed-ora/current/f26/baseconfig/CONFIG_INPUT_PWM_VIBRA b/freed-ora/current/f26/baseconfig/CONFIG_INPUT_PWM_VIBRA new file mode 100644 index 000000000..39a51b490 --- /dev/null +++ b/freed-ora/current/f26/baseconfig/CONFIG_INPUT_PWM_VIBRA @@ -0,0 +1 @@ +# CONFIG_INPUT_PWM_VIBRA is not set diff --git a/freed-ora/current/f26/baseconfig/CONFIG_INPUT_RK805_PWRKEY b/freed-ora/current/f26/baseconfig/CONFIG_INPUT_RK805_PWRKEY new file mode 100644 index 000000000..4ce96f558 --- /dev/null +++ b/freed-ora/current/f26/baseconfig/CONFIG_INPUT_RK805_PWRKEY @@ -0,0 +1 @@ +CONFIG_INPUT_RK805_PWRKEY=m diff --git a/freed-ora/current/f26/baseconfig/CONFIG_IP_DCCP b/freed-ora/current/f26/baseconfig/CONFIG_IP_DCCP index 26ba41376..6ecb43a3e 100644 --- a/freed-ora/current/f26/baseconfig/CONFIG_IP_DCCP +++ b/freed-ora/current/f26/baseconfig/CONFIG_IP_DCCP @@ -1 +1 @@ -CONFIG_IP_DCCP=m +# CONFIG_IP_DCCP is not set diff --git a/freed-ora/current/f26/baseconfig/CONFIG_IR_GPIO_TX b/freed-ora/current/f26/baseconfig/CONFIG_IR_GPIO_TX new file mode 100644 index 000000000..4b6b484bb --- /dev/null +++ b/freed-ora/current/f26/baseconfig/CONFIG_IR_GPIO_TX @@ -0,0 +1 @@ +CONFIG_IR_GPIO_TX=m diff --git a/freed-ora/current/f26/baseconfig/CONFIG_IR_PWM_TX b/freed-ora/current/f26/baseconfig/CONFIG_IR_PWM_TX new file mode 100644 index 000000000..4dfd41870 --- /dev/null +++ b/freed-ora/current/f26/baseconfig/CONFIG_IR_PWM_TX @@ -0,0 +1 @@ +CONFIG_IR_PWM_TX=m diff --git a/freed-ora/current/f26/baseconfig/CONFIG_LEDS_AS3645A b/freed-ora/current/f26/baseconfig/CONFIG_LEDS_AS3645A new file mode 100644 index 000000000..25d6f9f10 --- /dev/null +++ b/freed-ora/current/f26/baseconfig/CONFIG_LEDS_AS3645A @@ -0,0 +1 @@ +CONFIG_LEDS_AS3645A=m diff --git a/freed-ora/current/f26/baseconfig/CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT b/freed-ora/current/f26/baseconfig/CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT new file mode 100644 index 000000000..336528547 --- /dev/null +++ b/freed-ora/current/f26/baseconfig/CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT @@ -0,0 +1 @@ +# CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT is not set diff --git a/freed-ora/current/f26/baseconfig/CONFIG_LTC2471 b/freed-ora/current/f26/baseconfig/CONFIG_LTC2471 new file mode 100644 index 000000000..5d272ac29 --- /dev/null +++ b/freed-ora/current/f26/baseconfig/CONFIG_LTC2471 @@ -0,0 +1 @@ +# CONFIG_LTC2471 is not set diff --git a/freed-ora/current/f26/baseconfig/CONFIG_MDIO_I2C b/freed-ora/current/f26/baseconfig/CONFIG_MDIO_I2C new file mode 100644 index 000000000..df7d9e025 --- /dev/null +++ b/freed-ora/current/f26/baseconfig/CONFIG_MDIO_I2C @@ -0,0 +1 @@ +CONFIG_MDIO_I2C=m diff --git a/freed-ora/current/f26/baseconfig/CONFIG_MFD_BD9571MWV b/freed-ora/current/f26/baseconfig/CONFIG_MFD_BD9571MWV new file mode 100644 index 000000000..28d27a0e5 --- /dev/null +++ b/freed-ora/current/f26/baseconfig/CONFIG_MFD_BD9571MWV @@ -0,0 +1 @@ +CONFIG_MFD_BD9571MWV=m diff --git a/freed-ora/current/f26/baseconfig/CONFIG_MFD_TPS68470 b/freed-ora/current/f26/baseconfig/CONFIG_MFD_TPS68470 new file mode 100644 index 000000000..10fd40465 --- /dev/null +++ b/freed-ora/current/f26/baseconfig/CONFIG_MFD_TPS68470 @@ -0,0 +1 @@ +CONFIG_MFD_TPS68470=y diff --git a/freed-ora/current/f26/baseconfig/CONFIG_MLX5_ESWITCH b/freed-ora/current/f26/baseconfig/CONFIG_MLX5_ESWITCH new file mode 100644 index 000000000..8a69e0671 --- /dev/null +++ b/freed-ora/current/f26/baseconfig/CONFIG_MLX5_ESWITCH @@ -0,0 +1 @@ +CONFIG_MLX5_ESWITCH=y diff --git a/freed-ora/current/f26/baseconfig/CONFIG_MLX5_MPFS b/freed-ora/current/f26/baseconfig/CONFIG_MLX5_MPFS new file mode 100644 index 000000000..6799ed484 --- /dev/null +++ b/freed-ora/current/f26/baseconfig/CONFIG_MLX5_MPFS @@ -0,0 +1 @@ +CONFIG_MLX5_MPFS=y diff --git a/freed-ora/current/f26/baseconfig/CONFIG_MMC_BLOCK_BOUNCE b/freed-ora/current/f26/baseconfig/CONFIG_MMC_BLOCK_BOUNCE deleted file mode 100644 index 4470e8359..000000000 --- a/freed-ora/current/f26/baseconfig/CONFIG_MMC_BLOCK_BOUNCE +++ /dev/null @@ -1 +0,0 @@ -CONFIG_MMC_BLOCK_BOUNCE=y diff --git a/freed-ora/current/f26/baseconfig/CONFIG_NET_NSH b/freed-ora/current/f26/baseconfig/CONFIG_NET_NSH new file mode 100644 index 000000000..2a9a24e04 --- /dev/null +++ b/freed-ora/current/f26/baseconfig/CONFIG_NET_NSH @@ -0,0 +1 @@ +CONFIG_NET_NSH=m diff --git a/freed-ora/current/f26/baseconfig/CONFIG_NET_VENDOR_HUAWEI b/freed-ora/current/f26/baseconfig/CONFIG_NET_VENDOR_HUAWEI new file mode 100644 index 000000000..ae01b9160 --- /dev/null +++ b/freed-ora/current/f26/baseconfig/CONFIG_NET_VENDOR_HUAWEI @@ -0,0 +1 @@ +# CONFIG_NET_VENDOR_HUAWEI is not set diff --git a/freed-ora/current/f26/baseconfig/CONFIG_NET_VENDOR_SNI b/freed-ora/current/f26/baseconfig/CONFIG_NET_VENDOR_SNI new file mode 100644 index 000000000..4f301f9ba --- /dev/null +++ b/freed-ora/current/f26/baseconfig/CONFIG_NET_VENDOR_SNI @@ -0,0 +1 @@ +# CONFIG_NET_VENDOR_SNI is not set diff --git a/freed-ora/current/f26/baseconfig/CONFIG_NFT_FIB_NETDEV b/freed-ora/current/f26/baseconfig/CONFIG_NFT_FIB_NETDEV new file mode 100644 index 000000000..273bfeb6a --- /dev/null +++ b/freed-ora/current/f26/baseconfig/CONFIG_NFT_FIB_NETDEV @@ -0,0 +1 @@ +CONFIG_NFT_FIB_NETDEV=m diff --git a/freed-ora/current/f26/baseconfig/CONFIG_PARPORT b/freed-ora/current/f26/baseconfig/CONFIG_PARPORT index 589156958..9dd8f33af 100644 --- a/freed-ora/current/f26/baseconfig/CONFIG_PARPORT +++ b/freed-ora/current/f26/baseconfig/CONFIG_PARPORT @@ -1 +1 @@ -CONFIG_PARPORT=m +# CONFIG_PARPORT is not set diff --git a/freed-ora/current/f26/baseconfig/CONFIG_PARPORT_PC b/freed-ora/current/f26/baseconfig/CONFIG_PARPORT_PC index b9aa6e8ca..e2a0d3656 100644 --- a/freed-ora/current/f26/baseconfig/CONFIG_PARPORT_PC +++ b/freed-ora/current/f26/baseconfig/CONFIG_PARPORT_PC @@ -1 +1 @@ -CONFIG_PARPORT_PC=m +# CONFIG_PARPORT_PC is not set diff --git a/freed-ora/current/f26/baseconfig/CONFIG_PCIE_DW_HOST_ECAM b/freed-ora/current/f26/baseconfig/CONFIG_PCIE_DW_HOST_ECAM new file mode 100644 index 000000000..c73d5c1aa --- /dev/null +++ b/freed-ora/current/f26/baseconfig/CONFIG_PCIE_DW_HOST_ECAM @@ -0,0 +1 @@ +# CONFIG_PCIE_DW_HOST_ECAM is not set diff --git a/freed-ora/current/f26/baseconfig/CONFIG_PHYLINK b/freed-ora/current/f26/baseconfig/CONFIG_PHYLINK new file mode 100644 index 000000000..cc1e23e0b --- /dev/null +++ b/freed-ora/current/f26/baseconfig/CONFIG_PHYLINK @@ -0,0 +1 @@ +CONFIG_PHYLINK=m diff --git a/freed-ora/current/f26/baseconfig/CONFIG_PHY_MVEBU_CP110_COMPHY b/freed-ora/current/f26/baseconfig/CONFIG_PHY_MVEBU_CP110_COMPHY new file mode 100644 index 000000000..8c104689f --- /dev/null +++ b/freed-ora/current/f26/baseconfig/CONFIG_PHY_MVEBU_CP110_COMPHY @@ -0,0 +1 @@ +# CONFIG_PHY_MVEBU_CP110_COMPHY is not set diff --git a/freed-ora/current/f26/baseconfig/CONFIG_PI433 b/freed-ora/current/f26/baseconfig/CONFIG_PI433 new file mode 100644 index 000000000..b275e1e6a --- /dev/null +++ b/freed-ora/current/f26/baseconfig/CONFIG_PI433 @@ -0,0 +1 @@ +# CONFIG_PI433 is not set diff --git a/freed-ora/current/f26/baseconfig/CONFIG_PINCTRL_MSM8994 b/freed-ora/current/f26/baseconfig/CONFIG_PINCTRL_MSM8994 deleted file mode 100644 index 977b1c3c4..000000000 --- a/freed-ora/current/f26/baseconfig/CONFIG_PINCTRL_MSM8994 +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_PINCTRL_MSM8994 is not set diff --git a/freed-ora/current/f26/baseconfig/CONFIG_PINCTRL_RK805 b/freed-ora/current/f26/baseconfig/CONFIG_PINCTRL_RK805 new file mode 100644 index 000000000..47b4fd855 --- /dev/null +++ b/freed-ora/current/f26/baseconfig/CONFIG_PINCTRL_RK805 @@ -0,0 +1 @@ +CONFIG_PINCTRL_RK805=m diff --git a/freed-ora/current/f26/baseconfig/CONFIG_PINCTRL_SPRD b/freed-ora/current/f26/baseconfig/CONFIG_PINCTRL_SPRD new file mode 100644 index 000000000..cffa73544 --- /dev/null +++ b/freed-ora/current/f26/baseconfig/CONFIG_PINCTRL_SPRD @@ -0,0 +1 @@ +# CONFIG_PINCTRL_SPRD is not set diff --git a/freed-ora/current/f26/baseconfig/CONFIG_PINCTRL_SPRD_SC9860 b/freed-ora/current/f26/baseconfig/CONFIG_PINCTRL_SPRD_SC9860 new file mode 100644 index 000000000..f9b405f96 --- /dev/null +++ b/freed-ora/current/f26/baseconfig/CONFIG_PINCTRL_SPRD_SC9860 @@ -0,0 +1 @@ +# CONFIG_PINCTRL_SPRD_SC9860 is not set diff --git a/freed-ora/current/f26/baseconfig/CONFIG_PM_OPP b/freed-ora/current/f26/baseconfig/CONFIG_PM_OPP index a77bd27f8..bbe2b56ba 100644 --- a/freed-ora/current/f26/baseconfig/CONFIG_PM_OPP +++ b/freed-ora/current/f26/baseconfig/CONFIG_PM_OPP @@ -1 +1 @@ -# CONFIG_PM_OPP is not set +CONFIG_PM_OPP=y diff --git a/freed-ora/current/f26/baseconfig/CONFIG_QCOM_GLINK_SSR b/freed-ora/current/f26/baseconfig/CONFIG_QCOM_GLINK_SSR new file mode 100644 index 000000000..1c67b32f7 --- /dev/null +++ b/freed-ora/current/f26/baseconfig/CONFIG_QCOM_GLINK_SSR @@ -0,0 +1 @@ +# CONFIG_QCOM_GLINK_SSR is not set diff --git a/freed-ora/current/f26/baseconfig/CONFIG_R8822BE b/freed-ora/current/f26/baseconfig/CONFIG_R8822BE new file mode 100644 index 000000000..2f7c08787 --- /dev/null +++ b/freed-ora/current/f26/baseconfig/CONFIG_R8822BE @@ -0,0 +1 @@ +CONFIG_R8822BE=m diff --git a/freed-ora/current/f26/baseconfig/CONFIG_REGULATOR_BD9571MWV b/freed-ora/current/f26/baseconfig/CONFIG_REGULATOR_BD9571MWV new file mode 100644 index 000000000..3b0acb786 --- /dev/null +++ b/freed-ora/current/f26/baseconfig/CONFIG_REGULATOR_BD9571MWV @@ -0,0 +1 @@ +CONFIG_REGULATOR_BD9571MWV=m diff --git a/freed-ora/current/f26/baseconfig/CONFIG_RESET_ATTACK_MITIGATION b/freed-ora/current/f26/baseconfig/CONFIG_RESET_ATTACK_MITIGATION new file mode 100644 index 000000000..8202a7865 --- /dev/null +++ b/freed-ora/current/f26/baseconfig/CONFIG_RESET_ATTACK_MITIGATION @@ -0,0 +1 @@ +CONFIG_RESET_ATTACK_MITIGATION=y diff --git a/freed-ora/current/f26/baseconfig/CONFIG_RESET_HSDK_V1 b/freed-ora/current/f26/baseconfig/CONFIG_RESET_HSDK_V1 new file mode 100644 index 000000000..4c2b97d79 --- /dev/null +++ b/freed-ora/current/f26/baseconfig/CONFIG_RESET_HSDK_V1 @@ -0,0 +1 @@ +# CONFIG_RESET_HSDK_V1 is not set diff --git a/freed-ora/current/f26/baseconfig/CONFIG_RMNET b/freed-ora/current/f26/baseconfig/CONFIG_RMNET new file mode 100644 index 000000000..5e8c115b5 --- /dev/null +++ b/freed-ora/current/f26/baseconfig/CONFIG_RMNET @@ -0,0 +1 @@ +# CONFIG_RMNET is not set diff --git a/freed-ora/current/f26/baseconfig/CONFIG_ROCKCHIP_PHY b/freed-ora/current/f26/baseconfig/CONFIG_ROCKCHIP_PHY new file mode 100644 index 000000000..4ca60873a --- /dev/null +++ b/freed-ora/current/f26/baseconfig/CONFIG_ROCKCHIP_PHY @@ -0,0 +1 @@ +# CONFIG_ROCKCHIP_PHY is not set diff --git a/freed-ora/current/f26/baseconfig/CONFIG_RPMSG_QCOM_GLINK_SMEM b/freed-ora/current/f26/baseconfig/CONFIG_RPMSG_QCOM_GLINK_SMEM new file mode 100644 index 000000000..c2c0a0c78 --- /dev/null +++ b/freed-ora/current/f26/baseconfig/CONFIG_RPMSG_QCOM_GLINK_SMEM @@ -0,0 +1 @@ +# CONFIG_RPMSG_QCOM_GLINK_SMEM is not set diff --git a/freed-ora/current/f26/baseconfig/CONFIG_SENSORS_IBM_CFFPS b/freed-ora/current/f26/baseconfig/CONFIG_SENSORS_IBM_CFFPS new file mode 100644 index 000000000..a217d973e --- /dev/null +++ b/freed-ora/current/f26/baseconfig/CONFIG_SENSORS_IBM_CFFPS @@ -0,0 +1 @@ +# CONFIG_SENSORS_IBM_CFFPS is not set diff --git a/freed-ora/current/f26/baseconfig/CONFIG_SENSORS_TPS53679 b/freed-ora/current/f26/baseconfig/CONFIG_SENSORS_TPS53679 new file mode 100644 index 000000000..461a703df --- /dev/null +++ b/freed-ora/current/f26/baseconfig/CONFIG_SENSORS_TPS53679 @@ -0,0 +1 @@ +CONFIG_SENSORS_TPS53679=m diff --git a/freed-ora/current/f26/baseconfig/CONFIG_SERIO_GPIO_PS2 b/freed-ora/current/f26/baseconfig/CONFIG_SERIO_GPIO_PS2 new file mode 100644 index 000000000..22c1adbfb --- /dev/null +++ b/freed-ora/current/f26/baseconfig/CONFIG_SERIO_GPIO_PS2 @@ -0,0 +1 @@ +# CONFIG_SERIO_GPIO_PS2 is not set diff --git a/freed-ora/current/f26/baseconfig/CONFIG_SFP b/freed-ora/current/f26/baseconfig/CONFIG_SFP new file mode 100644 index 000000000..db57db12e --- /dev/null +++ b/freed-ora/current/f26/baseconfig/CONFIG_SFP @@ -0,0 +1 @@ +CONFIG_SFP=m diff --git a/freed-ora/current/f26/baseconfig/CONFIG_SLAB_FREELIST_HARDENED b/freed-ora/current/f26/baseconfig/CONFIG_SLAB_FREELIST_HARDENED new file mode 100644 index 000000000..52602d279 --- /dev/null +++ b/freed-ora/current/f26/baseconfig/CONFIG_SLAB_FREELIST_HARDENED @@ -0,0 +1 @@ +CONFIG_SLAB_FREELIST_HARDENED=y diff --git a/freed-ora/current/f26/baseconfig/CONFIG_SND_HDA_POWER_SAVE_DEFAULT b/freed-ora/current/f26/baseconfig/CONFIG_SND_HDA_POWER_SAVE_DEFAULT index ce02ec981..ba018972d 100644 --- a/freed-ora/current/f26/baseconfig/CONFIG_SND_HDA_POWER_SAVE_DEFAULT +++ b/freed-ora/current/f26/baseconfig/CONFIG_SND_HDA_POWER_SAVE_DEFAULT @@ -1 +1 @@ -CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0 +CONFIG_SND_HDA_POWER_SAVE_DEFAULT=1 diff --git a/freed-ora/current/f26/baseconfig/CONFIG_SND_SOC_CS43130 b/freed-ora/current/f26/baseconfig/CONFIG_SND_SOC_CS43130 new file mode 100644 index 000000000..3fad16f6d --- /dev/null +++ b/freed-ora/current/f26/baseconfig/CONFIG_SND_SOC_CS43130 @@ -0,0 +1 @@ +CONFIG_SND_SOC_CS43130=m diff --git a/freed-ora/current/f26/baseconfig/CONFIG_SND_SOC_WM8524 b/freed-ora/current/f26/baseconfig/CONFIG_SND_SOC_WM8524 new file mode 100644 index 000000000..1eb33d7e5 --- /dev/null +++ b/freed-ora/current/f26/baseconfig/CONFIG_SND_SOC_WM8524 @@ -0,0 +1 @@ +CONFIG_SND_SOC_WM8524=m diff --git a/freed-ora/current/f26/baseconfig/CONFIG_SQUASHFS_ZSTD b/freed-ora/current/f26/baseconfig/CONFIG_SQUASHFS_ZSTD new file mode 100644 index 000000000..023fb21e0 --- /dev/null +++ b/freed-ora/current/f26/baseconfig/CONFIG_SQUASHFS_ZSTD @@ -0,0 +1 @@ +CONFIG_SQUASHFS_ZSTD=y diff --git a/freed-ora/current/f26/baseconfig/CONFIG_STRING_SELFTEST b/freed-ora/current/f26/baseconfig/CONFIG_STRING_SELFTEST new file mode 100644 index 000000000..dbff6d7fa --- /dev/null +++ b/freed-ora/current/f26/baseconfig/CONFIG_STRING_SELFTEST @@ -0,0 +1 @@ +# CONFIG_STRING_SELFTEST is not set diff --git a/freed-ora/current/f26/baseconfig/CONFIG_TI_SYSCON_RESET b/freed-ora/current/f26/baseconfig/CONFIG_TI_SYSCON_RESET deleted file mode 100644 index daf623a6e..000000000 --- a/freed-ora/current/f26/baseconfig/CONFIG_TI_SYSCON_RESET +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_TI_SYSCON_RESET is not set diff --git a/freed-ora/current/f26/baseconfig/CONFIG_USB_LED b/freed-ora/current/f26/baseconfig/CONFIG_USB_LED deleted file mode 100644 index 445af6c46..000000000 --- a/freed-ora/current/f26/baseconfig/CONFIG_USB_LED +++ /dev/null @@ -1 +0,0 @@ -CONFIG_USB_LED=m diff --git a/freed-ora/current/f26/baseconfig/CONFIG_VIDEO_RENESAS_VSP1 b/freed-ora/current/f26/baseconfig/CONFIG_VIDEO_RENESAS_VSP1 deleted file mode 100644 index dd5c6f34c..000000000 --- a/freed-ora/current/f26/baseconfig/CONFIG_VIDEO_RENESAS_VSP1 +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_VIDEO_RENESAS_VSP1 is not set diff --git a/freed-ora/current/f26/baseconfig/CONFIG_W1_SLAVE_DS2805 b/freed-ora/current/f26/baseconfig/CONFIG_W1_SLAVE_DS2805 new file mode 100644 index 000000000..eddd3bbb3 --- /dev/null +++ b/freed-ora/current/f26/baseconfig/CONFIG_W1_SLAVE_DS2805 @@ -0,0 +1 @@ +CONFIG_W1_SLAVE_DS2805=m diff --git a/freed-ora/current/f26/baseconfig/CONFIG_WIL6210_DEBUGFS b/freed-ora/current/f26/baseconfig/CONFIG_WIL6210_DEBUGFS new file mode 100644 index 000000000..f0f5fe7cf --- /dev/null +++ b/freed-ora/current/f26/baseconfig/CONFIG_WIL6210_DEBUGFS @@ -0,0 +1 @@ +CONFIG_WIL6210_DEBUGFS=y diff --git a/freed-ora/current/f26/baseconfig/CONFIG_ZRAM_WRITEBACK b/freed-ora/current/f26/baseconfig/CONFIG_ZRAM_WRITEBACK new file mode 100644 index 000000000..9a566b71c --- /dev/null +++ b/freed-ora/current/f26/baseconfig/CONFIG_ZRAM_WRITEBACK @@ -0,0 +1 @@ +# CONFIG_ZRAM_WRITEBACK is not set diff --git a/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_ARCH_BCM_IPROC b/freed-ora/current/f26/baseconfig/arm/CONFIG_ARCH_BCM_IPROC index d60fe565f..d60fe565f 100644 --- a/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_ARCH_BCM_IPROC +++ b/freed-ora/current/f26/baseconfig/arm/CONFIG_ARCH_BCM_IPROC diff --git a/freed-ora/current/f26/baseconfig/arm/CONFIG_CRYPTO_DEV_SUN4I_SS_PRNG b/freed-ora/current/f26/baseconfig/arm/CONFIG_CRYPTO_DEV_SUN4I_SS_PRNG new file mode 100644 index 000000000..62fd0b85a --- /dev/null +++ b/freed-ora/current/f26/baseconfig/arm/CONFIG_CRYPTO_DEV_SUN4I_SS_PRNG @@ -0,0 +1 @@ +CONFIG_CRYPTO_DEV_SUN4I_SS_PRNG=y diff --git a/freed-ora/current/f26/baseconfig/arm/CONFIG_CRYPTO_SHA256_ARM64 b/freed-ora/current/f26/baseconfig/arm/CONFIG_CRYPTO_SHA256_ARM64 index ba32f8501..3aa7dacbf 100644 --- a/freed-ora/current/f26/baseconfig/arm/CONFIG_CRYPTO_SHA256_ARM64 +++ b/freed-ora/current/f26/baseconfig/arm/CONFIG_CRYPTO_SHA256_ARM64 @@ -1 +1 @@ -CONFIG_CRYPTO_SHA256_ARM64=m +CONFIG_CRYPTO_SHA256_ARM64=y diff --git a/freed-ora/current/f26/baseconfig/arm/CONFIG_DRM_DW_HDMI_CEC b/freed-ora/current/f26/baseconfig/arm/CONFIG_DRM_DW_HDMI_CEC new file mode 100644 index 000000000..a3e178eae --- /dev/null +++ b/freed-ora/current/f26/baseconfig/arm/CONFIG_DRM_DW_HDMI_CEC @@ -0,0 +1 @@ +CONFIG_DRM_DW_HDMI_CEC=m diff --git a/freed-ora/current/f26/baseconfig/arm/CONFIG_DRM_VC4_HDMI_CEC b/freed-ora/current/f26/baseconfig/arm/CONFIG_DRM_VC4_HDMI_CEC new file mode 100644 index 000000000..da0132c1f --- /dev/null +++ b/freed-ora/current/f26/baseconfig/arm/CONFIG_DRM_VC4_HDMI_CEC @@ -0,0 +1 @@ +CONFIG_DRM_VC4_HDMI_CEC=y diff --git a/freed-ora/current/f26/baseconfig/arm/CONFIG_EXTCON_USBC_CROS_EC b/freed-ora/current/f26/baseconfig/arm/CONFIG_EXTCON_USBC_CROS_EC new file mode 100644 index 000000000..831bc6ea7 --- /dev/null +++ b/freed-ora/current/f26/baseconfig/arm/CONFIG_EXTCON_USBC_CROS_EC @@ -0,0 +1 @@ +CONFIG_EXTCON_USBC_CROS_EC=m diff --git a/freed-ora/current/f26/baseconfig/arm/CONFIG_HW_RANDOM_IMX_RNGC b/freed-ora/current/f26/baseconfig/arm/CONFIG_HW_RANDOM_IMX_RNGC new file mode 100644 index 000000000..e7b39a2c7 --- /dev/null +++ b/freed-ora/current/f26/baseconfig/arm/CONFIG_HW_RANDOM_IMX_RNGC @@ -0,0 +1 @@ +CONFIG_HW_RANDOM_IMX_RNGC=m diff --git a/freed-ora/current/f26/baseconfig/arm/CONFIG_I2C_DESIGNWARE_CORE b/freed-ora/current/f26/baseconfig/arm/CONFIG_I2C_DESIGNWARE_CORE index 661ffb01a..f9cdc633b 100644 --- a/freed-ora/current/f26/baseconfig/arm/CONFIG_I2C_DESIGNWARE_CORE +++ b/freed-ora/current/f26/baseconfig/arm/CONFIG_I2C_DESIGNWARE_CORE @@ -1 +1 @@ -CONFIG_I2C_DESIGNWARE_CORE=m +CONFIG_I2C_DESIGNWARE_CORE=y diff --git a/freed-ora/current/f26/baseconfig/arm/CONFIG_I2C_DESIGNWARE_PLATFORM b/freed-ora/current/f26/baseconfig/arm/CONFIG_I2C_DESIGNWARE_PLATFORM index cec2f8633..3d50a3e8a 100644 --- a/freed-ora/current/f26/baseconfig/arm/CONFIG_I2C_DESIGNWARE_PLATFORM +++ b/freed-ora/current/f26/baseconfig/arm/CONFIG_I2C_DESIGNWARE_PLATFORM @@ -1 +1 @@ -CONFIG_I2C_DESIGNWARE_PLATFORM=m +CONFIG_I2C_DESIGNWARE_PLATFORM=y diff --git a/freed-ora/current/f26/baseconfig/arm/CONFIG_IOMMU_DMA b/freed-ora/current/f26/baseconfig/arm/CONFIG_IOMMU_DMA new file mode 100644 index 000000000..a9155fba1 --- /dev/null +++ b/freed-ora/current/f26/baseconfig/arm/CONFIG_IOMMU_DMA @@ -0,0 +1 @@ +CONFIG_IOMMU_DMA=y diff --git a/freed-ora/current/f26/baseconfig/arm/CONFIG_MESON_GX_SOCINFO b/freed-ora/current/f26/baseconfig/arm/CONFIG_MESON_GX_SOCINFO new file mode 100644 index 000000000..ce5ba6f4a --- /dev/null +++ b/freed-ora/current/f26/baseconfig/arm/CONFIG_MESON_GX_SOCINFO @@ -0,0 +1 @@ +CONFIG_MESON_GX_SOCINFO=y diff --git a/freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_MTD_NAND_PXA3xx b/freed-ora/current/f26/baseconfig/arm/CONFIG_MTD_NAND_PXA3xx index 584b57ea1..584b57ea1 100644 --- a/freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_MTD_NAND_PXA3xx +++ b/freed-ora/current/f26/baseconfig/arm/CONFIG_MTD_NAND_PXA3xx diff --git a/freed-ora/current/f26/baseconfig/arm/CONFIG_PARPORT b/freed-ora/current/f26/baseconfig/arm/CONFIG_PARPORT deleted file mode 100644 index 9dd8f33af..000000000 --- a/freed-ora/current/f26/baseconfig/arm/CONFIG_PARPORT +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_PARPORT is not set diff --git a/freed-ora/current/f26/baseconfig/arm/CONFIG_PATA_OF_PLATFORM b/freed-ora/current/f26/baseconfig/arm/CONFIG_PATA_OF_PLATFORM deleted file mode 100644 index 5354705f9..000000000 --- a/freed-ora/current/f26/baseconfig/arm/CONFIG_PATA_OF_PLATFORM +++ /dev/null @@ -1 +0,0 @@ -CONFIG_PATA_OF_PLATFORM=m diff --git a/freed-ora/current/f26/baseconfig/arm/CONFIG_RADIO_WL128X b/freed-ora/current/f26/baseconfig/arm/CONFIG_RADIO_WL128X deleted file mode 100644 index 88b42f8e6..000000000 --- a/freed-ora/current/f26/baseconfig/arm/CONFIG_RADIO_WL128X +++ /dev/null @@ -1 +0,0 @@ -CONFIG_RADIO_WL128X=m diff --git a/freed-ora/current/f26/baseconfig/arm/CONFIG_ROCKCHIP_PHY b/freed-ora/current/f26/baseconfig/arm/CONFIG_ROCKCHIP_PHY new file mode 100644 index 000000000..e49faf8f9 --- /dev/null +++ b/freed-ora/current/f26/baseconfig/arm/CONFIG_ROCKCHIP_PHY @@ -0,0 +1 @@ +CONFIG_ROCKCHIP_PHY=m diff --git a/freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_SND_SOC_TEGRA20_AC97 b/freed-ora/current/f26/baseconfig/arm/CONFIG_SND_SOC_TEGRA20_AC97 index fa8e0e012..fa8e0e012 100644 --- a/freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_SND_SOC_TEGRA20_AC97 +++ b/freed-ora/current/f26/baseconfig/arm/CONFIG_SND_SOC_TEGRA20_AC97 diff --git a/freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_SND_SOC_TEGRA20_DAS b/freed-ora/current/f26/baseconfig/arm/CONFIG_SND_SOC_TEGRA20_DAS index 82205dc43..82205dc43 100644 --- a/freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_SND_SOC_TEGRA20_DAS +++ b/freed-ora/current/f26/baseconfig/arm/CONFIG_SND_SOC_TEGRA20_DAS diff --git a/freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_SND_SOC_TEGRA20_I2S b/freed-ora/current/f26/baseconfig/arm/CONFIG_SND_SOC_TEGRA20_I2S index abfe22877..abfe22877 100644 --- a/freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_SND_SOC_TEGRA20_I2S +++ b/freed-ora/current/f26/baseconfig/arm/CONFIG_SND_SOC_TEGRA20_I2S diff --git a/freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_SND_SOC_TEGRA20_SPDIF b/freed-ora/current/f26/baseconfig/arm/CONFIG_SND_SOC_TEGRA20_SPDIF index 0f05cfffa..0f05cfffa 100644 --- a/freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_SND_SOC_TEGRA20_SPDIF +++ b/freed-ora/current/f26/baseconfig/arm/CONFIG_SND_SOC_TEGRA20_SPDIF diff --git a/freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_SND_SOC_TEGRA30_AHUB b/freed-ora/current/f26/baseconfig/arm/CONFIG_SND_SOC_TEGRA30_AHUB index d5632de51..d5632de51 100644 --- a/freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_SND_SOC_TEGRA30_AHUB +++ b/freed-ora/current/f26/baseconfig/arm/CONFIG_SND_SOC_TEGRA30_AHUB diff --git a/freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_SND_SOC_TEGRA30_I2S b/freed-ora/current/f26/baseconfig/arm/CONFIG_SND_SOC_TEGRA30_I2S index c7fabc77b..c7fabc77b 100644 --- a/freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_SND_SOC_TEGRA30_I2S +++ b/freed-ora/current/f26/baseconfig/arm/CONFIG_SND_SOC_TEGRA30_I2S diff --git a/freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_SUNXI_SRAM b/freed-ora/current/f26/baseconfig/arm/CONFIG_SUNXI_SRAM index 526bd5868..526bd5868 100644 --- a/freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_SUNXI_SRAM +++ b/freed-ora/current/f26/baseconfig/arm/CONFIG_SUNXI_SRAM diff --git a/freed-ora/current/f26/baseconfig/arm/CONFIG_TINYDRM_REPAPER b/freed-ora/current/f26/baseconfig/arm/CONFIG_TINYDRM_REPAPER new file mode 100644 index 000000000..c4d2874fa --- /dev/null +++ b/freed-ora/current/f26/baseconfig/arm/CONFIG_TINYDRM_REPAPER @@ -0,0 +1 @@ +# CONFIG_TINYDRM_REPAPER is not set diff --git a/freed-ora/current/f26/baseconfig/arm/CONFIG_TINYDRM_ST7586 b/freed-ora/current/f26/baseconfig/arm/CONFIG_TINYDRM_ST7586 new file mode 100644 index 000000000..2b9e29f63 --- /dev/null +++ b/freed-ora/current/f26/baseconfig/arm/CONFIG_TINYDRM_ST7586 @@ -0,0 +1 @@ +# CONFIG_TINYDRM_ST7586 is not set diff --git a/freed-ora/current/f26/baseconfig/arm/CONFIG_TI_ST b/freed-ora/current/f26/baseconfig/arm/CONFIG_TI_ST deleted file mode 100644 index e6d0d4428..000000000 --- a/freed-ora/current/f26/baseconfig/arm/CONFIG_TI_ST +++ /dev/null @@ -1 +0,0 @@ -CONFIG_TI_ST=m diff --git a/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_USB_CHIPIDEA b/freed-ora/current/f26/baseconfig/arm/CONFIG_USB_CHIPIDEA index 0b76e3525..0b76e3525 100644 --- a/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_USB_CHIPIDEA +++ b/freed-ora/current/f26/baseconfig/arm/CONFIG_USB_CHIPIDEA diff --git a/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_USB_CHIPIDEA_HOST b/freed-ora/current/f26/baseconfig/arm/CONFIG_USB_CHIPIDEA_HOST index 1c14a4a6c..1c14a4a6c 100644 --- a/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_USB_CHIPIDEA_HOST +++ b/freed-ora/current/f26/baseconfig/arm/CONFIG_USB_CHIPIDEA_HOST diff --git a/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_USB_CHIPIDEA_UDC b/freed-ora/current/f26/baseconfig/arm/CONFIG_USB_CHIPIDEA_UDC index 320052607..320052607 100644 --- a/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_USB_CHIPIDEA_UDC +++ b/freed-ora/current/f26/baseconfig/arm/CONFIG_USB_CHIPIDEA_UDC diff --git a/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_USB_CHIPIDEA_ULPI b/freed-ora/current/f26/baseconfig/arm/CONFIG_USB_CHIPIDEA_ULPI index d1a5cf9eb..d1a5cf9eb 100644 --- a/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_USB_CHIPIDEA_ULPI +++ b/freed-ora/current/f26/baseconfig/arm/CONFIG_USB_CHIPIDEA_ULPI diff --git a/freed-ora/current/f26/baseconfig/arm/CONFIG_VIDEO_MESON_AO_CEC b/freed-ora/current/f26/baseconfig/arm/CONFIG_VIDEO_MESON_AO_CEC new file mode 100644 index 000000000..499a44076 --- /dev/null +++ b/freed-ora/current/f26/baseconfig/arm/CONFIG_VIDEO_MESON_AO_CEC @@ -0,0 +1 @@ +CONFIG_VIDEO_MESON_AO_CEC=m diff --git a/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_ARCH_TEGRA_186_SOC b/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_ARCH_TEGRA_186_SOC index 0439db330..1cafdb24f 100644 --- a/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_ARCH_TEGRA_186_SOC +++ b/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_ARCH_TEGRA_186_SOC @@ -1 +1 @@ -# CONFIG_ARCH_TEGRA_186_SOC is not set +CONFIG_ARCH_TEGRA_186_SOC=y diff --git a/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_ARCH_VULCAN b/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_ARCH_VULCAN deleted file mode 100644 index 6081275c5..000000000 --- a/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_ARCH_VULCAN +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_ARCH_VULCAN is not set diff --git a/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_ARM64_PMEM b/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_ARM64_PMEM new file mode 100644 index 000000000..9325600d1 --- /dev/null +++ b/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_ARM64_PMEM @@ -0,0 +1 @@ +# CONFIG_ARM64_PMEM is not set diff --git a/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_ARM_TEGRA186_CPUFREQ b/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_ARM_TEGRA186_CPUFREQ new file mode 100644 index 000000000..f0e165dfb --- /dev/null +++ b/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_ARM_TEGRA186_CPUFREQ @@ -0,0 +1 @@ +CONFIG_ARM_TEGRA186_CPUFREQ=m diff --git a/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_CHARGER_QCOM_SMBB b/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_CHARGER_QCOM_SMBB new file mode 100644 index 000000000..43a91eb0e --- /dev/null +++ b/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_CHARGER_QCOM_SMBB @@ -0,0 +1 @@ +CONFIG_CHARGER_QCOM_SMBB=m diff --git a/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_CRYPTO_AES_ARM64 b/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_CRYPTO_AES_ARM64 index 113c72b8c..dd0ae2c1d 100644 --- a/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_CRYPTO_AES_ARM64 +++ b/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_CRYPTO_AES_ARM64 @@ -1 +1 @@ -CONFIG_CRYPTO_AES_ARM64=m +CONFIG_CRYPTO_AES_ARM64=y diff --git a/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_DMI b/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_DMI deleted file mode 100644 index f961d1678..000000000 --- a/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_DMI +++ /dev/null @@ -1 +0,0 @@ -CONFIG_DMI=y diff --git a/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_DMIID b/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_DMIID deleted file mode 100644 index d0ea3622a..000000000 --- a/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_DMIID +++ /dev/null @@ -1 +0,0 @@ -CONFIG_DMIID=y diff --git a/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_DMI_SYSFS b/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_DMI_SYSFS deleted file mode 100644 index 76565caf8..000000000 --- a/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_DMI_SYSFS +++ /dev/null @@ -1 +0,0 @@ -CONFIG_DMI_SYSFS=y diff --git a/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_GPIO_THUNDERX b/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_GPIO_THUNDERX new file mode 100644 index 000000000..6895cc045 --- /dev/null +++ b/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_GPIO_THUNDERX @@ -0,0 +1 @@ +CONFIG_GPIO_THUNDERX=m diff --git a/freed-ora/current/f26/baseconfig/arm/CONFIG_MFD_SPMI_PMIC b/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_MFD_SPMI_PMIC index 6360fee39..6360fee39 100644 --- a/freed-ora/current/f26/baseconfig/arm/CONFIG_MFD_SPMI_PMIC +++ b/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_MFD_SPMI_PMIC diff --git a/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_MMC_QCOM_DML b/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_MMC_QCOM_DML index 059d0d4f2..48facf367 100644 --- a/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_MMC_QCOM_DML +++ b/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_MMC_QCOM_DML @@ -1 +1 @@ -CONFIG_MMC_QCOM_DML=m +CONFIG_MMC_QCOM_DML=y diff --git a/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_NET_VENDOR_SNI b/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_NET_VENDOR_SNI new file mode 100644 index 000000000..bb77206de --- /dev/null +++ b/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_NET_VENDOR_SNI @@ -0,0 +1 @@ +CONFIG_NET_VENDOR_SNI=y diff --git a/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_PARPORT_PC b/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_PARPORT_PC deleted file mode 100644 index e2a0d3656..000000000 --- a/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_PARPORT_PC +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_PARPORT_PC is not set diff --git a/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_PCIE_DW_HOST_ECAM b/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_PCIE_DW_HOST_ECAM new file mode 100644 index 000000000..cdb6169bd --- /dev/null +++ b/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_PCIE_DW_HOST_ECAM @@ -0,0 +1 @@ +CONFIG_PCIE_DW_HOST_ECAM=y diff --git a/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_PHY_MVEBU_CP110_COMPHY b/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_PHY_MVEBU_CP110_COMPHY new file mode 100644 index 000000000..1902b0c1f --- /dev/null +++ b/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_PHY_MVEBU_CP110_COMPHY @@ -0,0 +1 @@ +CONFIG_PHY_MVEBU_CP110_COMPHY=m diff --git a/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_RANDOMIZE_BASE b/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_RANDOMIZE_BASE index 097a2d3e7..20610a95a 100644 --- a/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_RANDOMIZE_BASE +++ b/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_RANDOMIZE_BASE @@ -1 +1 @@ -# CONFIG_RANDOMIZE_BASE is not set +CONFIG_RANDOMIZE_BASE=y diff --git a/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_RANDOMIZE_MODULE_REGION_FULL b/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_RANDOMIZE_MODULE_REGION_FULL new file mode 100644 index 000000000..7645a371e --- /dev/null +++ b/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_RANDOMIZE_MODULE_REGION_FULL @@ -0,0 +1 @@ +CONFIG_RANDOMIZE_MODULE_REGION_FULL=y diff --git a/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_RELOCATABLE b/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_RELOCATABLE index ff7e13901..36808edb3 100644 --- a/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_RELOCATABLE +++ b/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_RELOCATABLE @@ -1 +1 @@ -# CONFIG_RELOCATABLE is not set +CONFIG_RELOCATABLE=y diff --git a/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_SNI_NETSEC b/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_SNI_NETSEC new file mode 100644 index 000000000..c348519ff --- /dev/null +++ b/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_SNI_NETSEC @@ -0,0 +1 @@ +CONFIG_SNI_NETSEC=m diff --git a/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_SOCIONEXT_SYNQUACER_PREITS b/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_SOCIONEXT_SYNQUACER_PREITS new file mode 100644 index 000000000..ded5c358e --- /dev/null +++ b/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_SOCIONEXT_SYNQUACER_PREITS @@ -0,0 +1 @@ +CONFIG_SOCIONEXT_SYNQUACER_PREITS=y diff --git a/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_USB_CONFIGFS_F_LB_SS b/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_USB_CONFIGFS_F_LB_SS new file mode 100644 index 000000000..213edb5a1 --- /dev/null +++ b/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_USB_CONFIGFS_F_LB_SS @@ -0,0 +1 @@ +# CONFIG_USB_CONFIGFS_F_LB_SS is not set diff --git a/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_VIDEO_QCOM_CAMSS b/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_VIDEO_QCOM_CAMSS new file mode 100644 index 000000000..5e2512c4c --- /dev/null +++ b/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_VIDEO_QCOM_CAMSS @@ -0,0 +1 @@ +CONFIG_VIDEO_QCOM_CAMSS=m diff --git a/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_VMAP_STACK b/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_VMAP_STACK new file mode 100644 index 000000000..8bd986875 --- /dev/null +++ b/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_VMAP_STACK @@ -0,0 +1 @@ +CONFIG_VMAP_STACK=y diff --git a/freed-ora/current/f26/baseconfig/arm/CONFIG_DRM_SUN4I_BACKEND b/freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_DRM_SUN4I_BACKEND index c1d1d2121..c1d1d2121 100644 --- a/freed-ora/current/f26/baseconfig/arm/CONFIG_DRM_SUN4I_BACKEND +++ b/freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_DRM_SUN4I_BACKEND diff --git a/freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_DRM_SUN4I_HDMI_CEC b/freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_DRM_SUN4I_HDMI_CEC new file mode 100644 index 000000000..8ba73409c --- /dev/null +++ b/freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_DRM_SUN4I_HDMI_CEC @@ -0,0 +1 @@ +# CONFIG_DRM_SUN4I_HDMI_CEC is not set diff --git a/freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_MMC_QCOM_DML b/freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_MMC_QCOM_DML deleted file mode 100644 index 059d0d4f2..000000000 --- a/freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_MMC_QCOM_DML +++ /dev/null @@ -1 +0,0 @@ -CONFIG_MMC_QCOM_DML=m diff --git a/freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_OMAP2_DSS_DEBUG b/freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_OMAP2_DSS_DEBUG deleted file mode 100644 index 8b8ba13e8..000000000 --- a/freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_OMAP2_DSS_DEBUG +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_OMAP2_DSS_DEBUG is not set diff --git a/freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_PINCTRL_BCM281XX b/freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_PINCTRL_BCM281XX deleted file mode 100644 index 9963aedf7..000000000 --- a/freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_PINCTRL_BCM281XX +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_PINCTRL_BCM281XX is not set diff --git a/freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_PINCTRL_IMX35 b/freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_PINCTRL_IMX35 deleted file mode 100644 index c9a64229e..000000000 --- a/freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_PINCTRL_IMX35 +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_PINCTRL_IMX35 is not set diff --git a/freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_PWM_TIECAP b/freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_PWM_TIECAP new file mode 100644 index 000000000..84f1e9b57 --- /dev/null +++ b/freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_PWM_TIECAP @@ -0,0 +1 @@ +CONFIG_PWM_TIECAP=m diff --git a/freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_RTC_DRV_ARMADA38X b/freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_RTC_DRV_ARMADA38X deleted file mode 100644 index 7dcdafcbb..000000000 --- a/freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_RTC_DRV_ARMADA38X +++ /dev/null @@ -1 +0,0 @@ -CONFIG_RTC_DRV_ARMADA38X=m diff --git a/freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_SUN4I_A10_CCU b/freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_SUN4I_A10_CCU new file mode 100644 index 000000000..3b2ba681a --- /dev/null +++ b/freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_SUN4I_A10_CCU @@ -0,0 +1 @@ +CONFIG_SUN4I_A10_CCU=y diff --git a/freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_SUN8I_R40_CCU b/freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_SUN8I_R40_CCU new file mode 100644 index 000000000..149900927 --- /dev/null +++ b/freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_SUN8I_R40_CCU @@ -0,0 +1 @@ +CONFIG_SUN8I_R40_CCU=y diff --git a/freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_BATTERY_BQ27XXX_HDQ b/freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_BATTERY_BQ27XXX_HDQ new file mode 100644 index 000000000..2be078588 --- /dev/null +++ b/freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_BATTERY_BQ27XXX_HDQ @@ -0,0 +1 @@ +CONFIG_BATTERY_BQ27XXX_HDQ=m diff --git a/freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_CHARGER_QCOM_SMBB b/freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_CHARGER_QCOM_SMBB new file mode 100644 index 000000000..43a91eb0e --- /dev/null +++ b/freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_CHARGER_QCOM_SMBB @@ -0,0 +1 @@ +CONFIG_CHARGER_QCOM_SMBB=m diff --git a/freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_IMX_REMOTEPROC b/freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_IMX_REMOTEPROC new file mode 100644 index 000000000..53983d8af --- /dev/null +++ b/freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_IMX_REMOTEPROC @@ -0,0 +1 @@ +CONFIG_IMX_REMOTEPROC=m diff --git a/freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_MFD_SPMI_PMIC b/freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_MFD_SPMI_PMIC new file mode 100644 index 000000000..6360fee39 --- /dev/null +++ b/freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_MFD_SPMI_PMIC @@ -0,0 +1 @@ +CONFIG_MFD_SPMI_PMIC=m diff --git a/freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_MMC_QCOM_DML b/freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_MMC_QCOM_DML index 059d0d4f2..48facf367 100644 --- a/freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_MMC_QCOM_DML +++ b/freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_MMC_QCOM_DML @@ -1 +1 @@ -CONFIG_MMC_QCOM_DML=m +CONFIG_MMC_QCOM_DML=y diff --git a/freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_TI_SYSCON_RESET b/freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_TI_SYSCON_RESET deleted file mode 100644 index defe64498..000000000 --- a/freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_TI_SYSCON_RESET +++ /dev/null @@ -1 +0,0 @@ -CONFIG_TI_SYSCON_RESET=m diff --git a/freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_USB_CHIPIDEA b/freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_USB_CHIPIDEA deleted file mode 100644 index 0b76e3525..000000000 --- a/freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_USB_CHIPIDEA +++ /dev/null @@ -1 +0,0 @@ -CONFIG_USB_CHIPIDEA=m diff --git a/freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_USB_CHIPIDEA_HOST b/freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_USB_CHIPIDEA_HOST deleted file mode 100644 index 1c14a4a6c..000000000 --- a/freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_USB_CHIPIDEA_HOST +++ /dev/null @@ -1 +0,0 @@ -CONFIG_USB_CHIPIDEA_HOST=y diff --git a/freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_USB_CHIPIDEA_UDC b/freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_USB_CHIPIDEA_UDC deleted file mode 100644 index 320052607..000000000 --- a/freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_USB_CHIPIDEA_UDC +++ /dev/null @@ -1 +0,0 @@ -CONFIG_USB_CHIPIDEA_UDC=y diff --git a/freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_USB_CHIPIDEA_ULPI b/freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_USB_CHIPIDEA_ULPI deleted file mode 100644 index d1a5cf9eb..000000000 --- a/freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_USB_CHIPIDEA_ULPI +++ /dev/null @@ -1 +0,0 @@ -CONFIG_USB_CHIPIDEA_ULPI=y diff --git a/freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_VIDEO_QCOM_CAMSS b/freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_VIDEO_QCOM_CAMSS new file mode 100644 index 000000000..5e2512c4c --- /dev/null +++ b/freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_VIDEO_QCOM_CAMSS @@ -0,0 +1 @@ +CONFIG_VIDEO_QCOM_CAMSS=m diff --git a/freed-ora/current/f26/baseconfig/arm/armv7/lpae/CONFIG_SND_SOC_TEGRA20_DAS b/freed-ora/current/f26/baseconfig/arm/armv7/lpae/CONFIG_SND_SOC_TEGRA20_DAS deleted file mode 100644 index 71a38a48c..000000000 --- a/freed-ora/current/f26/baseconfig/arm/armv7/lpae/CONFIG_SND_SOC_TEGRA20_DAS +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_SND_SOC_TEGRA20_DAS is not set diff --git a/freed-ora/current/f26/baseconfig/arm/armv7/lpae/CONFIG_TI_SYSCON_RESET b/freed-ora/current/f26/baseconfig/arm/armv7/lpae/CONFIG_TI_SYSCON_RESET deleted file mode 100644 index defe64498..000000000 --- a/freed-ora/current/f26/baseconfig/arm/armv7/lpae/CONFIG_TI_SYSCON_RESET +++ /dev/null @@ -1 +0,0 @@ -CONFIG_TI_SYSCON_RESET=m diff --git a/freed-ora/current/f26/baseconfig/powerpc/CONFIG_PPC_MEMTRACE b/freed-ora/current/f26/baseconfig/powerpc/CONFIG_PPC_MEMTRACE new file mode 100644 index 000000000..c783714d8 --- /dev/null +++ b/freed-ora/current/f26/baseconfig/powerpc/CONFIG_PPC_MEMTRACE @@ -0,0 +1 @@ +# CONFIG_PPC_MEMTRACE is not set diff --git a/freed-ora/current/f26/baseconfig/powerpc/CONFIG_PPC_VAS b/freed-ora/current/f26/baseconfig/powerpc/CONFIG_PPC_VAS new file mode 100644 index 000000000..ec767da00 --- /dev/null +++ b/freed-ora/current/f26/baseconfig/powerpc/CONFIG_PPC_VAS @@ -0,0 +1 @@ +CONFIG_PPC_VAS=y diff --git a/freed-ora/current/f26/baseconfig/powerpc/CONFIG_SENSORS_IBM_CFFPS b/freed-ora/current/f26/baseconfig/powerpc/CONFIG_SENSORS_IBM_CFFPS new file mode 100644 index 000000000..31f260384 --- /dev/null +++ b/freed-ora/current/f26/baseconfig/powerpc/CONFIG_SENSORS_IBM_CFFPS @@ -0,0 +1 @@ +CONFIG_SENSORS_IBM_CFFPS=m diff --git a/freed-ora/current/f26/baseconfig/powerpc/powerpc64p7/CONFIG_CPU_LITTLE_ENDIAN b/freed-ora/current/f26/baseconfig/powerpc/powerpc64p7/CONFIG_CPU_LITTLE_ENDIAN deleted file mode 100644 index 57d623ff2..000000000 --- a/freed-ora/current/f26/baseconfig/powerpc/powerpc64p7/CONFIG_CPU_LITTLE_ENDIAN +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_CPU_LITTLE_ENDIAN is not set diff --git a/freed-ora/current/f26/baseconfig/powerpc/powerpc64p7/CONFIG_GENERIC_PHY b/freed-ora/current/f26/baseconfig/powerpc/powerpc64p7/CONFIG_GENERIC_PHY deleted file mode 100644 index 40cd1a4f5..000000000 --- a/freed-ora/current/f26/baseconfig/powerpc/powerpc64p7/CONFIG_GENERIC_PHY +++ /dev/null @@ -1 +0,0 @@ -CONFIG_GENERIC_PHY=y diff --git a/freed-ora/current/f26/baseconfig/powerpc/powerpc64p7/CONFIG_I2C_MUX b/freed-ora/current/f26/baseconfig/powerpc/powerpc64p7/CONFIG_I2C_MUX deleted file mode 100644 index 6982ed98a..000000000 --- a/freed-ora/current/f26/baseconfig/powerpc/powerpc64p7/CONFIG_I2C_MUX +++ /dev/null @@ -1 +0,0 @@ -CONFIG_I2C_MUX=m diff --git a/freed-ora/current/f26/baseconfig/powerpc/powerpc64p7/CONFIG_MFD_CORE b/freed-ora/current/f26/baseconfig/powerpc/powerpc64p7/CONFIG_MFD_CORE deleted file mode 100644 index c8855e8a0..000000000 --- a/freed-ora/current/f26/baseconfig/powerpc/powerpc64p7/CONFIG_MFD_CORE +++ /dev/null @@ -1 +0,0 @@ -CONFIG_MFD_CORE=m diff --git a/freed-ora/current/f26/baseconfig/powerpc/powerpc64p7/CONFIG_POWER7_CPU b/freed-ora/current/f26/baseconfig/powerpc/powerpc64p7/CONFIG_POWER7_CPU deleted file mode 100644 index 40eb65bc2..000000000 --- a/freed-ora/current/f26/baseconfig/powerpc/powerpc64p7/CONFIG_POWER7_CPU +++ /dev/null @@ -1 +0,0 @@ -CONFIG_POWER7_CPU=y diff --git a/freed-ora/current/f26/baseconfig/powerpc/powerpc64p7/CONFIG_SERIAL_CORE b/freed-ora/current/f26/baseconfig/powerpc/powerpc64p7/CONFIG_SERIAL_CORE deleted file mode 100644 index 32ecde504..000000000 --- a/freed-ora/current/f26/baseconfig/powerpc/powerpc64p7/CONFIG_SERIAL_CORE +++ /dev/null @@ -1 +0,0 @@ -CONFIG_SERIAL_CORE=m diff --git a/freed-ora/current/f26/baseconfig/s390x/CONFIG_BLK_CPQ_CISS_DA b/freed-ora/current/f26/baseconfig/s390x/CONFIG_BLK_CPQ_CISS_DA deleted file mode 100644 index 2e6c723ac..000000000 --- a/freed-ora/current/f26/baseconfig/s390x/CONFIG_BLK_CPQ_CISS_DA +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_BLK_CPQ_CISS_DA is not set diff --git a/freed-ora/current/f26/baseconfig/s390x/CONFIG_CMA b/freed-ora/current/f26/baseconfig/s390x/CONFIG_CMA new file mode 100644 index 000000000..309c9e771 --- /dev/null +++ b/freed-ora/current/f26/baseconfig/s390x/CONFIG_CMA @@ -0,0 +1 @@ +CONFIG_CMA=y diff --git a/freed-ora/current/f26/baseconfig/s390x/CONFIG_CMA_AREAS b/freed-ora/current/f26/baseconfig/s390x/CONFIG_CMA_AREAS new file mode 100644 index 000000000..5474a48e9 --- /dev/null +++ b/freed-ora/current/f26/baseconfig/s390x/CONFIG_CMA_AREAS @@ -0,0 +1 @@ +CONFIG_CMA_AREAS=7 diff --git a/freed-ora/current/f26/baseconfig/s390x/CONFIG_CMA_DEBUG b/freed-ora/current/f26/baseconfig/s390x/CONFIG_CMA_DEBUG new file mode 100644 index 000000000..64ff80c56 --- /dev/null +++ b/freed-ora/current/f26/baseconfig/s390x/CONFIG_CMA_DEBUG @@ -0,0 +1 @@ +# CONFIG_CMA_DEBUG is not set diff --git a/freed-ora/current/f26/baseconfig/s390x/CONFIG_CMA_DEBUGFS b/freed-ora/current/f26/baseconfig/s390x/CONFIG_CMA_DEBUGFS new file mode 100644 index 000000000..fba89903a --- /dev/null +++ b/freed-ora/current/f26/baseconfig/s390x/CONFIG_CMA_DEBUGFS @@ -0,0 +1 @@ +# CONFIG_CMA_DEBUGFS is not set diff --git a/freed-ora/current/f26/baseconfig/s390x/CONFIG_I2C_PARPORT b/freed-ora/current/f26/baseconfig/s390x/CONFIG_I2C_PARPORT deleted file mode 100644 index 87b55caf2..000000000 --- a/freed-ora/current/f26/baseconfig/s390x/CONFIG_I2C_PARPORT +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_I2C_PARPORT is not set diff --git a/freed-ora/current/f26/baseconfig/s390x/CONFIG_I2C_PARPORT_LIGHT b/freed-ora/current/f26/baseconfig/s390x/CONFIG_I2C_PARPORT_LIGHT deleted file mode 100644 index e18239222..000000000 --- a/freed-ora/current/f26/baseconfig/s390x/CONFIG_I2C_PARPORT_LIGHT +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_I2C_PARPORT_LIGHT is not set diff --git a/freed-ora/current/f26/baseconfig/s390x/CONFIG_MFD_BD9571MWV b/freed-ora/current/f26/baseconfig/s390x/CONFIG_MFD_BD9571MWV new file mode 100644 index 000000000..d321ad3c6 --- /dev/null +++ b/freed-ora/current/f26/baseconfig/s390x/CONFIG_MFD_BD9571MWV @@ -0,0 +1 @@ +# CONFIG_MFD_BD9571MWV is not set diff --git a/freed-ora/current/f26/baseconfig/s390x/CONFIG_MFD_RTSX_USB b/freed-ora/current/f26/baseconfig/s390x/CONFIG_MFD_RTSX_USB new file mode 100644 index 000000000..b6efa65e7 --- /dev/null +++ b/freed-ora/current/f26/baseconfig/s390x/CONFIG_MFD_RTSX_USB @@ -0,0 +1 @@ +# CONFIG_MFD_RTSX_USB is not set diff --git a/freed-ora/current/f26/baseconfig/s390x/CONFIG_MFD_TPS68470 b/freed-ora/current/f26/baseconfig/s390x/CONFIG_MFD_TPS68470 new file mode 100644 index 000000000..e82f415aa --- /dev/null +++ b/freed-ora/current/f26/baseconfig/s390x/CONFIG_MFD_TPS68470 @@ -0,0 +1 @@ +# CONFIG_MFD_TPS68470 is not set diff --git a/freed-ora/current/f26/baseconfig/s390x/CONFIG_MFD_VIPERBOARD b/freed-ora/current/f26/baseconfig/s390x/CONFIG_MFD_VIPERBOARD new file mode 100644 index 000000000..1d4d00579 --- /dev/null +++ b/freed-ora/current/f26/baseconfig/s390x/CONFIG_MFD_VIPERBOARD @@ -0,0 +1 @@ +# CONFIG_MFD_VIPERBOARD is not set diff --git a/freed-ora/current/f26/baseconfig/s390x/CONFIG_PARPORT b/freed-ora/current/f26/baseconfig/s390x/CONFIG_PARPORT deleted file mode 100644 index 9dd8f33af..000000000 --- a/freed-ora/current/f26/baseconfig/s390x/CONFIG_PARPORT +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_PARPORT is not set diff --git a/freed-ora/current/f26/baseconfig/s390x/CONFIG_VMCP_CMA_SIZE b/freed-ora/current/f26/baseconfig/s390x/CONFIG_VMCP_CMA_SIZE new file mode 100644 index 000000000..aee0667ac --- /dev/null +++ b/freed-ora/current/f26/baseconfig/s390x/CONFIG_VMCP_CMA_SIZE @@ -0,0 +1 @@ +CONFIG_VMCP_CMA_SIZE=4 diff --git a/freed-ora/current/f26/baseconfig/x86/CONFIG_CONFIG_PINCTRL_LEWISBURG b/freed-ora/current/f26/baseconfig/x86/CONFIG_CONFIG_PINCTRL_LEWISBURG new file mode 100644 index 000000000..c2c51192e --- /dev/null +++ b/freed-ora/current/f26/baseconfig/x86/CONFIG_CONFIG_PINCTRL_LEWISBURG @@ -0,0 +1 @@ +CONFIG_PINCTRL_LEWISBURG=m diff --git a/freed-ora/current/f26/baseconfig/x86/CONFIG_HYPERV_VSOCKETS b/freed-ora/current/f26/baseconfig/x86/CONFIG_HYPERV_VSOCKETS new file mode 100644 index 000000000..bd21cd675 --- /dev/null +++ b/freed-ora/current/f26/baseconfig/x86/CONFIG_HYPERV_VSOCKETS @@ -0,0 +1 @@ +CONFIG_HYPERV_VSOCKETS=m diff --git a/freed-ora/current/f26/baseconfig/CONFIG_I2C_PARPORT b/freed-ora/current/f26/baseconfig/x86/CONFIG_I2C_PARPORT index 58827a258..58827a258 100644 --- a/freed-ora/current/f26/baseconfig/CONFIG_I2C_PARPORT +++ b/freed-ora/current/f26/baseconfig/x86/CONFIG_I2C_PARPORT diff --git a/freed-ora/current/f26/baseconfig/x86/CONFIG_I2C_PARPORT_LIGHT b/freed-ora/current/f26/baseconfig/x86/CONFIG_I2C_PARPORT_LIGHT new file mode 100644 index 000000000..1dbc68883 --- /dev/null +++ b/freed-ora/current/f26/baseconfig/x86/CONFIG_I2C_PARPORT_LIGHT @@ -0,0 +1 @@ +CONFIG_I2C_PARPORT_LIGHT=m diff --git a/freed-ora/current/f26/baseconfig/x86/CONFIG_INTEL_RDT b/freed-ora/current/f26/baseconfig/x86/CONFIG_INTEL_RDT new file mode 100644 index 000000000..0dcef9a32 --- /dev/null +++ b/freed-ora/current/f26/baseconfig/x86/CONFIG_INTEL_RDT @@ -0,0 +1 @@ +CONFIG_INTEL_RDT=y diff --git a/freed-ora/current/f26/baseconfig/x86/CONFIG_MAXSMP b/freed-ora/current/f26/baseconfig/x86/CONFIG_MAXSMP index 8d0fa581d..d0d71de53 100644 --- a/freed-ora/current/f26/baseconfig/x86/CONFIG_MAXSMP +++ b/freed-ora/current/f26/baseconfig/x86/CONFIG_MAXSMP @@ -1 +1 @@ -CONFIG_MAXSMP=y +# CONFIG_MAXSMP is not set diff --git a/freed-ora/current/f26/baseconfig/x86/CONFIG_PARPORT b/freed-ora/current/f26/baseconfig/x86/CONFIG_PARPORT new file mode 100644 index 000000000..589156958 --- /dev/null +++ b/freed-ora/current/f26/baseconfig/x86/CONFIG_PARPORT @@ -0,0 +1 @@ +CONFIG_PARPORT=m diff --git a/freed-ora/current/f26/baseconfig/CONFIG_PARPORT_1284 b/freed-ora/current/f26/baseconfig/x86/CONFIG_PARPORT_1284 index 585684fb0..585684fb0 100644 --- a/freed-ora/current/f26/baseconfig/CONFIG_PARPORT_1284 +++ b/freed-ora/current/f26/baseconfig/x86/CONFIG_PARPORT_1284 diff --git a/freed-ora/current/f26/baseconfig/CONFIG_PARPORT_AX88796 b/freed-ora/current/f26/baseconfig/x86/CONFIG_PARPORT_AX88796 index 6214b2b8c..6214b2b8c 100644 --- a/freed-ora/current/f26/baseconfig/CONFIG_PARPORT_AX88796 +++ b/freed-ora/current/f26/baseconfig/x86/CONFIG_PARPORT_AX88796 diff --git a/freed-ora/current/f26/baseconfig/x86/CONFIG_PARPORT_PC b/freed-ora/current/f26/baseconfig/x86/CONFIG_PARPORT_PC new file mode 100644 index 000000000..b9aa6e8ca --- /dev/null +++ b/freed-ora/current/f26/baseconfig/x86/CONFIG_PARPORT_PC @@ -0,0 +1 @@ +CONFIG_PARPORT_PC=m diff --git a/freed-ora/current/f26/baseconfig/CONFIG_PARPORT_PC_FIFO b/freed-ora/current/f26/baseconfig/x86/CONFIG_PARPORT_PC_FIFO index 62562af4c..62562af4c 100644 --- a/freed-ora/current/f26/baseconfig/CONFIG_PARPORT_PC_FIFO +++ b/freed-ora/current/f26/baseconfig/x86/CONFIG_PARPORT_PC_FIFO diff --git a/freed-ora/current/f26/baseconfig/CONFIG_PARPORT_PC_PCMCIA b/freed-ora/current/f26/baseconfig/x86/CONFIG_PARPORT_PC_PCMCIA index cae4b9a2a..cae4b9a2a 100644 --- a/freed-ora/current/f26/baseconfig/CONFIG_PARPORT_PC_PCMCIA +++ b/freed-ora/current/f26/baseconfig/x86/CONFIG_PARPORT_PC_PCMCIA diff --git a/freed-ora/current/f26/baseconfig/CONFIG_PARPORT_PC_SUPERIO b/freed-ora/current/f26/baseconfig/x86/CONFIG_PARPORT_PC_SUPERIO index b6858ce79..b6858ce79 100644 --- a/freed-ora/current/f26/baseconfig/CONFIG_PARPORT_PC_SUPERIO +++ b/freed-ora/current/f26/baseconfig/x86/CONFIG_PARPORT_PC_SUPERIO diff --git a/freed-ora/current/f26/baseconfig/CONFIG_PARPORT_SERIAL b/freed-ora/current/f26/baseconfig/x86/CONFIG_PARPORT_SERIAL index 8e9020190..8e9020190 100644 --- a/freed-ora/current/f26/baseconfig/CONFIG_PARPORT_SERIAL +++ b/freed-ora/current/f26/baseconfig/x86/CONFIG_PARPORT_SERIAL diff --git a/freed-ora/current/f26/baseconfig/x86/CONFIG_PINCTRL_DENVERTON b/freed-ora/current/f26/baseconfig/x86/CONFIG_PINCTRL_DENVERTON new file mode 100644 index 000000000..ec6b4e8e1 --- /dev/null +++ b/freed-ora/current/f26/baseconfig/x86/CONFIG_PINCTRL_DENVERTON @@ -0,0 +1 @@ +CONFIG_PINCTRL_DENVERTON=m diff --git a/freed-ora/current/f26/baseconfig/CONFIG_PPS_CLIENT_PARPORT b/freed-ora/current/f26/baseconfig/x86/CONFIG_PPS_CLIENT_PARPORT index d11894def..d11894def 100644 --- a/freed-ora/current/f26/baseconfig/CONFIG_PPS_CLIENT_PARPORT +++ b/freed-ora/current/f26/baseconfig/x86/CONFIG_PPS_CLIENT_PARPORT diff --git a/freed-ora/current/f26/baseconfig/CONFIG_USB_SERIAL_MOS7715_PARPORT b/freed-ora/current/f26/baseconfig/x86/CONFIG_USB_SERIAL_MOS7715_PARPORT index 87be7826c..87be7826c 100644 --- a/freed-ora/current/f26/baseconfig/CONFIG_USB_SERIAL_MOS7715_PARPORT +++ b/freed-ora/current/f26/baseconfig/x86/CONFIG_USB_SERIAL_MOS7715_PARPORT diff --git a/freed-ora/current/f26/baseconfig/x86/CONFIG_XEN_PVCALLS_BACKEND b/freed-ora/current/f26/baseconfig/x86/CONFIG_XEN_PVCALLS_BACKEND new file mode 100644 index 000000000..3a5b2c46d --- /dev/null +++ b/freed-ora/current/f26/baseconfig/x86/CONFIG_XEN_PVCALLS_BACKEND @@ -0,0 +1 @@ +# CONFIG_XEN_PVCALLS_BACKEND is not set diff --git a/freed-ora/current/f26/baseconfig/x86/i686/CONFIG_PINCTRL_BCM281XX b/freed-ora/current/f26/baseconfig/x86/i686/CONFIG_PINCTRL_BCM281XX deleted file mode 100644 index 9963aedf7..000000000 --- a/freed-ora/current/f26/baseconfig/x86/i686/CONFIG_PINCTRL_BCM281XX +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_PINCTRL_BCM281XX is not set diff --git a/freed-ora/current/f26/baseconfig/x86/i686PAE/CONFIG_PINCTRL_BCM281XX b/freed-ora/current/f26/baseconfig/x86/i686PAE/CONFIG_PINCTRL_BCM281XX deleted file mode 100644 index 9963aedf7..000000000 --- a/freed-ora/current/f26/baseconfig/x86/i686PAE/CONFIG_PINCTRL_BCM281XX +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_PINCTRL_BCM281XX is not set diff --git a/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_AMD_MEM_ENCRYPT b/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_AMD_MEM_ENCRYPT new file mode 100644 index 000000000..f9eacfabc --- /dev/null +++ b/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_AMD_MEM_ENCRYPT @@ -0,0 +1 @@ +CONFIG_AMD_MEM_ENCRYPT=y diff --git a/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_AMD_MEM_ENCRYPT_ACTIVE_BY_DEFAULT b/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_AMD_MEM_ENCRYPT_ACTIVE_BY_DEFAULT new file mode 100644 index 000000000..e41f0cf8f --- /dev/null +++ b/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_AMD_MEM_ENCRYPT_ACTIVE_BY_DEFAULT @@ -0,0 +1 @@ +# CONFIG_AMD_MEM_ENCRYPT_ACTIVE_BY_DEFAULT is not set diff --git a/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_DEVICE_PRIVATE b/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_DEVICE_PRIVATE new file mode 100644 index 000000000..ef0a4ad5b --- /dev/null +++ b/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_DEVICE_PRIVATE @@ -0,0 +1 @@ +CONFIG_DEVICE_PRIVATE=y diff --git a/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_DEVICE_PUBLIC b/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_DEVICE_PUBLIC new file mode 100644 index 000000000..c790e941b --- /dev/null +++ b/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_DEVICE_PUBLIC @@ -0,0 +1 @@ +CONFIG_DEVICE_PUBLIC=y diff --git a/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_EXTCON_GPIO b/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_EXTCON_GPIO deleted file mode 100644 index 87ca2bd05..000000000 --- a/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_EXTCON_GPIO +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_EXTCON_GPIO is not set diff --git a/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_EXTCON_MAX3355 b/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_EXTCON_MAX3355 deleted file mode 100644 index 680b5a774..000000000 --- a/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_EXTCON_MAX3355 +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_EXTCON_MAX3355 is not set diff --git a/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_EXTCON_RT8973A b/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_EXTCON_RT8973A deleted file mode 100644 index e5f7236c9..000000000 --- a/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_EXTCON_RT8973A +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_EXTCON_RT8973A is not set diff --git a/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_EXTCON_SM5502 b/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_EXTCON_SM5502 deleted file mode 100644 index 916994aa9..000000000 --- a/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_EXTCON_SM5502 +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_EXTCON_SM5502 is not set diff --git a/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_EXTCON_USB_GPIO b/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_EXTCON_USB_GPIO deleted file mode 100644 index 7a0c9af30..000000000 --- a/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_EXTCON_USB_GPIO +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_EXTCON_USB_GPIO is not set diff --git a/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_HMM_MIRROR b/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_HMM_MIRROR new file mode 100644 index 000000000..11dfee6c1 --- /dev/null +++ b/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_HMM_MIRROR @@ -0,0 +1 @@ +CONFIG_HMM_MIRROR=y diff --git a/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_I2C_DESIGNWARE_CORE b/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_I2C_DESIGNWARE_CORE deleted file mode 100644 index f9cdc633b..000000000 --- a/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_I2C_DESIGNWARE_CORE +++ /dev/null @@ -1 +0,0 @@ -CONFIG_I2C_DESIGNWARE_CORE=y diff --git a/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_I2C_DESIGNWARE_PLATFORM b/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_I2C_DESIGNWARE_PLATFORM deleted file mode 100644 index 3d50a3e8a..000000000 --- a/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_I2C_DESIGNWARE_PLATFORM +++ /dev/null @@ -1 +0,0 @@ -CONFIG_I2C_DESIGNWARE_PLATFORM=y diff --git a/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT b/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT new file mode 100644 index 000000000..4a06cfcc2 --- /dev/null +++ b/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT @@ -0,0 +1 @@ +CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT=y diff --git a/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_NR_CPUS b/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_NR_CPUS index 441191641..27d187f4d 100644 --- a/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_NR_CPUS +++ b/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_NR_CPUS @@ -1 +1 @@ -CONFIG_NR_CPUS=8192 +CONFIG_NR_CPUS=1024 diff --git a/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_X86_5LEVEL b/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_X86_5LEVEL new file mode 100644 index 000000000..db301f396 --- /dev/null +++ b/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_X86_5LEVEL @@ -0,0 +1 @@ +# CONFIG_X86_5LEVEL is not set diff --git a/freed-ora/current/f26/bcm2835-clk-audio-jitter-issues.patch b/freed-ora/current/f26/bcm2835-clk-audio-jitter-issues.patch deleted file mode 100644 index 91304d64b..000000000 --- a/freed-ora/current/f26/bcm2835-clk-audio-jitter-issues.patch +++ /dev/null @@ -1,206 +0,0 @@ -From patchwork Thu Jun 1 14:14:16 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [v4,1/2] clk: bcm2835: Limit PCM clock to OSC and PLLD_PER -From: Phil Elwell <phil@raspberrypi.org> -X-Patchwork-Id: 9759641 -Message-Id: <8cc0ba82-d33e-127b-7b86-ac595ef416d1@raspberrypi.org> -To: Michael Turquette <mturquette@baylibre.com>, - Stephen Boyd <sboyd@codeaurora.org>, Eric Anholt <eric@anholt.net>, - Stefan Wahren <stefan.wahren@i2se.com>, - Florian Fainelli <f.fainelli@gmail.com>, - linux-clk@vger.kernel.org, linux-rpi-kernel@lists.infradead.org, - linux-kernel@vger.kernel.org -Date: Thu, 1 Jun 2017 15:14:16 +0100 - -Restrict clock sources for the PCM peripheral to the oscillator and -PLLD_PER because other source may have varying rates or be switched off. -Prevent other sources from being selected by replacing their names in -the list of potential parents with dummy entries (entry index is -significant). - -Signed-off-by: Phil Elwell <phil@raspberrypi.org> -Reviewed-by: Eric Anholt <eric@anholt.net> -Acked-by: Stefan Wahren <stefan.wahren@i2se.com> ---- - drivers/clk/bcm/clk-bcm2835.c | 27 ++++++++++++++++++++++++++- - 1 file changed, 26 insertions(+), 1 deletion(-) - -diff --git a/drivers/clk/bcm/clk-bcm2835.c b/drivers/clk/bcm/clk-bcm2835.c -index 0258538..49867d2 100644 ---- a/drivers/clk/bcm/clk-bcm2835.c -+++ b/drivers/clk/bcm/clk-bcm2835.c -@@ -1516,6 +1516,31 @@ struct bcm2835_clk_desc { - .parents = bcm2835_clock_per_parents, \ - __VA_ARGS__) - -+/* -+ * Restrict clock sources for the PCM peripheral to the oscillator and -+ * PLLD_PER because other source may have varying rates or be switched -+ * off. -+ * -+ * Prevent other sources from being selected by replacing their names in -+ * the list of potential parents with dummy entries (entry index is -+ * significant). -+ */ -+static const char *const bcm2835_pcm_per_parents[] = { -+ "-", -+ "xosc", -+ "-", -+ "-", -+ "-", -+ "-", -+ "plld_per", -+ "-", -+}; -+ -+#define REGISTER_PCM_CLK(...) REGISTER_CLK( \ -+ .num_mux_parents = ARRAY_SIZE(bcm2835_pcm_per_parents), \ -+ .parents = bcm2835_pcm_per_parents, \ -+ __VA_ARGS__) -+ - /* main vpu parent mux */ - static const char *const bcm2835_clock_vpu_parents[] = { - "gnd", -@@ -1993,7 +2018,7 @@ struct bcm2835_clk_desc { - .int_bits = 4, - .frac_bits = 8, - .tcnt_mux = 22), -- [BCM2835_CLOCK_PCM] = REGISTER_PER_CLK( -+ [BCM2835_CLOCK_PCM] = REGISTER_PCM_CLK( - .name = "pcm", - .ctl_reg = CM_PCMCTL, - .div_reg = CM_PCMDIV, -From patchwork Thu Jun 1 14:14:22 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [v4,2/2] clk: bcm2835: Minimise clock jitter for PCM clock -From: Phil Elwell <phil@raspberrypi.org> -X-Patchwork-Id: 9759643 -Message-Id: <9989244b-ca4d-9081-95d9-b24f51099222@raspberrypi.org> -To: Michael Turquette <mturquette@baylibre.com>, - Stephen Boyd <sboyd@codeaurora.org>, Eric Anholt <eric@anholt.net>, - Stefan Wahren <stefan.wahren@i2se.com>, - Florian Fainelli <f.fainelli@gmail.com>, - linux-clk@vger.kernel.org, linux-rpi-kernel@lists.infradead.org, - linux-kernel@vger.kernel.org -Date: Thu, 1 Jun 2017 15:14:22 +0100 - -Fractional clock dividers generate accurate average frequencies but -with jitter, particularly when the integer divisor is small. - -Introduce a new metric of clock accuracy to penalise clocks with a good -average but worse jitter compared to clocks with an average which is no -better but with lower jitter. The metric is the ideal rate minus the -worse deviation from that ideal using the nearest integer divisors. - -Use this metric for parent selection for clocks requiring low jitter -(currently just PCM). - -Signed-off-by: Phil Elwell <phil@raspberrypi.org> -Reviewed-by: Eric Anholt <eric@anholt.net> -Acked-by: Stefan Wahren <stefan.wahren@i2se.com> ---- - drivers/clk/bcm/clk-bcm2835.c | 34 +++++++++++++++++++++++++++++----- - 1 file changed, 29 insertions(+), 5 deletions(-) - -diff --git a/drivers/clk/bcm/clk-bcm2835.c b/drivers/clk/bcm/clk-bcm2835.c -index 49867d2..0bc56a0 100644 ---- a/drivers/clk/bcm/clk-bcm2835.c -+++ b/drivers/clk/bcm/clk-bcm2835.c -@@ -530,6 +530,7 @@ struct bcm2835_clock_data { - - bool is_vpu_clock; - bool is_mash_clock; -+ bool low_jitter; - - u32 tcnt_mux; - }; -@@ -1124,7 +1125,8 @@ static unsigned long bcm2835_clock_choose_div_and_prate(struct clk_hw *hw, - int parent_idx, - unsigned long rate, - u32 *div, -- unsigned long *prate) -+ unsigned long *prate, -+ unsigned long *avgrate) - { - struct bcm2835_clock *clock = bcm2835_clock_from_hw(hw); - struct bcm2835_cprman *cprman = clock->cprman; -@@ -1139,8 +1141,25 @@ static unsigned long bcm2835_clock_choose_div_and_prate(struct clk_hw *hw, - *prate = clk_hw_get_rate(parent); - *div = bcm2835_clock_choose_div(hw, rate, *prate, true); - -- return bcm2835_clock_rate_from_divisor(clock, *prate, -- *div); -+ *avgrate = bcm2835_clock_rate_from_divisor(clock, *prate, *div); -+ -+ if (data->low_jitter && (*div & CM_DIV_FRAC_MASK)) { -+ unsigned long high, low; -+ u32 int_div = *div & ~CM_DIV_FRAC_MASK; -+ -+ high = bcm2835_clock_rate_from_divisor(clock, *prate, -+ int_div); -+ int_div += CM_DIV_FRAC_MASK + 1; -+ low = bcm2835_clock_rate_from_divisor(clock, *prate, -+ int_div); -+ -+ /* -+ * Return a value which is the maximum deviation -+ * below the ideal rate, for use as a metric. -+ */ -+ return *avgrate - max(*avgrate - low, high - *avgrate); -+ } -+ return *avgrate; - } - - if (data->frac_bits) -@@ -1167,6 +1186,7 @@ static unsigned long bcm2835_clock_choose_div_and_prate(struct clk_hw *hw, - - *div = curdiv << CM_DIV_FRAC_BITS; - *prate = curdiv * best_rate; -+ *avgrate = best_rate; - - return best_rate; - } -@@ -1178,6 +1198,7 @@ static int bcm2835_clock_determine_rate(struct clk_hw *hw, - bool current_parent_is_pllc; - unsigned long rate, best_rate = 0; - unsigned long prate, best_prate = 0; -+ unsigned long avgrate, best_avgrate = 0; - size_t i; - u32 div; - -@@ -1202,11 +1223,13 @@ static int bcm2835_clock_determine_rate(struct clk_hw *hw, - continue; - - rate = bcm2835_clock_choose_div_and_prate(hw, i, req->rate, -- &div, &prate); -+ &div, &prate, -+ &avgrate); - if (rate > best_rate && rate <= req->rate) { - best_parent = parent; - best_prate = prate; - best_rate = rate; -+ best_avgrate = avgrate; - } - } - -@@ -1216,7 +1239,7 @@ static int bcm2835_clock_determine_rate(struct clk_hw *hw, - req->best_parent_hw = best_parent; - req->best_parent_rate = best_prate; - -- req->rate = best_rate; -+ req->rate = best_avgrate; - - return 0; - } -@@ -2025,6 +2048,7 @@ struct bcm2835_clk_desc { - .int_bits = 12, - .frac_bits = 12, - .is_mash_clock = true, -+ .low_jitter = true, - .tcnt_mux = 23), - [BCM2835_CLOCK_PWM] = REGISTER_PER_CLK( - .name = "pwm", diff --git a/freed-ora/current/f26/bcm2835-fix-potential-null-pointer-dereferences.patch b/freed-ora/current/f26/bcm2835-fix-potential-null-pointer-dereferences.patch deleted file mode 100644 index 862e77fe8..000000000 --- a/freed-ora/current/f26/bcm2835-fix-potential-null-pointer-dereferences.patch +++ /dev/null @@ -1,70 +0,0 @@ -From patchwork Thu May 25 17:04:55 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [v2] mmc: bcm2835: fix potential null pointer dereferences -From: "Gustavo A. R. Silva" <garsilva@embeddedor.com> -X-Patchwork-Id: 9748761 -Message-Id: <20170525170455.GA6904@embeddedgus> -To: Stefan Wahren <stefan.wahren@i2se.com>, - Ulf Hansson <ulf.hansson@linaro.org>, - Florian Fainelli <f.fainelli@gmail.com>, - Ray Jui <rjui@broadcom.com>, Scott Branden <sbranden@broadcom.com>, - bcm-kernel-feedback-list@broadcom.com, Eric Anholt <eric@anholt.net> -Cc: "Gustavo A. R. Silva" <garsilva@embeddedor.com>, - linux-mmc@vger.kernel.org, linux-rpi-kernel@lists.infradead.org, - linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org -Date: Thu, 25 May 2017 12:04:55 -0500 - -Null check at line 1165: if (mrq->cmd), implies that mrq->cmd might -be NULL. -Add null checks before dereferencing pointer mrq->cmd in order to avoid -any potential NULL pointer dereference. - -Addresses-Coverity-ID: 1408740 -Tested-by: Stefan Wahren <stefan.wahren@i2se.com> -Signed-off-by: Gustavo A. R. Silva <garsilva@embeddedor.com> ---- -Changes in v2: - Change subject to make it clear the patch is bcm2835 related. - - drivers/mmc/host/bcm2835.c | 12 +++++++++--- - 1 file changed, 9 insertions(+), 3 deletions(-) - -diff --git a/drivers/mmc/host/bcm2835.c b/drivers/mmc/host/bcm2835.c -index 1f343a4..abba9a2 100644 ---- a/drivers/mmc/host/bcm2835.c -+++ b/drivers/mmc/host/bcm2835.c -@@ -1172,7 +1172,10 @@ static void bcm2835_request(struct mmc_host *mmc, struct mmc_request *mrq) - if (mrq->data && !is_power_of_2(mrq->data->blksz)) { - dev_err(dev, "unsupported block size (%d bytes)\n", - mrq->data->blksz); -- mrq->cmd->error = -EINVAL; -+ -+ if (mrq->cmd) -+ mrq->cmd->error = -EINVAL; -+ - mmc_request_done(mmc, mrq); - return; - } -@@ -1194,7 +1197,10 @@ static void bcm2835_request(struct mmc_host *mmc, struct mmc_request *mrq) - readl(host->ioaddr + SDCMD) & SDCMD_CMD_MASK, - edm); - bcm2835_dumpregs(host); -- mrq->cmd->error = -EILSEQ; -+ -+ if (mrq->cmd) -+ mrq->cmd->error = -EILSEQ; -+ - bcm2835_finish_request(host); - mutex_unlock(&host->mutex); - return; -@@ -1207,7 +1213,7 @@ static void bcm2835_request(struct mmc_host *mmc, struct mmc_request *mrq) - if (!host->use_busy) - bcm2835_finish_command(host); - } -- } else if (bcm2835_send_command(host, mrq->cmd)) { -+ } else if (mrq->cmd && bcm2835_send_command(host, mrq->cmd)) { - if (host->data && host->dma_desc) { - /* DMA transfer starts now, PIO starts after irq */ - bcm2835_start_dma(host); diff --git a/freed-ora/current/f26/bcm2835-pinctrl-Avoid-warning-from-__irq_do_set_handler.patch b/freed-ora/current/f26/bcm2835-pinctrl-Avoid-warning-from-__irq_do_set_handler.patch deleted file mode 100644 index 258d3b210..000000000 --- a/freed-ora/current/f26/bcm2835-pinctrl-Avoid-warning-from-__irq_do_set_handler.patch +++ /dev/null @@ -1,70 +0,0 @@ -From patchwork Wed Jun 21 18:20:04 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: pinctrl: bcm2835: Avoid warning from __irq_do_set_handler -From: Stefan Wahren <stefan.wahren@i2se.com> -X-Patchwork-Id: 9802555 -Message-Id: <1498069204-28154-1-git-send-email-stefan.wahren@i2se.com> -To: Linus Walleij <linus.walleij@linaro.org>, Eric Anholt <eric@anholt.net> -Cc: Stefan Wahren <stefan.wahren@i2se.com>, linux-gpio@vger.kernel.org, - Phil Elwell <phil@raspberrypi.org>, linux-rpi-kernel@lists.infradead.org, - linux-arm-kernel@lists.infradead.org -Date: Wed, 21 Jun 2017 20:20:04 +0200 - -We get a warning during boot with enabled EARLY_PRINTK that -we try to set a irq_chip without data. This is caused by ignoring -the return value of irq_of_parse_and_map(). So avoid calling -gpiochip_set_chained_irqchip() in error case. - -Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com> -Fixes: 85ae9e512f43 ("pinctrl: bcm2835: switch to GPIOLIB_IRQCHIP") ---- - drivers/pinctrl/bcm/pinctrl-bcm2835.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/drivers/pinctrl/bcm/pinctrl-bcm2835.c b/drivers/pinctrl/bcm/pinctrl-bcm2835.c -index 1eb7a1a..2308831 100644 ---- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c -+++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c -@@ -1048,6 +1048,10 @@ static int bcm2835_pinctrl_probe(struct platform_device *pdev) - for (i = 0; i < BCM2835_NUM_IRQS; i++) { - pc->irq[i] = irq_of_parse_and_map(np, i); - pc->irq_group[i] = i; -+ -+ if (pc->irq[i] == 0) -+ continue; -+ - /* - * Use the same handler for all groups: this is necessary - * since we use one gpiochip to cover all lines - the -From 8aa99fe688734f249b07314cdd7c5e25651c9c6d Mon Sep 17 00:00:00 2001 -From: Phil Elwell <phil@raspberrypi.org> -Date: Thu, 27 Oct 2016 16:21:19 +0100 -Subject: irq-bcm2836: Prevent spurious interrupts, and trap them early - -The old arch-specific IRQ macros included a dsb to ensure the -write to clear the mailbox interrupt completed before returning -from the interrupt. The BCM2836 irqchip driver needs the same -precaution to avoid spurious interrupts. - -Signed-off-by: Phil Elwell <phil@raspberrypi.org> ---- - drivers/irqchip/irq-bcm2836.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/drivers/irqchip/irq-bcm2836.c b/drivers/irqchip/irq-bcm2836.c -index e7463e3..a8db33b 100644 ---- a/drivers/irqchip/irq-bcm2836.c -+++ b/drivers/irqchip/irq-bcm2836.c -@@ -175,6 +175,7 @@ __exception_irq_entry bcm2836_arm_irqchip_handle_irq(struct pt_regs *regs) - u32 ipi = ffs(mbox_val) - 1; - - writel(1 << ipi, mailbox0); -+ dsb(sy); - handle_IPI(ipi, regs); - #endif - } else if (stat) { --- -cgit v0.12 - diff --git a/freed-ora/current/f26/bcm2837-arm32-support.patch b/freed-ora/current/f26/bcm2837-arm32-support.patch deleted file mode 100644 index 021ae1069..000000000 --- a/freed-ora/current/f26/bcm2837-arm32-support.patch +++ /dev/null @@ -1,48 +0,0 @@ -From patchwork Tue Apr 25 16:45:08 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: ARM: dts: Add devicetree for the Raspberry Pi 3, for arm32 (v6) -From: Eric Anholt <eric@anholt.net> -X-Patchwork-Id: 9698781 -Message-Id: <20170425164508.32242-1-eric@anholt.net> -To: Lee Jones <lee@kernel.org>, Florian Fainelli <f.fainelli@gmail.com>, - Olof Johansson <olof@lixom.net>, Rob Herring <robh+dt@kernel.org>, - Mark Rutland <mark.rutland@arm.com>, devicetree@vger.kernel.org -Cc: Stefan Wahren <stefan.wahren@i2se.com>, linux-kernel@vger.kernel.org, - Eric Anholt <eric@anholt.net>, bcm-kernel-feedback-list@broadcom.com, - Gerd Hoffmann <kraxel@redhat.com>, linux-arm-kernel@lists.infradead.org, - linux-rpi-kernel@lists.infradead.org -Date: Tue, 25 Apr 2017 09:45:08 -0700 - -Raspbian and Fedora have decided to support the Pi3 in 32-bit mode for -now, so it's useful to be able to test that mode on an upstream -kernel. It's also been useful for me to use the same board for 32-bit -and 64-bit development. - -Signed-off-by: Eric Anholt <eric@anholt.net> ---- - arch/arm/boot/dts/Makefile | 1 + - arch/arm/boot/dts/bcm2837-rpi-3-b.dts | 1 + - 2 files changed, 2 insertions(+) - create mode 100644 arch/arm/boot/dts/bcm2837-rpi-3-b.dts - -diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile -index 011808490fed..eded842d9978 100644 ---- a/arch/arm/boot/dts/Makefile -+++ b/arch/arm/boot/dts/Makefile -@@ -72,6 +72,7 @@ dtb-$(CONFIG_ARCH_BCM2835) += \ - bcm2835-rpi-b-plus.dtb \ - bcm2835-rpi-a-plus.dtb \ - bcm2836-rpi-2-b.dtb \ -+ bcm2837-rpi-3-b.dtb \ - bcm2835-rpi-zero.dtb - dtb-$(CONFIG_ARCH_BCM_5301X) += \ - bcm4708-asus-rt-ac56u.dtb \ -diff --git a/arch/arm/boot/dts/bcm2837-rpi-3-b.dts b/arch/arm/boot/dts/bcm2837-rpi-3-b.dts -new file mode 100644 -index 000000000000..c72a27d908b6 ---- /dev/null -+++ b/arch/arm/boot/dts/bcm2837-rpi-3-b.dts -@@ -0,0 +1 @@ -+#include "../../../arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts" diff --git a/freed-ora/current/f26/bcm2837-bluetooth-support.patch b/freed-ora/current/f26/bcm2837-bluetooth-support.patch new file mode 100644 index 000000000..c272c1efe --- /dev/null +++ b/freed-ora/current/f26/bcm2837-bluetooth-support.patch @@ -0,0 +1,36 @@ +From 50252c318fe2fcfcbd0832fa835e7fd1fafd7d2d Mon Sep 17 00:00:00 2001 +From: Peter Robinson <pbrobinson@gmail.com> +Date: Sun, 10 Sep 2017 19:30:02 +0100 +Subject: [PATCH 2/2] ARM: dts: bcm2837-rpi-3-b: Add bcm43438 serial slave + +Add BCM43438 (bluetooth) as a slave device of uart0 (pl011/ttyAMA0). +This allows to automatically insert the bcm43438 to the bluetooth +subsystem instead of relying on userspace helpers (hciattach). + +Overwrite chosen/stdout-path to use 8250 aux uart as console. + +Signed-off-by: Loic Poulain <loic.poulain@xxxxxxxxx> +Signed-off-by: Peter Robinson <pbrobinson@gmail.com> +--- + arch/arm/boot/dts/bcm2837-rpi-3-b.dts | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +diff --git a/arch/arm/boot/dts/bcm2837-rpi-3-b.dts b/arch/arm/boot/dts/bcm2837-rpi-3-b.dts +index 20725ca487f3..e4488cb3067e 100644 +--- a/arch/arm/boot/dts/bcm2837-rpi-3-b.dts ++++ b/arch/arm/boot/dts/bcm2837-rpi-3-b.dts +@@ -24,6 +29,11 @@ + pinctrl-names = "default"; + pinctrl-0 = <&uart0_gpio32 &gpclk2_gpio43>; + status = "okay"; ++ ++ bluetooth { ++ compatible = "brcm,bcm43438-bt"; ++ max-speed = <2000000>; ++ }; + }; + + /* uart1 is mapped to the pin header */ +-- +2.13.5 + diff --git a/freed-ora/current/f26/bcm2837-initial-support.patch b/freed-ora/current/f26/bcm2837-initial-support.patch deleted file mode 100644 index 021ae1069..000000000 --- a/freed-ora/current/f26/bcm2837-initial-support.patch +++ /dev/null @@ -1,48 +0,0 @@ -From patchwork Tue Apr 25 16:45:08 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: ARM: dts: Add devicetree for the Raspberry Pi 3, for arm32 (v6) -From: Eric Anholt <eric@anholt.net> -X-Patchwork-Id: 9698781 -Message-Id: <20170425164508.32242-1-eric@anholt.net> -To: Lee Jones <lee@kernel.org>, Florian Fainelli <f.fainelli@gmail.com>, - Olof Johansson <olof@lixom.net>, Rob Herring <robh+dt@kernel.org>, - Mark Rutland <mark.rutland@arm.com>, devicetree@vger.kernel.org -Cc: Stefan Wahren <stefan.wahren@i2se.com>, linux-kernel@vger.kernel.org, - Eric Anholt <eric@anholt.net>, bcm-kernel-feedback-list@broadcom.com, - Gerd Hoffmann <kraxel@redhat.com>, linux-arm-kernel@lists.infradead.org, - linux-rpi-kernel@lists.infradead.org -Date: Tue, 25 Apr 2017 09:45:08 -0700 - -Raspbian and Fedora have decided to support the Pi3 in 32-bit mode for -now, so it's useful to be able to test that mode on an upstream -kernel. It's also been useful for me to use the same board for 32-bit -and 64-bit development. - -Signed-off-by: Eric Anholt <eric@anholt.net> ---- - arch/arm/boot/dts/Makefile | 1 + - arch/arm/boot/dts/bcm2837-rpi-3-b.dts | 1 + - 2 files changed, 2 insertions(+) - create mode 100644 arch/arm/boot/dts/bcm2837-rpi-3-b.dts - -diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile -index 011808490fed..eded842d9978 100644 ---- a/arch/arm/boot/dts/Makefile -+++ b/arch/arm/boot/dts/Makefile -@@ -72,6 +72,7 @@ dtb-$(CONFIG_ARCH_BCM2835) += \ - bcm2835-rpi-b-plus.dtb \ - bcm2835-rpi-a-plus.dtb \ - bcm2836-rpi-2-b.dtb \ -+ bcm2837-rpi-3-b.dtb \ - bcm2835-rpi-zero.dtb - dtb-$(CONFIG_ARCH_BCM_5301X) += \ - bcm4708-asus-rt-ac56u.dtb \ -diff --git a/arch/arm/boot/dts/bcm2837-rpi-3-b.dts b/arch/arm/boot/dts/bcm2837-rpi-3-b.dts -new file mode 100644 -index 000000000000..c72a27d908b6 ---- /dev/null -+++ b/arch/arm/boot/dts/bcm2837-rpi-3-b.dts -@@ -0,0 +1 @@ -+#include "../../../arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts" diff --git a/freed-ora/current/f26/bcm2837-move-dt.patch b/freed-ora/current/f26/bcm2837-move-dt.patch deleted file mode 100644 index 018cf81d7..000000000 --- a/freed-ora/current/f26/bcm2837-move-dt.patch +++ /dev/null @@ -1,516 +0,0 @@ -From 3bfe25fa9f8a56c5c877c7fd854d89238787c6d8 Mon Sep 17 00:00:00 2001 -From: Eric Anholt <eric@anholt.net> -Date: Wed, 26 Jul 2017 13:01:56 -0700 -Subject: ARM: dts: bcm283x: Move the BCM2837 DT contents from arm64 to arm. - -BCM2837 is somewhat unusual in that we build its DT on both arm32 and -arm64. Most devices are being run in arm32 mode. - -Having the body of the DT for 2837 separate from 2835/6 has been a -source of pain, as we often need to make changes that span both -directories simultaneously (for example, the thermal changes for 4.13, -or anything that changes the name of a node referenced by '&' from -board files). Other changes are made more complicated than they need -to be, such as the SDHOST enabling, because we have to split a single -logical change into a 283[56] half and a 2837 half. - -To fix this, make the stub board include file live in arm64 instead of -arm32, and keep all of BCM283x's contents in arm32. From here on, our -changes to DT contents can be submitted through a single tree. - -Signed-off-by: Eric Anholt <eric@anholt.net> -Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> ---- - arch/arm/boot/dts/bcm2837-rpi-3-b.dts | 42 ++++++++++- - arch/arm/boot/dts/bcm2837.dtsi | 86 ++++++++++++++++++++++ - arch/arm64/boot/dts/broadcom/bcm2835-rpi.dtsi | 1 - - arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts | 42 +---------- - arch/arm64/boot/dts/broadcom/bcm2837.dtsi | 86 ---------------------- - .../boot/dts/broadcom/bcm283x-rpi-smsc9514.dtsi | 1 - - .../boot/dts/broadcom/bcm283x-rpi-usb-host.dtsi | 1 - - arch/arm64/boot/dts/broadcom/bcm283x.dtsi | 1 - - 8 files changed, 128 insertions(+), 132 deletions(-) - create mode 100644 arch/arm/boot/dts/bcm2837.dtsi - delete mode 120000 arch/arm64/boot/dts/broadcom/bcm2835-rpi.dtsi - delete mode 100644 arch/arm64/boot/dts/broadcom/bcm2837.dtsi - delete mode 120000 arch/arm64/boot/dts/broadcom/bcm283x-rpi-smsc9514.dtsi - delete mode 120000 arch/arm64/boot/dts/broadcom/bcm283x-rpi-usb-host.dtsi - delete mode 120000 arch/arm64/boot/dts/broadcom/bcm283x.dtsi - -diff --git a/arch/arm/boot/dts/bcm2837-rpi-3-b.dts b/arch/arm/boot/dts/bcm2837-rpi-3-b.dts -index c72a27d..972f14d 100644 ---- a/arch/arm/boot/dts/bcm2837-rpi-3-b.dts -+++ b/arch/arm/boot/dts/bcm2837-rpi-3-b.dts -@@ -1 +1,41 @@ --#include "arm64/broadcom/bcm2837-rpi-3-b.dts" -+/dts-v1/; -+#include "bcm2837.dtsi" -+#include "bcm2835-rpi.dtsi" -+#include "bcm283x-rpi-smsc9514.dtsi" -+#include "bcm283x-rpi-usb-host.dtsi" -+ -+/ { -+ compatible = "raspberrypi,3-model-b", "brcm,bcm2837"; -+ model = "Raspberry Pi 3 Model B"; -+ -+ memory { -+ reg = <0 0x40000000>; -+ }; -+ -+ leds { -+ act { -+ gpios = <&gpio 47 0>; -+ }; -+ }; -+}; -+ -+&uart1 { -+ status = "okay"; -+}; -+ -+/* SDHCI is used to control the SDIO for wireless */ -+&sdhci { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&emmc_gpio34>; -+ status = "okay"; -+ bus-width = <4>; -+ non-removable; -+}; -+ -+/* SDHOST is used to drive the SD card */ -+&sdhost { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&sdhost_gpio48>; -+ status = "okay"; -+ bus-width = <4>; -+}; -diff --git a/arch/arm/boot/dts/bcm2837.dtsi b/arch/arm/boot/dts/bcm2837.dtsi -new file mode 100644 -index 0000000..2d5de6f0 ---- /dev/null -+++ b/arch/arm/boot/dts/bcm2837.dtsi -@@ -0,0 +1,86 @@ -+#include "bcm283x.dtsi" -+ -+/ { -+ compatible = "brcm,bcm2837"; -+ -+ soc { -+ ranges = <0x7e000000 0x3f000000 0x1000000>, -+ <0x40000000 0x40000000 0x00001000>; -+ dma-ranges = <0xc0000000 0x00000000 0x3f000000>; -+ -+ local_intc: local_intc { -+ compatible = "brcm,bcm2836-l1-intc"; -+ reg = <0x40000000 0x100>; -+ interrupt-controller; -+ #interrupt-cells = <1>; -+ interrupt-parent = <&local_intc>; -+ }; -+ }; -+ -+ timer { -+ compatible = "arm,armv7-timer"; -+ interrupt-parent = <&local_intc>; -+ interrupts = <0>, // PHYS_SECURE_PPI -+ <1>, // PHYS_NONSECURE_PPI -+ <3>, // VIRT_PPI -+ <2>; // HYP_PPI -+ always-on; -+ }; -+ -+ cpus: cpus { -+ #address-cells = <1>; -+ #size-cells = <0>; -+ -+ cpu0: cpu@0 { -+ device_type = "cpu"; -+ compatible = "arm,cortex-a53"; -+ reg = <0>; -+ enable-method = "spin-table"; -+ cpu-release-addr = <0x0 0x000000d8>; -+ }; -+ -+ cpu1: cpu@1 { -+ device_type = "cpu"; -+ compatible = "arm,cortex-a53"; -+ reg = <1>; -+ enable-method = "spin-table"; -+ cpu-release-addr = <0x0 0x000000e0>; -+ }; -+ -+ cpu2: cpu@2 { -+ device_type = "cpu"; -+ compatible = "arm,cortex-a53"; -+ reg = <2>; -+ enable-method = "spin-table"; -+ cpu-release-addr = <0x0 0x000000e8>; -+ }; -+ -+ cpu3: cpu@3 { -+ device_type = "cpu"; -+ compatible = "arm,cortex-a53"; -+ reg = <3>; -+ enable-method = "spin-table"; -+ cpu-release-addr = <0x0 0x000000f0>; -+ }; -+ }; -+}; -+ -+/* Make the BCM2835-style global interrupt controller be a child of the -+ * CPU-local interrupt controller. -+ */ -+&intc { -+ compatible = "brcm,bcm2836-armctrl-ic"; -+ reg = <0x7e00b200 0x200>; -+ interrupt-parent = <&local_intc>; -+ interrupts = <8>; -+}; -+ -+&cpu_thermal { -+ coefficients = <(-538) 412000>; -+}; -+ -+/* enable thermal sensor with the correct compatible property set */ -+&thermal { -+ compatible = "brcm,bcm2837-thermal"; -+ status = "okay"; -+}; -diff --git a/arch/arm64/boot/dts/broadcom/bcm2835-rpi.dtsi b/arch/arm64/boot/dts/broadcom/bcm2835-rpi.dtsi -deleted file mode 120000 -index 3937b77..0000000 ---- a/arch/arm64/boot/dts/broadcom/bcm2835-rpi.dtsi -+++ /dev/null -@@ -1 +0,0 @@ --../../../../arm/boot/dts/bcm2835-rpi.dtsi -\ No newline at end of file -diff --git a/arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts b/arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts -index 972f14d..699d340 100644 ---- a/arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts -+++ b/arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts -@@ -1,41 +1 @@ --/dts-v1/; --#include "bcm2837.dtsi" --#include "bcm2835-rpi.dtsi" --#include "bcm283x-rpi-smsc9514.dtsi" --#include "bcm283x-rpi-usb-host.dtsi" -- --/ { -- compatible = "raspberrypi,3-model-b", "brcm,bcm2837"; -- model = "Raspberry Pi 3 Model B"; -- -- memory { -- reg = <0 0x40000000>; -- }; -- -- leds { -- act { -- gpios = <&gpio 47 0>; -- }; -- }; --}; -- --&uart1 { -- status = "okay"; --}; -- --/* SDHCI is used to control the SDIO for wireless */ --&sdhci { -- pinctrl-names = "default"; -- pinctrl-0 = <&emmc_gpio34>; -- status = "okay"; -- bus-width = <4>; -- non-removable; --}; -- --/* SDHOST is used to drive the SD card */ --&sdhost { -- pinctrl-names = "default"; -- pinctrl-0 = <&sdhost_gpio48>; -- status = "okay"; -- bus-width = <4>; --}; -+#include "arm/bcm2837-rpi-3-b.dts" -diff --git a/arch/arm64/boot/dts/broadcom/bcm2837.dtsi b/arch/arm64/boot/dts/broadcom/bcm2837.dtsi -deleted file mode 100644 -index 2d5de6f0..0000000 ---- a/arch/arm64/boot/dts/broadcom/bcm2837.dtsi -+++ /dev/null -@@ -1,86 +0,0 @@ --#include "bcm283x.dtsi" -- --/ { -- compatible = "brcm,bcm2837"; -- -- soc { -- ranges = <0x7e000000 0x3f000000 0x1000000>, -- <0x40000000 0x40000000 0x00001000>; -- dma-ranges = <0xc0000000 0x00000000 0x3f000000>; -- -- local_intc: local_intc { -- compatible = "brcm,bcm2836-l1-intc"; -- reg = <0x40000000 0x100>; -- interrupt-controller; -- #interrupt-cells = <1>; -- interrupt-parent = <&local_intc>; -- }; -- }; -- -- timer { -- compatible = "arm,armv7-timer"; -- interrupt-parent = <&local_intc>; -- interrupts = <0>, // PHYS_SECURE_PPI -- <1>, // PHYS_NONSECURE_PPI -- <3>, // VIRT_PPI -- <2>; // HYP_PPI -- always-on; -- }; -- -- cpus: cpus { -- #address-cells = <1>; -- #size-cells = <0>; -- -- cpu0: cpu@0 { -- device_type = "cpu"; -- compatible = "arm,cortex-a53"; -- reg = <0>; -- enable-method = "spin-table"; -- cpu-release-addr = <0x0 0x000000d8>; -- }; -- -- cpu1: cpu@1 { -- device_type = "cpu"; -- compatible = "arm,cortex-a53"; -- reg = <1>; -- enable-method = "spin-table"; -- cpu-release-addr = <0x0 0x000000e0>; -- }; -- -- cpu2: cpu@2 { -- device_type = "cpu"; -- compatible = "arm,cortex-a53"; -- reg = <2>; -- enable-method = "spin-table"; -- cpu-release-addr = <0x0 0x000000e8>; -- }; -- -- cpu3: cpu@3 { -- device_type = "cpu"; -- compatible = "arm,cortex-a53"; -- reg = <3>; -- enable-method = "spin-table"; -- cpu-release-addr = <0x0 0x000000f0>; -- }; -- }; --}; -- --/* Make the BCM2835-style global interrupt controller be a child of the -- * CPU-local interrupt controller. -- */ --&intc { -- compatible = "brcm,bcm2836-armctrl-ic"; -- reg = <0x7e00b200 0x200>; -- interrupt-parent = <&local_intc>; -- interrupts = <8>; --}; -- --&cpu_thermal { -- coefficients = <(-538) 412000>; --}; -- --/* enable thermal sensor with the correct compatible property set */ --&thermal { -- compatible = "brcm,bcm2837-thermal"; -- status = "okay"; --}; -diff --git a/arch/arm64/boot/dts/broadcom/bcm283x-rpi-smsc9514.dtsi b/arch/arm64/boot/dts/broadcom/bcm283x-rpi-smsc9514.dtsi -deleted file mode 120000 -index dca7c05..0000000 ---- a/arch/arm64/boot/dts/broadcom/bcm283x-rpi-smsc9514.dtsi -+++ /dev/null -@@ -1 +0,0 @@ --../../../../arm/boot/dts/bcm283x-rpi-smsc9514.dtsi -\ No newline at end of file -diff --git a/arch/arm64/boot/dts/broadcom/bcm283x-rpi-usb-host.dtsi b/arch/arm64/boot/dts/broadcom/bcm283x-rpi-usb-host.dtsi -deleted file mode 120000 -index cbeebe3..0000000 ---- a/arch/arm64/boot/dts/broadcom/bcm283x-rpi-usb-host.dtsi -+++ /dev/null -@@ -1 +0,0 @@ --../../../../arm/boot/dts/bcm283x-rpi-usb-host.dtsi -\ No newline at end of file -diff --git a/arch/arm64/boot/dts/broadcom/bcm283x.dtsi b/arch/arm64/boot/dts/broadcom/bcm283x.dtsi -deleted file mode 120000 -index 5f54e4c..0000000 ---- a/arch/arm64/boot/dts/broadcom/bcm283x.dtsi -+++ /dev/null -@@ -1 +0,0 @@ --../../../../arm/boot/dts/bcm283x.dtsi -\ No newline at end of file --- -cgit v1.1 - -From 4188ea2aeb6dd8f99ab77662f463e41bc464a704 Mon Sep 17 00:00:00 2001 -From: Stefan Wahren <stefan.wahren@i2se.com> -Date: Sun, 30 Jul 2017 19:10:32 +0200 -Subject: ARM: bcm283x: Define UART pinmuxing on board level - -Until RPI 3 and Zero W the pl011 (uart0) was always on pin 14/15. So in -order to take care of them and other boards in the future, -we need to define UART pinmuxing on board level. - -This work based on Eric Anholt's patch "ARM: bcm2385: Don't force pl011 -onto pins 14/15." and Fabian Vogt's patch "ARM64: dts: bcm2837: assign -uart0 to BT and uart1 to pin headers". - -Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com> -Reviewed-by: Eric Anholt <eric@anholt.net> -Signed-off-by: Eric Anholt <eric@anholt.net> ---- - arch/arm/boot/dts/bcm2835-rpi-a-plus.dts | 6 ++++++ - arch/arm/boot/dts/bcm2835-rpi-a.dts | 6 ++++++ - arch/arm/boot/dts/bcm2835-rpi-b-plus.dts | 6 ++++++ - arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts | 6 ++++++ - arch/arm/boot/dts/bcm2835-rpi-b.dts | 6 ++++++ - arch/arm/boot/dts/bcm2835-rpi-zero.dts | 6 ++++++ - arch/arm/boot/dts/bcm2835-rpi.dtsi | 2 +- - arch/arm/boot/dts/bcm2836-rpi-2-b.dts | 6 ++++++ - arch/arm/boot/dts/bcm2837-rpi-3-b.dts | 10 ++++++++++ - 9 files changed, 53 insertions(+), 1 deletion(-) - -diff --git a/arch/arm/boot/dts/bcm2835-rpi-a-plus.dts b/arch/arm/boot/dts/bcm2835-rpi-a-plus.dts -index d070454..9f86649 100644 ---- a/arch/arm/boot/dts/bcm2835-rpi-a-plus.dts -+++ b/arch/arm/boot/dts/bcm2835-rpi-a-plus.dts -@@ -99,3 +99,9 @@ - &hdmi { - hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>; - }; -+ -+&uart0 { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&uart0_gpio14>; -+ status = "okay"; -+}; -diff --git a/arch/arm/boot/dts/bcm2835-rpi-a.dts b/arch/arm/boot/dts/bcm2835-rpi-a.dts -index 46d078e..4b1af06 100644 ---- a/arch/arm/boot/dts/bcm2835-rpi-a.dts -+++ b/arch/arm/boot/dts/bcm2835-rpi-a.dts -@@ -94,3 +94,9 @@ - &hdmi { - hpd-gpios = <&gpio 46 GPIO_ACTIVE_HIGH>; - }; -+ -+&uart0 { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&uart0_gpio14>; -+ status = "okay"; -+}; -diff --git a/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts b/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts -index 432088e..a846f1e 100644 ---- a/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts -+++ b/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts -@@ -101,3 +101,9 @@ - &hdmi { - hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>; - }; -+ -+&uart0 { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&uart0_gpio14>; -+ status = "okay"; -+}; -diff --git a/arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts b/arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts -index 4133bc2..e860964 100644 ---- a/arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts -+++ b/arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts -@@ -94,3 +94,9 @@ - &hdmi { - hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>; - }; -+ -+&uart0 { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&uart0_gpio14>; -+ status = "okay"; -+}; -diff --git a/arch/arm/boot/dts/bcm2835-rpi-b.dts b/arch/arm/boot/dts/bcm2835-rpi-b.dts -index 4d56fe3..5d77f3f 100644 ---- a/arch/arm/boot/dts/bcm2835-rpi-b.dts -+++ b/arch/arm/boot/dts/bcm2835-rpi-b.dts -@@ -89,3 +89,9 @@ - &hdmi { - hpd-gpios = <&gpio 46 GPIO_ACTIVE_HIGH>; - }; -+ -+&uart0 { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&uart0_gpio14>; -+ status = "okay"; -+}; -diff --git a/arch/arm/boot/dts/bcm2835-rpi-zero.dts b/arch/arm/boot/dts/bcm2835-rpi-zero.dts -index 79a20d5..7036240 100644 ---- a/arch/arm/boot/dts/bcm2835-rpi-zero.dts -+++ b/arch/arm/boot/dts/bcm2835-rpi-zero.dts -@@ -103,3 +103,9 @@ - &hdmi { - hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>; - }; -+ -+&uart0 { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&uart0_gpio14>; -+ status = "okay"; -+}; -diff --git a/arch/arm/boot/dts/bcm2835-rpi.dtsi b/arch/arm/boot/dts/bcm2835-rpi.dtsi -index e55b362..e36c392 100644 ---- a/arch/arm/boot/dts/bcm2835-rpi.dtsi -+++ b/arch/arm/boot/dts/bcm2835-rpi.dtsi -@@ -39,7 +39,7 @@ - }; - - alt0: alt0 { -- brcm,pins = <4 5 7 8 9 10 11 14 15>; -+ brcm,pins = <4 5 7 8 9 10 11>; - brcm,function = <BCM2835_FSEL_ALT0>; - }; - }; -diff --git a/arch/arm/boot/dts/bcm2836-rpi-2-b.dts b/arch/arm/boot/dts/bcm2836-rpi-2-b.dts -index bf19e8c..e8de414 100644 ---- a/arch/arm/boot/dts/bcm2836-rpi-2-b.dts -+++ b/arch/arm/boot/dts/bcm2836-rpi-2-b.dts -@@ -39,3 +39,9 @@ - &hdmi { - hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>; - }; -+ -+&uart0 { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&uart0_gpio14>; -+ status = "okay"; -+}; -diff --git a/arch/arm/boot/dts/bcm2837-rpi-3-b.dts b/arch/arm/boot/dts/bcm2837-rpi-3-b.dts -index 972f14d..20725ca 100644 ---- a/arch/arm/boot/dts/bcm2837-rpi-3-b.dts -+++ b/arch/arm/boot/dts/bcm2837-rpi-3-b.dts -@@ -19,7 +19,17 @@ - }; - }; - -+/* uart0 communicates with the BT module */ -+&uart0 { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&uart0_gpio32 &gpclk2_gpio43>; -+ status = "okay"; -+}; -+ -+/* uart1 is mapped to the pin header */ - &uart1 { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&uart1_gpio14>; - status = "okay"; - }; - --- -cgit v1.1 - diff --git a/freed-ora/current/f26/bcm2837-sdhost-fixes.patch b/freed-ora/current/f26/bcm2837-sdhost-fixes.patch deleted file mode 100644 index 9b81005ad..000000000 --- a/freed-ora/current/f26/bcm2837-sdhost-fixes.patch +++ /dev/null @@ -1,83 +0,0 @@ -From e199a012a0fb0be11ccd26b4a502ae830eb10db0 Mon Sep 17 00:00:00 2001 -From: Gerd Hoffmann <kraxel@redhat.com> -Date: Tue, 21 Jun 2016 11:47:56 +0200 -Subject: arm64: dts: bcm2837: add &sdhci and &sdhost - -For the raspberry pi 3 we'll need both sdhci (handles sdio wifi) and -sdhost (handles sdcard). - -Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> -Acked-by: Eric Anholt <eric@anholt.net> ---- - arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts | 17 +++++++++++++++++ - 1 file changed, 17 insertions(+) - -diff --git a/arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts b/arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts -index c309633..972f14d 100644 ---- a/arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts -+++ b/arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts -@@ -22,3 +22,20 @@ - &uart1 { - status = "okay"; - }; -+ -+/* SDHCI is used to control the SDIO for wireless */ -+&sdhci { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&emmc_gpio34>; -+ status = "okay"; -+ bus-width = <4>; -+ non-removable; -+}; -+ -+/* SDHOST is used to drive the SD card */ -+&sdhost { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&sdhost_gpio48>; -+ status = "okay"; -+ bus-width = <4>; -+}; --- -cgit v0.12 - -From 0c1759bc4fc8884d790d4ab99b5276132559b5a1 Mon Sep 17 00:00:00 2001 -From: Gerd Hoffmann <kraxel@redhat.com> -Date: Tue, 21 Jun 2016 10:00:58 +0200 -Subject: arm: dts: bcm283x: switch from &sdhci to &sdhost - -sdcard access with the sdhost controller is faster. - -Read access (dd with 64k blocks on rpi2): - CONFIG_MMC_SDHCI_IPROC: 11-12 MB/s - CONFIG_MMC_BCM2835: 19-20 MB/s - -Differences on write access are pretty much in the noise. - -Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> -Acked-by: Eric Anholt <eric@anholt.net> ---- - arch/arm/boot/dts/bcm2835-rpi.dtsi | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/arch/arm/boot/dts/bcm2835-rpi.dtsi b/arch/arm/boot/dts/bcm2835-rpi.dtsi -index 8b95832..e36c392 100644 ---- a/arch/arm/boot/dts/bcm2835-rpi.dtsi -+++ b/arch/arm/boot/dts/bcm2835-rpi.dtsi -@@ -65,13 +65,13 @@ - &sdhci { - pinctrl-names = "default"; - pinctrl-0 = <&emmc_gpio48>; -- status = "okay"; - bus-width = <4>; - }; - - &sdhost { - pinctrl-names = "default"; - pinctrl-0 = <&sdhost_gpio48>; -+ status = "okay"; - bus-width = <4>; - }; - --- -cgit v0.12 - diff --git a/freed-ora/current/f26/bcm283x-Define-UART-pinmuxing-on-board-level.patch b/freed-ora/current/f26/bcm283x-Define-UART-pinmuxing-on-board-level.patch deleted file mode 100644 index 26efe9007..000000000 --- a/freed-ora/current/f26/bcm283x-Define-UART-pinmuxing-on-board-level.patch +++ /dev/null @@ -1,171 +0,0 @@ -From patchwork Thu Jul 20 19:37:07 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [1/3] ARM: bcm283x: Define UART pinmuxing on board level -From: Stefan Wahren <stefan.wahren@i2se.com> -X-Patchwork-Id: 9855625 -Message-Id: <1500579429-9101-2-git-send-email-stefan.wahren@i2se.com> -To: Eric Anholt <eric@anholt.net>, Rob Herring <robh+dt@kernel.org>, - Mark Rutland <mark.rutland@arm.com> -Cc: Stefan Wahren <stefan.wahren@i2se.com>, devicetree@vger.kernel.org, - Florian Fainelli <f.fainelli@gmail.com>, - Scott Branden <sbranden@broadcom.com>, - linux-rpi-kernel@lists.infradead.org, - linux-arm-kernel@lists.infradead.org, Gerd Hoffmann <kraxel@redhat.com> -Date: Thu, 20 Jul 2017 21:37:07 +0200 - -Until RPI 3 and Zero W the pl011 (uart0) was always on pin 14/15. So in -order to take care of them and other boards in the future, -we need to define UART pinmuxing on board level. - -This work based on Eric Anholt's patch "ARM: bcm2385: Don't force pl011 -onto pins 14/15." and Fabian Vogt's patch "ARM64: dts: bcm2837: assign -uart0 to BT and uart1 to pin headers". - -Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com> ---- - arch/arm/boot/dts/bcm2835-rpi-a-plus.dts | 6 ++++++ - arch/arm/boot/dts/bcm2835-rpi-a.dts | 6 ++++++ - arch/arm/boot/dts/bcm2835-rpi-b-plus.dts | 6 ++++++ - arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts | 6 ++++++ - arch/arm/boot/dts/bcm2835-rpi-b.dts | 6 ++++++ - arch/arm/boot/dts/bcm2835-rpi-zero.dts | 6 ++++++ - arch/arm/boot/dts/bcm2835-rpi.dtsi | 2 +- - arch/arm/boot/dts/bcm2836-rpi-2-b.dts | 6 ++++++ - arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts | 10 ++++++++++ - 9 files changed, 53 insertions(+), 1 deletion(-) - -diff --git a/arch/arm/boot/dts/bcm2835-rpi-a-plus.dts b/arch/arm/boot/dts/bcm2835-rpi-a-plus.dts -index d070454..9f86649 100644 ---- a/arch/arm/boot/dts/bcm2835-rpi-a-plus.dts -+++ b/arch/arm/boot/dts/bcm2835-rpi-a-plus.dts -@@ -99,3 +99,9 @@ - &hdmi { - hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>; - }; -+ -+&uart0 { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&uart0_gpio14>; -+ status = "okay"; -+}; -diff --git a/arch/arm/boot/dts/bcm2835-rpi-a.dts b/arch/arm/boot/dts/bcm2835-rpi-a.dts -index 46d078e..4b1af06 100644 ---- a/arch/arm/boot/dts/bcm2835-rpi-a.dts -+++ b/arch/arm/boot/dts/bcm2835-rpi-a.dts -@@ -94,3 +94,9 @@ - &hdmi { - hpd-gpios = <&gpio 46 GPIO_ACTIVE_HIGH>; - }; -+ -+&uart0 { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&uart0_gpio14>; -+ status = "okay"; -+}; -diff --git a/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts b/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts -index 432088e..a846f1e 100644 ---- a/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts -+++ b/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts -@@ -101,3 +101,9 @@ - &hdmi { - hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>; - }; -+ -+&uart0 { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&uart0_gpio14>; -+ status = "okay"; -+}; -diff --git a/arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts b/arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts -index 4133bc2..e860964 100644 ---- a/arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts -+++ b/arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts -@@ -94,3 +94,9 @@ - &hdmi { - hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>; - }; -+ -+&uart0 { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&uart0_gpio14>; -+ status = "okay"; -+}; -diff --git a/arch/arm/boot/dts/bcm2835-rpi-b.dts b/arch/arm/boot/dts/bcm2835-rpi-b.dts -index 4d56fe3..5d77f3f 100644 ---- a/arch/arm/boot/dts/bcm2835-rpi-b.dts -+++ b/arch/arm/boot/dts/bcm2835-rpi-b.dts -@@ -89,3 +89,9 @@ - &hdmi { - hpd-gpios = <&gpio 46 GPIO_ACTIVE_HIGH>; - }; -+ -+&uart0 { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&uart0_gpio14>; -+ status = "okay"; -+}; -diff --git a/arch/arm/boot/dts/bcm2835-rpi-zero.dts b/arch/arm/boot/dts/bcm2835-rpi-zero.dts -index 79a20d5..7036240 100644 ---- a/arch/arm/boot/dts/bcm2835-rpi-zero.dts -+++ b/arch/arm/boot/dts/bcm2835-rpi-zero.dts -@@ -103,3 +103,9 @@ - &hdmi { - hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>; - }; -+ -+&uart0 { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&uart0_gpio14>; -+ status = "okay"; -+}; -diff --git a/arch/arm/boot/dts/bcm2835-rpi.dtsi b/arch/arm/boot/dts/bcm2835-rpi.dtsi -index e55b362..e36c392 100644 ---- a/arch/arm/boot/dts/bcm2835-rpi.dtsi -+++ b/arch/arm/boot/dts/bcm2835-rpi.dtsi -@@ -39,7 +39,7 @@ - }; - - alt0: alt0 { -- brcm,pins = <4 5 7 8 9 10 11 14 15>; -+ brcm,pins = <4 5 7 8 9 10 11>; - brcm,function = <BCM2835_FSEL_ALT0>; - }; - }; -diff --git a/arch/arm/boot/dts/bcm2836-rpi-2-b.dts b/arch/arm/boot/dts/bcm2836-rpi-2-b.dts -index bf19e8c..e8de414 100644 ---- a/arch/arm/boot/dts/bcm2836-rpi-2-b.dts -+++ b/arch/arm/boot/dts/bcm2836-rpi-2-b.dts -@@ -39,3 +39,9 @@ - &hdmi { - hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>; - }; -+ -+&uart0 { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&uart0_gpio14>; -+ status = "okay"; -+}; -diff --git a/arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts b/arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts -index 972f14d..20725ca 100644 ---- a/arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts -+++ b/arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts -@@ -19,7 +19,17 @@ - }; - }; - -+/* uart0 communicates with the BT module */ -+&uart0 { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&uart0_ctsrts_gpio30 &gpclk2_gpio43>; -+ status = "okay"; -+}; -+ -+/* uart1 is mapped to the pin header */ - &uart1 { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&uart1_gpio14>; - status = "okay"; - }; - diff --git a/freed-ora/current/f26/bcm283x-drm-vc4-Fix-OOPSes-from-trying-to-cache-a-partially-constructed-BO..patch b/freed-ora/current/f26/bcm283x-drm-vc4-Fix-OOPSes-from-trying-to-cache-a-partially-constructed-BO..patch deleted file mode 100644 index 70a528253..000000000 --- a/freed-ora/current/f26/bcm283x-drm-vc4-Fix-OOPSes-from-trying-to-cache-a-partially-constructed-BO..patch +++ /dev/null @@ -1,42 +0,0 @@ -From patchwork Thu Feb 9 18:16:00 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: drm/vc4: Fix OOPSes from trying to cache a partially constructed BO. -From: Eric Anholt <eric@anholt.net> -X-Patchwork-Id: 138087 -Message-Id: <20170209181600.24048-1-eric@anholt.net> -To: dri-devel@lists.freedesktop.org -Cc: linux-kernel@vger.kernel.org, pbrobinson@gmail.com -Date: Thu, 9 Feb 2017 10:16:00 -0800 - -If a CMA allocation failed, the partially constructed BO would be -unreferenced through the normal path, and we might choose to put it in -the BO cache. If we then reused it before it expired from the cache, -the kernel would OOPS. - -Signed-off-by: Eric Anholt <eric@anholt.net> -Fixes: c826a6e10644 ("drm/vc4: Add a BO cache.") ---- - drivers/gpu/drm/vc4/vc4_bo.c | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git a/drivers/gpu/drm/vc4/vc4_bo.c b/drivers/gpu/drm/vc4/vc4_bo.c -index 5ec14f25625d..fd83a2807656 100644 ---- a/drivers/gpu/drm/vc4/vc4_bo.c -+++ b/drivers/gpu/drm/vc4/vc4_bo.c -@@ -314,6 +314,14 @@ void vc4_free_object(struct drm_gem_object *gem_bo) - goto out; - } - -+ /* If this object was partially constructed but CMA allocation -+ * had failed, just free it. -+ */ -+ if (!bo->base.vaddr) { -+ vc4_bo_destroy(bo); -+ goto out; -+ } -+ - cache_list = vc4_get_cache_list_for_size(dev, gem_bo->size); - if (!cache_list) { - vc4_bo_destroy(bo); diff --git a/freed-ora/current/f26/bcm283x-flip-sdcontroller.patch b/freed-ora/current/f26/bcm283x-flip-sdcontroller.patch deleted file mode 100644 index 44b5eb146..000000000 --- a/freed-ora/current/f26/bcm283x-flip-sdcontroller.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 0c1759bc4fc8884d790d4ab99b5276132559b5a1 Mon Sep 17 00:00:00 2001 -From: Gerd Hoffmann <kraxel@redhat.com> -Date: Tue, 21 Jun 2016 10:00:58 +0200 -Subject: arm: dts: bcm283x: switch from &sdhci to &sdhost - -sdcard access with the sdhost controller is faster. - -Read access (dd with 64k blocks on rpi2): - CONFIG_MMC_SDHCI_IPROC: 11-12 MB/s - CONFIG_MMC_BCM2835: 19-20 MB/s - -Differences on write access are pretty much in the noise. - -Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> -Acked-by: Eric Anholt <eric@anholt.net> ---- - arch/arm/boot/dts/bcm2835-rpi.dtsi | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/arch/arm/boot/dts/bcm2835-rpi.dtsi b/arch/arm/boot/dts/bcm2835-rpi.dtsi -index 8b95832..e36c392 100644 ---- a/arch/arm/boot/dts/bcm2835-rpi.dtsi -+++ b/arch/arm/boot/dts/bcm2835-rpi.dtsi -@@ -65,13 +65,13 @@ - &sdhci { - pinctrl-names = "default"; - pinctrl-0 = <&emmc_gpio48>; -- status = "okay"; - bus-width = <4>; - }; - - &sdhost { - pinctrl-names = "default"; - pinctrl-0 = <&sdhost_gpio48>; -+ status = "okay"; - bus-width = <4>; - }; - --- -cgit v0.12 - diff --git a/freed-ora/current/f26/bcm283x-vc4-fix-vblank.patch b/freed-ora/current/f26/bcm283x-vc4-fix-vblank.patch deleted file mode 100644 index ce4f8b16f..000000000 --- a/freed-ora/current/f26/bcm283x-vc4-fix-vblank.patch +++ /dev/null @@ -1,123 +0,0 @@ -From d40a5938a10a3ba73bce6395729fefd8b8bb1c07 Mon Sep 17 00:00:00 2001 -From: Peter Robinson <pbrobinson@gmail.com> -Date: Thu, 29 Jun 2017 10:05:05 +0100 -Subject: [PATCH] drm/vc4: Fix VBLANK handling in crtc->enable() path - -When we are enabling a CRTC, drm_crtc_vblank_get() is called before -drm_crtc_vblank_on(), which is not supposed to happen (hence the -WARN_ON() in the code). To solve the problem, we delay the 'update -display list' operation after the CRTC is actually enabled. - -Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com> ---- - drivers/gpu/drm/vc4/vc4_crtc.c | 66 +++++++++++++++++++++++++++--------------- - 1 file changed, 43 insertions(+), 23 deletions(-) - -diff --git a/drivers/gpu/drm/vc4/vc4_crtc.c b/drivers/gpu/drm/vc4/vc4_crtc.c -index d86c8cce3182..316bd6210d69 100644 ---- a/drivers/gpu/drm/vc4/vc4_crtc.c -+++ b/drivers/gpu/drm/vc4/vc4_crtc.c -@@ -530,6 +530,34 @@ static void vc4_crtc_disable(struct drm_crtc *crtc) - SCALER_DISPSTATX_EMPTY); - } - -+static void vc4_crtc_update_dlist(struct drm_crtc *crtc) -+{ -+ struct drm_device *dev = crtc->dev; -+ struct vc4_dev *vc4 = to_vc4_dev(dev); -+ struct vc4_crtc *vc4_crtc = to_vc4_crtc(crtc); -+ struct vc4_crtc_state *vc4_state = to_vc4_crtc_state(crtc->state); -+ -+ if (crtc->state->event) { -+ unsigned long flags; -+ -+ crtc->state->event->pipe = drm_crtc_index(crtc); -+ -+ WARN_ON(drm_crtc_vblank_get(crtc) != 0); -+ -+ spin_lock_irqsave(&dev->event_lock, flags); -+ vc4_crtc->event = crtc->state->event; -+ crtc->state->event = NULL; -+ -+ HVS_WRITE(SCALER_DISPLISTX(vc4_crtc->channel), -+ vc4_state->mm.start); -+ -+ spin_unlock_irqrestore(&dev->event_lock, flags); -+ } else { -+ HVS_WRITE(SCALER_DISPLISTX(vc4_crtc->channel), -+ vc4_state->mm.start); -+ } -+} -+ - static void vc4_crtc_enable(struct drm_crtc *crtc) - { - struct drm_device *dev = crtc->dev; -@@ -540,6 +568,12 @@ static void vc4_crtc_enable(struct drm_crtc *crtc) - - require_hvs_enabled(dev); - -+ /* Enable vblank irq handling before crtc is started otherwise -+ * drm_crtc_get_vblank() fails in vc4_crtc_update_dlist(). -+ */ -+ drm_crtc_vblank_on(crtc); -+ vc4_crtc_update_dlist(crtc); -+ - /* Turn on the scaler, which will wait for vstart to start - * compositing. - */ -@@ -551,9 +585,6 @@ static void vc4_crtc_enable(struct drm_crtc *crtc) - /* Turn on the pixel valve, which will emit the vstart signal. */ - CRTC_WRITE(PV_V_CONTROL, - CRTC_READ(PV_V_CONTROL) | PV_VCONTROL_VIDEN); -- -- /* Enable vblank irq handling after crtc is started. */ -- drm_crtc_vblank_on(crtc); - } - - static bool vc4_crtc_mode_fixup(struct drm_crtc *crtc, -@@ -608,7 +639,6 @@ static void vc4_crtc_atomic_flush(struct drm_crtc *crtc, - { - struct drm_device *dev = crtc->dev; - struct vc4_dev *vc4 = to_vc4_dev(dev); -- struct vc4_crtc *vc4_crtc = to_vc4_crtc(crtc); - struct vc4_crtc_state *vc4_state = to_vc4_crtc_state(crtc->state); - struct drm_plane *plane; - bool debug_dump_regs = false; -@@ -630,25 +660,15 @@ static void vc4_crtc_atomic_flush(struct drm_crtc *crtc, - - WARN_ON_ONCE(dlist_next - dlist_start != vc4_state->mm.size); - -- if (crtc->state->event) { -- unsigned long flags; -- -- crtc->state->event->pipe = drm_crtc_index(crtc); -- -- WARN_ON(drm_crtc_vblank_get(crtc) != 0); -- -- spin_lock_irqsave(&dev->event_lock, flags); -- vc4_crtc->event = crtc->state->event; -- crtc->state->event = NULL; -- -- HVS_WRITE(SCALER_DISPLISTX(vc4_crtc->channel), -- vc4_state->mm.start); -- -- spin_unlock_irqrestore(&dev->event_lock, flags); -- } else { -- HVS_WRITE(SCALER_DISPLISTX(vc4_crtc->channel), -- vc4_state->mm.start); -- } -+ /* Only update DISPLIST if the CRTC was already running and is not -+ * being disabled. -+ * vc4_crtc_enable() takes care of updating the dlist just after -+ * re-enabling VBLANK interrupts and before enabling the engine. -+ * If the CRTC is being disabled, there's no point in updating this -+ * information. -+ */ -+ if (crtc->state->active && old_state->active) -+ vc4_crtc_update_dlist(crtc); - - if (debug_dump_regs) { - DRM_INFO("CRTC %d HVS after:\n", drm_crtc_index(crtc)); --- -2.13.0 - diff --git a/freed-ora/current/f26/bcm283x-vc4-fixes.patch b/freed-ora/current/f26/bcm283x-vc4-fixes.patch deleted file mode 100644 index d17ff1873..000000000 --- a/freed-ora/current/f26/bcm283x-vc4-fixes.patch +++ /dev/null @@ -1,1803 +0,0 @@ -From d74617cb4aebe5a4cb3eeda3070053ccfc36a0ae Mon Sep 17 00:00:00 2001 -From: Eric Anholt <eric@anholt.net> -Date: Tue, 25 Jul 2017 09:27:32 -0700 -Subject: [PATCH 1/6] drm/vc4: Demote user-accessible DRM_ERROR paths to - DRM_DEBUG. - -Userspace shouldn't be able to spam dmesg by passing bad arguments. -This has particularly become an issues since we started using a bad -argument to set_tiling to detect if set_tiling was supported. - -Signed-off-by: Eric Anholt <eric@anholt.net> -Fixes: 83753117f1de ("drm/vc4: Add get/set tiling ioctls.") -Link: https://patchwork.freedesktop.org/patch/msgid/20170725162733.28007-1-eric@anholt.net -Reviewed-by: Boris Brezillon <boris.brezillon@free-electrons.com> ---- - drivers/gpu/drm/vc4/vc4_bo.c | 14 +++--- - drivers/gpu/drm/vc4/vc4_gem.c | 10 ++-- - drivers/gpu/drm/vc4/vc4_kms.c | 2 +- - drivers/gpu/drm/vc4/vc4_render_cl.c | 40 +++++++-------- - drivers/gpu/drm/vc4/vc4_validate.c | 78 +++++++++++++++--------------- - drivers/gpu/drm/vc4/vc4_validate_shaders.c | 72 +++++++++++++-------------- - 6 files changed, 108 insertions(+), 108 deletions(-) - -diff --git a/drivers/gpu/drm/vc4/vc4_bo.c b/drivers/gpu/drm/vc4/vc4_bo.c -index 487f96412d35..ede80199001d 100644 ---- a/drivers/gpu/drm/vc4/vc4_bo.c -+++ b/drivers/gpu/drm/vc4/vc4_bo.c -@@ -389,7 +389,7 @@ vc4_prime_export(struct drm_device *dev, struct drm_gem_object *obj, int flags) - struct vc4_bo *bo = to_vc4_bo(obj); - - if (bo->validated_shader) { -- DRM_ERROR("Attempting to export shader BO\n"); -+ DRM_DEBUG("Attempting to export shader BO\n"); - return ERR_PTR(-EINVAL); - } - -@@ -410,7 +410,7 @@ int vc4_mmap(struct file *filp, struct vm_area_struct *vma) - bo = to_vc4_bo(gem_obj); - - if (bo->validated_shader && (vma->vm_flags & VM_WRITE)) { -- DRM_ERROR("mmaping of shader BOs for writing not allowed.\n"); -+ DRM_DEBUG("mmaping of shader BOs for writing not allowed.\n"); - return -EINVAL; - } - -@@ -435,7 +435,7 @@ int vc4_prime_mmap(struct drm_gem_object *obj, struct vm_area_struct *vma) - struct vc4_bo *bo = to_vc4_bo(obj); - - if (bo->validated_shader && (vma->vm_flags & VM_WRITE)) { -- DRM_ERROR("mmaping of shader BOs for writing not allowed.\n"); -+ DRM_DEBUG("mmaping of shader BOs for writing not allowed.\n"); - return -EINVAL; - } - -@@ -447,7 +447,7 @@ void *vc4_prime_vmap(struct drm_gem_object *obj) - struct vc4_bo *bo = to_vc4_bo(obj); - - if (bo->validated_shader) { -- DRM_ERROR("mmaping of shader BOs not allowed.\n"); -+ DRM_DEBUG("mmaping of shader BOs not allowed.\n"); - return ERR_PTR(-EINVAL); - } - -@@ -501,7 +501,7 @@ int vc4_mmap_bo_ioctl(struct drm_device *dev, void *data, - - gem_obj = drm_gem_object_lookup(file_priv, args->handle); - if (!gem_obj) { -- DRM_ERROR("Failed to look up GEM BO %d\n", args->handle); -+ DRM_DEBUG("Failed to look up GEM BO %d\n", args->handle); - return -EINVAL; - } - -@@ -605,7 +605,7 @@ int vc4_set_tiling_ioctl(struct drm_device *dev, void *data, - - gem_obj = drm_gem_object_lookup(file_priv, args->handle); - if (!gem_obj) { -- DRM_ERROR("Failed to look up GEM BO %d\n", args->handle); -+ DRM_DEBUG("Failed to look up GEM BO %d\n", args->handle); - return -ENOENT; - } - bo = to_vc4_bo(gem_obj); -@@ -636,7 +636,7 @@ int vc4_get_tiling_ioctl(struct drm_device *dev, void *data, - - gem_obj = drm_gem_object_lookup(file_priv, args->handle); - if (!gem_obj) { -- DRM_ERROR("Failed to look up GEM BO %d\n", args->handle); -+ DRM_DEBUG("Failed to look up GEM BO %d\n", args->handle); - return -ENOENT; - } - bo = to_vc4_bo(gem_obj); -diff --git a/drivers/gpu/drm/vc4/vc4_gem.c b/drivers/gpu/drm/vc4/vc4_gem.c -index d5b821ad06af..a3e45e67f417 100644 ---- a/drivers/gpu/drm/vc4/vc4_gem.c -+++ b/drivers/gpu/drm/vc4/vc4_gem.c -@@ -659,7 +659,7 @@ vc4_cl_lookup_bos(struct drm_device *dev, - /* See comment on bo_index for why we have to check - * this. - */ -- DRM_ERROR("Rendering requires BOs to validate\n"); -+ DRM_DEBUG("Rendering requires BOs to validate\n"); - return -EINVAL; - } - -@@ -691,7 +691,7 @@ vc4_cl_lookup_bos(struct drm_device *dev, - struct drm_gem_object *bo = idr_find(&file_priv->object_idr, - handles[i]); - if (!bo) { -- DRM_ERROR("Failed to look up GEM BO %d: %d\n", -+ DRM_DEBUG("Failed to look up GEM BO %d: %d\n", - i, handles[i]); - ret = -EINVAL; - spin_unlock(&file_priv->table_lock); -@@ -729,7 +729,7 @@ vc4_get_bcl(struct drm_device *dev, struct vc4_exec_info *exec) - args->shader_rec_count >= (UINT_MAX / - sizeof(struct vc4_shader_state)) || - temp_size < exec_size) { -- DRM_ERROR("overflow in exec arguments\n"); -+ DRM_DEBUG("overflow in exec arguments\n"); - ret = -EINVAL; - goto fail; - } -@@ -974,7 +974,7 @@ vc4_wait_bo_ioctl(struct drm_device *dev, void *data, - - gem_obj = drm_gem_object_lookup(file_priv, args->handle); - if (!gem_obj) { -- DRM_ERROR("Failed to look up GEM BO %d\n", args->handle); -+ DRM_DEBUG("Failed to look up GEM BO %d\n", args->handle); - return -EINVAL; - } - bo = to_vc4_bo(gem_obj); -@@ -1009,7 +1009,7 @@ vc4_submit_cl_ioctl(struct drm_device *dev, void *data, - int ret = 0; - - if ((args->flags & ~VC4_SUBMIT_CL_USE_CLEAR_COLOR) != 0) { -- DRM_ERROR("Unknown flags: 0x%02x\n", args->flags); -+ DRM_DEBUG("Unknown flags: 0x%02x\n", args->flags); - return -EINVAL; - } - -diff --git a/drivers/gpu/drm/vc4/vc4_kms.c b/drivers/gpu/drm/vc4/vc4_kms.c -index bc6ecdc6f104..b2c55eb09ca3 100644 ---- a/drivers/gpu/drm/vc4/vc4_kms.c -+++ b/drivers/gpu/drm/vc4/vc4_kms.c -@@ -204,7 +204,7 @@ static struct drm_framebuffer *vc4_fb_create(struct drm_device *dev, - gem_obj = drm_gem_object_lookup(file_priv, - mode_cmd->handles[0]); - if (!gem_obj) { -- DRM_ERROR("Failed to look up GEM BO %d\n", -+ DRM_DEBUG("Failed to look up GEM BO %d\n", - mode_cmd->handles[0]); - return ERR_PTR(-ENOENT); - } -diff --git a/drivers/gpu/drm/vc4/vc4_render_cl.c b/drivers/gpu/drm/vc4/vc4_render_cl.c -index 5dc19429d4ae..da3bfd53f0bd 100644 ---- a/drivers/gpu/drm/vc4/vc4_render_cl.c -+++ b/drivers/gpu/drm/vc4/vc4_render_cl.c -@@ -378,14 +378,14 @@ static int vc4_full_res_bounds_check(struct vc4_exec_info *exec, - u32 render_tiles_stride = DIV_ROUND_UP(exec->args->width, 32); - - if (surf->offset > obj->base.size) { -- DRM_ERROR("surface offset %d > BO size %zd\n", -+ DRM_DEBUG("surface offset %d > BO size %zd\n", - surf->offset, obj->base.size); - return -EINVAL; - } - - if ((obj->base.size - surf->offset) / VC4_TILE_BUFFER_SIZE < - render_tiles_stride * args->max_y_tile + args->max_x_tile) { -- DRM_ERROR("MSAA tile %d, %d out of bounds " -+ DRM_DEBUG("MSAA tile %d, %d out of bounds " - "(bo size %zd, offset %d).\n", - args->max_x_tile, args->max_y_tile, - obj->base.size, -@@ -401,7 +401,7 @@ static int vc4_rcl_msaa_surface_setup(struct vc4_exec_info *exec, - struct drm_vc4_submit_rcl_surface *surf) - { - if (surf->flags != 0 || surf->bits != 0) { -- DRM_ERROR("MSAA surface had nonzero flags/bits\n"); -+ DRM_DEBUG("MSAA surface had nonzero flags/bits\n"); - return -EINVAL; - } - -@@ -415,7 +415,7 @@ static int vc4_rcl_msaa_surface_setup(struct vc4_exec_info *exec, - exec->rcl_write_bo[exec->rcl_write_bo_count++] = *obj; - - if (surf->offset & 0xf) { -- DRM_ERROR("MSAA write must be 16b aligned.\n"); -+ DRM_DEBUG("MSAA write must be 16b aligned.\n"); - return -EINVAL; - } - -@@ -437,7 +437,7 @@ static int vc4_rcl_surface_setup(struct vc4_exec_info *exec, - int ret; - - if (surf->flags & ~VC4_SUBMIT_RCL_SURFACE_READ_IS_FULL_RES) { -- DRM_ERROR("Extra flags set\n"); -+ DRM_DEBUG("Extra flags set\n"); - return -EINVAL; - } - -@@ -453,12 +453,12 @@ static int vc4_rcl_surface_setup(struct vc4_exec_info *exec, - - if (surf->flags & VC4_SUBMIT_RCL_SURFACE_READ_IS_FULL_RES) { - if (surf == &exec->args->zs_write) { -- DRM_ERROR("general zs write may not be a full-res.\n"); -+ DRM_DEBUG("general zs write may not be a full-res.\n"); - return -EINVAL; - } - - if (surf->bits != 0) { -- DRM_ERROR("load/store general bits set with " -+ DRM_DEBUG("load/store general bits set with " - "full res load/store.\n"); - return -EINVAL; - } -@@ -473,19 +473,19 @@ static int vc4_rcl_surface_setup(struct vc4_exec_info *exec, - if (surf->bits & ~(VC4_LOADSTORE_TILE_BUFFER_TILING_MASK | - VC4_LOADSTORE_TILE_BUFFER_BUFFER_MASK | - VC4_LOADSTORE_TILE_BUFFER_FORMAT_MASK)) { -- DRM_ERROR("Unknown bits in load/store: 0x%04x\n", -+ DRM_DEBUG("Unknown bits in load/store: 0x%04x\n", - surf->bits); - return -EINVAL; - } - - if (tiling > VC4_TILING_FORMAT_LT) { -- DRM_ERROR("Bad tiling format\n"); -+ DRM_DEBUG("Bad tiling format\n"); - return -EINVAL; - } - - if (buffer == VC4_LOADSTORE_TILE_BUFFER_ZS) { - if (format != 0) { -- DRM_ERROR("No color format should be set for ZS\n"); -+ DRM_DEBUG("No color format should be set for ZS\n"); - return -EINVAL; - } - cpp = 4; -@@ -499,16 +499,16 @@ static int vc4_rcl_surface_setup(struct vc4_exec_info *exec, - cpp = 4; - break; - default: -- DRM_ERROR("Bad tile buffer format\n"); -+ DRM_DEBUG("Bad tile buffer format\n"); - return -EINVAL; - } - } else { -- DRM_ERROR("Bad load/store buffer %d.\n", buffer); -+ DRM_DEBUG("Bad load/store buffer %d.\n", buffer); - return -EINVAL; - } - - if (surf->offset & 0xf) { -- DRM_ERROR("load/store buffer must be 16b aligned.\n"); -+ DRM_DEBUG("load/store buffer must be 16b aligned.\n"); - return -EINVAL; - } - -@@ -533,7 +533,7 @@ vc4_rcl_render_config_surface_setup(struct vc4_exec_info *exec, - int cpp; - - if (surf->flags != 0) { -- DRM_ERROR("No flags supported on render config.\n"); -+ DRM_DEBUG("No flags supported on render config.\n"); - return -EINVAL; - } - -@@ -541,7 +541,7 @@ vc4_rcl_render_config_surface_setup(struct vc4_exec_info *exec, - VC4_RENDER_CONFIG_FORMAT_MASK | - VC4_RENDER_CONFIG_MS_MODE_4X | - VC4_RENDER_CONFIG_DECIMATE_MODE_4X)) { -- DRM_ERROR("Unknown bits in render config: 0x%04x\n", -+ DRM_DEBUG("Unknown bits in render config: 0x%04x\n", - surf->bits); - return -EINVAL; - } -@@ -556,7 +556,7 @@ vc4_rcl_render_config_surface_setup(struct vc4_exec_info *exec, - exec->rcl_write_bo[exec->rcl_write_bo_count++] = *obj; - - if (tiling > VC4_TILING_FORMAT_LT) { -- DRM_ERROR("Bad tiling format\n"); -+ DRM_DEBUG("Bad tiling format\n"); - return -EINVAL; - } - -@@ -569,7 +569,7 @@ vc4_rcl_render_config_surface_setup(struct vc4_exec_info *exec, - cpp = 4; - break; - default: -- DRM_ERROR("Bad tile buffer format\n"); -+ DRM_DEBUG("Bad tile buffer format\n"); - return -EINVAL; - } - -@@ -590,7 +590,7 @@ int vc4_get_rcl(struct drm_device *dev, struct vc4_exec_info *exec) - - if (args->min_x_tile > args->max_x_tile || - args->min_y_tile > args->max_y_tile) { -- DRM_ERROR("Bad render tile set (%d,%d)-(%d,%d)\n", -+ DRM_DEBUG("Bad render tile set (%d,%d)-(%d,%d)\n", - args->min_x_tile, args->min_y_tile, - args->max_x_tile, args->max_y_tile); - return -EINVAL; -@@ -599,7 +599,7 @@ int vc4_get_rcl(struct drm_device *dev, struct vc4_exec_info *exec) - if (has_bin && - (args->max_x_tile > exec->bin_tiles_x || - args->max_y_tile > exec->bin_tiles_y)) { -- DRM_ERROR("Render tiles (%d,%d) outside of bin config " -+ DRM_DEBUG("Render tiles (%d,%d) outside of bin config " - "(%d,%d)\n", - args->max_x_tile, args->max_y_tile, - exec->bin_tiles_x, exec->bin_tiles_y); -@@ -642,7 +642,7 @@ int vc4_get_rcl(struct drm_device *dev, struct vc4_exec_info *exec) - */ - if (!setup.color_write && !setup.zs_write && - !setup.msaa_color_write && !setup.msaa_zs_write) { -- DRM_ERROR("RCL requires color or Z/S write\n"); -+ DRM_DEBUG("RCL requires color or Z/S write\n"); - return -EINVAL; - } - -diff --git a/drivers/gpu/drm/vc4/vc4_validate.c b/drivers/gpu/drm/vc4/vc4_validate.c -index 814b512c6b9a..2db485abb186 100644 ---- a/drivers/gpu/drm/vc4/vc4_validate.c -+++ b/drivers/gpu/drm/vc4/vc4_validate.c -@@ -109,7 +109,7 @@ vc4_use_bo(struct vc4_exec_info *exec, uint32_t hindex) - struct vc4_bo *bo; - - if (hindex >= exec->bo_count) { -- DRM_ERROR("BO index %d greater than BO count %d\n", -+ DRM_DEBUG("BO index %d greater than BO count %d\n", - hindex, exec->bo_count); - return NULL; - } -@@ -117,7 +117,7 @@ vc4_use_bo(struct vc4_exec_info *exec, uint32_t hindex) - bo = to_vc4_bo(&obj->base); - - if (bo->validated_shader) { -- DRM_ERROR("Trying to use shader BO as something other than " -+ DRM_DEBUG("Trying to use shader BO as something other than " - "a shader\n"); - return NULL; - } -@@ -172,7 +172,7 @@ vc4_check_tex_size(struct vc4_exec_info *exec, struct drm_gem_cma_object *fbo, - * our math. - */ - if (width > 4096 || height > 4096) { -- DRM_ERROR("Surface dimensions (%d,%d) too large", -+ DRM_DEBUG("Surface dimensions (%d,%d) too large", - width, height); - return false; - } -@@ -191,7 +191,7 @@ vc4_check_tex_size(struct vc4_exec_info *exec, struct drm_gem_cma_object *fbo, - aligned_height = round_up(height, utile_h); - break; - default: -- DRM_ERROR("buffer tiling %d unsupported\n", tiling_format); -+ DRM_DEBUG("buffer tiling %d unsupported\n", tiling_format); - return false; - } - -@@ -200,7 +200,7 @@ vc4_check_tex_size(struct vc4_exec_info *exec, struct drm_gem_cma_object *fbo, - - if (size + offset < size || - size + offset > fbo->base.size) { -- DRM_ERROR("Overflow in %dx%d (%dx%d) fbo size (%d + %d > %zd)\n", -+ DRM_DEBUG("Overflow in %dx%d (%dx%d) fbo size (%d + %d > %zd)\n", - width, height, - aligned_width, aligned_height, - size, offset, fbo->base.size); -@@ -214,7 +214,7 @@ static int - validate_flush(VALIDATE_ARGS) - { - if (!validate_bin_pos(exec, untrusted, exec->args->bin_cl_size - 1)) { -- DRM_ERROR("Bin CL must end with VC4_PACKET_FLUSH\n"); -+ DRM_DEBUG("Bin CL must end with VC4_PACKET_FLUSH\n"); - return -EINVAL; - } - exec->found_flush = true; -@@ -226,13 +226,13 @@ static int - validate_start_tile_binning(VALIDATE_ARGS) - { - if (exec->found_start_tile_binning_packet) { -- DRM_ERROR("Duplicate VC4_PACKET_START_TILE_BINNING\n"); -+ DRM_DEBUG("Duplicate VC4_PACKET_START_TILE_BINNING\n"); - return -EINVAL; - } - exec->found_start_tile_binning_packet = true; - - if (!exec->found_tile_binning_mode_config_packet) { -- DRM_ERROR("missing VC4_PACKET_TILE_BINNING_MODE_CONFIG\n"); -+ DRM_DEBUG("missing VC4_PACKET_TILE_BINNING_MODE_CONFIG\n"); - return -EINVAL; - } - -@@ -243,7 +243,7 @@ static int - validate_increment_semaphore(VALIDATE_ARGS) - { - if (!validate_bin_pos(exec, untrusted, exec->args->bin_cl_size - 2)) { -- DRM_ERROR("Bin CL must end with " -+ DRM_DEBUG("Bin CL must end with " - "VC4_PACKET_INCREMENT_SEMAPHORE\n"); - return -EINVAL; - } -@@ -264,7 +264,7 @@ validate_indexed_prim_list(VALIDATE_ARGS) - - /* Check overflow condition */ - if (exec->shader_state_count == 0) { -- DRM_ERROR("shader state must precede primitives\n"); -+ DRM_DEBUG("shader state must precede primitives\n"); - return -EINVAL; - } - shader_state = &exec->shader_state[exec->shader_state_count - 1]; -@@ -281,7 +281,7 @@ validate_indexed_prim_list(VALIDATE_ARGS) - - if (offset > ib->base.size || - (ib->base.size - offset) / index_size < length) { -- DRM_ERROR("IB access overflow (%d + %d*%d > %zd)\n", -+ DRM_DEBUG("IB access overflow (%d + %d*%d > %zd)\n", - offset, length, index_size, ib->base.size); - return -EINVAL; - } -@@ -301,13 +301,13 @@ validate_gl_array_primitive(VALIDATE_ARGS) - - /* Check overflow condition */ - if (exec->shader_state_count == 0) { -- DRM_ERROR("shader state must precede primitives\n"); -+ DRM_DEBUG("shader state must precede primitives\n"); - return -EINVAL; - } - shader_state = &exec->shader_state[exec->shader_state_count - 1]; - - if (length + base_index < length) { -- DRM_ERROR("primitive vertex count overflow\n"); -+ DRM_DEBUG("primitive vertex count overflow\n"); - return -EINVAL; - } - max_index = length + base_index - 1; -@@ -324,7 +324,7 @@ validate_gl_shader_state(VALIDATE_ARGS) - uint32_t i = exec->shader_state_count++; - - if (i >= exec->shader_state_size) { -- DRM_ERROR("More requests for shader states than declared\n"); -+ DRM_DEBUG("More requests for shader states than declared\n"); - return -EINVAL; - } - -@@ -332,7 +332,7 @@ validate_gl_shader_state(VALIDATE_ARGS) - exec->shader_state[i].max_index = 0; - - if (exec->shader_state[i].addr & ~0xf) { -- DRM_ERROR("high bits set in GL shader rec reference\n"); -+ DRM_DEBUG("high bits set in GL shader rec reference\n"); - return -EINVAL; - } - -@@ -356,7 +356,7 @@ validate_tile_binning_config(VALIDATE_ARGS) - int bin_slot; - - if (exec->found_tile_binning_mode_config_packet) { -- DRM_ERROR("Duplicate VC4_PACKET_TILE_BINNING_MODE_CONFIG\n"); -+ DRM_DEBUG("Duplicate VC4_PACKET_TILE_BINNING_MODE_CONFIG\n"); - return -EINVAL; - } - exec->found_tile_binning_mode_config_packet = true; -@@ -368,14 +368,14 @@ validate_tile_binning_config(VALIDATE_ARGS) - - if (exec->bin_tiles_x == 0 || - exec->bin_tiles_y == 0) { -- DRM_ERROR("Tile binning config of %dx%d too small\n", -+ DRM_DEBUG("Tile binning config of %dx%d too small\n", - exec->bin_tiles_x, exec->bin_tiles_y); - return -EINVAL; - } - - if (flags & (VC4_BIN_CONFIG_DB_NON_MS | - VC4_BIN_CONFIG_TILE_BUFFER_64BIT)) { -- DRM_ERROR("unsupported binning config flags 0x%02x\n", flags); -+ DRM_DEBUG("unsupported binning config flags 0x%02x\n", flags); - return -EINVAL; - } - -@@ -493,20 +493,20 @@ vc4_validate_bin_cl(struct drm_device *dev, - const struct cmd_info *info; - - if (cmd >= ARRAY_SIZE(cmd_info)) { -- DRM_ERROR("0x%08x: packet %d out of bounds\n", -+ DRM_DEBUG("0x%08x: packet %d out of bounds\n", - src_offset, cmd); - return -EINVAL; - } - - info = &cmd_info[cmd]; - if (!info->name) { -- DRM_ERROR("0x%08x: packet %d invalid\n", -+ DRM_DEBUG("0x%08x: packet %d invalid\n", - src_offset, cmd); - return -EINVAL; - } - - if (src_offset + info->len > len) { -- DRM_ERROR("0x%08x: packet %d (%s) length 0x%08x " -+ DRM_DEBUG("0x%08x: packet %d (%s) length 0x%08x " - "exceeds bounds (0x%08x)\n", - src_offset, cmd, info->name, info->len, - src_offset + len); -@@ -519,7 +519,7 @@ vc4_validate_bin_cl(struct drm_device *dev, - if (info->func && info->func(exec, - dst_pkt + 1, - src_pkt + 1)) { -- DRM_ERROR("0x%08x: packet %d (%s) failed to validate\n", -+ DRM_DEBUG("0x%08x: packet %d (%s) failed to validate\n", - src_offset, cmd, info->name); - return -EINVAL; - } -@@ -537,7 +537,7 @@ vc4_validate_bin_cl(struct drm_device *dev, - exec->ct0ea = exec->ct0ca + dst_offset; - - if (!exec->found_start_tile_binning_packet) { -- DRM_ERROR("Bin CL missing VC4_PACKET_START_TILE_BINNING\n"); -+ DRM_DEBUG("Bin CL missing VC4_PACKET_START_TILE_BINNING\n"); - return -EINVAL; - } - -@@ -549,7 +549,7 @@ vc4_validate_bin_cl(struct drm_device *dev, - * semaphore increment. - */ - if (!exec->found_increment_semaphore_packet || !exec->found_flush) { -- DRM_ERROR("Bin CL missing VC4_PACKET_INCREMENT_SEMAPHORE + " -+ DRM_DEBUG("Bin CL missing VC4_PACKET_INCREMENT_SEMAPHORE + " - "VC4_PACKET_FLUSH\n"); - return -EINVAL; - } -@@ -588,11 +588,11 @@ reloc_tex(struct vc4_exec_info *exec, - uint32_t remaining_size = tex->base.size - p0; - - if (p0 > tex->base.size - 4) { -- DRM_ERROR("UBO offset greater than UBO size\n"); -+ DRM_DEBUG("UBO offset greater than UBO size\n"); - goto fail; - } - if (p1 > remaining_size - 4) { -- DRM_ERROR("UBO clamp would allow reads " -+ DRM_DEBUG("UBO clamp would allow reads " - "outside of UBO\n"); - goto fail; - } -@@ -612,14 +612,14 @@ reloc_tex(struct vc4_exec_info *exec, - if (VC4_GET_FIELD(p3, VC4_TEX_P2_PTYPE) == - VC4_TEX_P2_PTYPE_CUBE_MAP_STRIDE) { - if (cube_map_stride) { -- DRM_ERROR("Cube map stride set twice\n"); -+ DRM_DEBUG("Cube map stride set twice\n"); - goto fail; - } - - cube_map_stride = p3 & VC4_TEX_P2_CMST_MASK; - } - if (!cube_map_stride) { -- DRM_ERROR("Cube map stride not set\n"); -+ DRM_DEBUG("Cube map stride not set\n"); - goto fail; - } - } -@@ -660,7 +660,7 @@ reloc_tex(struct vc4_exec_info *exec, - case VC4_TEXTURE_TYPE_RGBA64: - case VC4_TEXTURE_TYPE_YUV422R: - default: -- DRM_ERROR("Texture format %d unsupported\n", type); -+ DRM_DEBUG("Texture format %d unsupported\n", type); - goto fail; - } - utile_w = utile_width(cpp); -@@ -713,7 +713,7 @@ reloc_tex(struct vc4_exec_info *exec, - level_size = aligned_width * cpp * aligned_height; - - if (offset < level_size) { -- DRM_ERROR("Level %d (%dx%d -> %dx%d) size %db " -+ DRM_DEBUG("Level %d (%dx%d -> %dx%d) size %db " - "overflowed buffer bounds (offset %d)\n", - i, level_width, level_height, - aligned_width, aligned_height, -@@ -764,7 +764,7 @@ validate_gl_shader_rec(struct drm_device *dev, - - nr_relocs = ARRAY_SIZE(shader_reloc_offsets) + nr_attributes; - if (nr_relocs * 4 > exec->shader_rec_size) { -- DRM_ERROR("overflowed shader recs reading %d handles " -+ DRM_DEBUG("overflowed shader recs reading %d handles " - "from %d bytes left\n", - nr_relocs, exec->shader_rec_size); - return -EINVAL; -@@ -774,7 +774,7 @@ validate_gl_shader_rec(struct drm_device *dev, - exec->shader_rec_size -= nr_relocs * 4; - - if (packet_size > exec->shader_rec_size) { -- DRM_ERROR("overflowed shader recs copying %db packet " -+ DRM_DEBUG("overflowed shader recs copying %db packet " - "from %d bytes left\n", - packet_size, exec->shader_rec_size); - return -EINVAL; -@@ -794,7 +794,7 @@ validate_gl_shader_rec(struct drm_device *dev, - - for (i = 0; i < shader_reloc_count; i++) { - if (src_handles[i] > exec->bo_count) { -- DRM_ERROR("Shader handle %d too big\n", src_handles[i]); -+ DRM_DEBUG("Shader handle %d too big\n", src_handles[i]); - return -EINVAL; - } - -@@ -810,13 +810,13 @@ validate_gl_shader_rec(struct drm_device *dev, - - if (((*(uint16_t *)pkt_u & VC4_SHADER_FLAG_FS_SINGLE_THREAD) == 0) != - to_vc4_bo(&bo[0]->base)->validated_shader->is_threaded) { -- DRM_ERROR("Thread mode of CL and FS do not match\n"); -+ DRM_DEBUG("Thread mode of CL and FS do not match\n"); - return -EINVAL; - } - - if (to_vc4_bo(&bo[1]->base)->validated_shader->is_threaded || - to_vc4_bo(&bo[2]->base)->validated_shader->is_threaded) { -- DRM_ERROR("cs and vs cannot be threaded\n"); -+ DRM_DEBUG("cs and vs cannot be threaded\n"); - return -EINVAL; - } - -@@ -831,7 +831,7 @@ validate_gl_shader_rec(struct drm_device *dev, - *(uint32_t *)(pkt_v + o) = bo[i]->paddr + src_offset; - - if (src_offset != 0) { -- DRM_ERROR("Shaders must be at offset 0 of " -+ DRM_DEBUG("Shaders must be at offset 0 of " - "the BO.\n"); - return -EINVAL; - } -@@ -842,7 +842,7 @@ validate_gl_shader_rec(struct drm_device *dev, - - if (validated_shader->uniforms_src_size > - exec->uniforms_size) { -- DRM_ERROR("Uniforms src buffer overflow\n"); -+ DRM_DEBUG("Uniforms src buffer overflow\n"); - return -EINVAL; - } - -@@ -900,7 +900,7 @@ validate_gl_shader_rec(struct drm_device *dev, - - if (vbo->base.size < offset || - vbo->base.size - offset < attr_size) { -- DRM_ERROR("BO offset overflow (%d + %d > %zu)\n", -+ DRM_DEBUG("BO offset overflow (%d + %d > %zu)\n", - offset, attr_size, vbo->base.size); - return -EINVAL; - } -@@ -909,7 +909,7 @@ validate_gl_shader_rec(struct drm_device *dev, - max_index = ((vbo->base.size - offset - attr_size) / - stride); - if (state->max_index > max_index) { -- DRM_ERROR("primitives use index %d out of " -+ DRM_DEBUG("primitives use index %d out of " - "supplied %d\n", - state->max_index, max_index); - return -EINVAL; -diff --git a/drivers/gpu/drm/vc4/vc4_validate_shaders.c b/drivers/gpu/drm/vc4/vc4_validate_shaders.c -index 0b2df5c6efb4..d3f15bf60900 100644 ---- a/drivers/gpu/drm/vc4/vc4_validate_shaders.c -+++ b/drivers/gpu/drm/vc4/vc4_validate_shaders.c -@@ -200,7 +200,7 @@ check_tmu_write(struct vc4_validated_shader_info *validated_shader, - uint32_t clamp_reg, clamp_offset; - - if (sig == QPU_SIG_SMALL_IMM) { -- DRM_ERROR("direct TMU read used small immediate\n"); -+ DRM_DEBUG("direct TMU read used small immediate\n"); - return false; - } - -@@ -209,7 +209,7 @@ check_tmu_write(struct vc4_validated_shader_info *validated_shader, - */ - if (is_mul || - QPU_GET_FIELD(inst, QPU_OP_ADD) != QPU_A_ADD) { -- DRM_ERROR("direct TMU load wasn't an add\n"); -+ DRM_DEBUG("direct TMU load wasn't an add\n"); - return false; - } - -@@ -220,13 +220,13 @@ check_tmu_write(struct vc4_validated_shader_info *validated_shader, - */ - clamp_reg = raddr_add_a_to_live_reg_index(inst); - if (clamp_reg == ~0) { -- DRM_ERROR("direct TMU load wasn't clamped\n"); -+ DRM_DEBUG("direct TMU load wasn't clamped\n"); - return false; - } - - clamp_offset = validation_state->live_min_clamp_offsets[clamp_reg]; - if (clamp_offset == ~0) { -- DRM_ERROR("direct TMU load wasn't clamped\n"); -+ DRM_DEBUG("direct TMU load wasn't clamped\n"); - return false; - } - -@@ -238,7 +238,7 @@ check_tmu_write(struct vc4_validated_shader_info *validated_shader, - - if (!(add_b == QPU_MUX_A && raddr_a == QPU_R_UNIF) && - !(add_b == QPU_MUX_B && raddr_b == QPU_R_UNIF)) { -- DRM_ERROR("direct TMU load didn't add to a uniform\n"); -+ DRM_DEBUG("direct TMU load didn't add to a uniform\n"); - return false; - } - -@@ -246,14 +246,14 @@ check_tmu_write(struct vc4_validated_shader_info *validated_shader, - } else { - if (raddr_a == QPU_R_UNIF || (sig != QPU_SIG_SMALL_IMM && - raddr_b == QPU_R_UNIF)) { -- DRM_ERROR("uniform read in the same instruction as " -+ DRM_DEBUG("uniform read in the same instruction as " - "texture setup.\n"); - return false; - } - } - - if (validation_state->tmu_write_count[tmu] >= 4) { -- DRM_ERROR("TMU%d got too many parameters before dispatch\n", -+ DRM_DEBUG("TMU%d got too many parameters before dispatch\n", - tmu); - return false; - } -@@ -265,7 +265,7 @@ check_tmu_write(struct vc4_validated_shader_info *validated_shader, - */ - if (!is_direct) { - if (validation_state->needs_uniform_address_update) { -- DRM_ERROR("Texturing with undefined uniform address\n"); -+ DRM_DEBUG("Texturing with undefined uniform address\n"); - return false; - } - -@@ -336,35 +336,35 @@ validate_uniform_address_write(struct vc4_validated_shader_info *validated_shade - case QPU_SIG_LOAD_TMU1: - break; - default: -- DRM_ERROR("uniforms address change must be " -+ DRM_DEBUG("uniforms address change must be " - "normal math\n"); - return false; - } - - if (is_mul || QPU_GET_FIELD(inst, QPU_OP_ADD) != QPU_A_ADD) { -- DRM_ERROR("Uniform address reset must be an ADD.\n"); -+ DRM_DEBUG("Uniform address reset must be an ADD.\n"); - return false; - } - - if (QPU_GET_FIELD(inst, QPU_COND_ADD) != QPU_COND_ALWAYS) { -- DRM_ERROR("Uniform address reset must be unconditional.\n"); -+ DRM_DEBUG("Uniform address reset must be unconditional.\n"); - return false; - } - - if (QPU_GET_FIELD(inst, QPU_PACK) != QPU_PACK_A_NOP && - !(inst & QPU_PM)) { -- DRM_ERROR("No packing allowed on uniforms reset\n"); -+ DRM_DEBUG("No packing allowed on uniforms reset\n"); - return false; - } - - if (add_lri == -1) { -- DRM_ERROR("First argument of uniform address write must be " -+ DRM_DEBUG("First argument of uniform address write must be " - "an immediate value.\n"); - return false; - } - - if (validation_state->live_immediates[add_lri] != expected_offset) { -- DRM_ERROR("Resetting uniforms with offset %db instead of %db\n", -+ DRM_DEBUG("Resetting uniforms with offset %db instead of %db\n", - validation_state->live_immediates[add_lri], - expected_offset); - return false; -@@ -372,7 +372,7 @@ validate_uniform_address_write(struct vc4_validated_shader_info *validated_shade - - if (!(add_b == QPU_MUX_A && raddr_a == QPU_R_UNIF) && - !(add_b == QPU_MUX_B && raddr_b == QPU_R_UNIF)) { -- DRM_ERROR("Second argument of uniform address write must be " -+ DRM_DEBUG("Second argument of uniform address write must be " - "a uniform.\n"); - return false; - } -@@ -417,7 +417,7 @@ check_reg_write(struct vc4_validated_shader_info *validated_shader, - switch (waddr) { - case QPU_W_UNIFORMS_ADDRESS: - if (is_b) { -- DRM_ERROR("relative uniforms address change " -+ DRM_DEBUG("relative uniforms address change " - "unsupported\n"); - return false; - } -@@ -452,11 +452,11 @@ check_reg_write(struct vc4_validated_shader_info *validated_shader, - /* XXX: I haven't thought about these, so don't support them - * for now. - */ -- DRM_ERROR("Unsupported waddr %d\n", waddr); -+ DRM_DEBUG("Unsupported waddr %d\n", waddr); - return false; - - case QPU_W_VPM_ADDR: -- DRM_ERROR("General VPM DMA unsupported\n"); -+ DRM_DEBUG("General VPM DMA unsupported\n"); - return false; - - case QPU_W_VPM: -@@ -559,7 +559,7 @@ check_instruction_writes(struct vc4_validated_shader_info *validated_shader, - bool ok; - - if (is_tmu_write(waddr_add) && is_tmu_write(waddr_mul)) { -- DRM_ERROR("ADD and MUL both set up textures\n"); -+ DRM_DEBUG("ADD and MUL both set up textures\n"); - return false; - } - -@@ -588,7 +588,7 @@ check_branch(uint64_t inst, - * there's no need for it. - */ - if (waddr_add != QPU_W_NOP || waddr_mul != QPU_W_NOP) { -- DRM_ERROR("branch instruction at %d wrote a register.\n", -+ DRM_DEBUG("branch instruction at %d wrote a register.\n", - validation_state->ip); - return false; - } -@@ -614,7 +614,7 @@ check_instruction_reads(struct vc4_validated_shader_info *validated_shader, - validated_shader->uniforms_size += 4; - - if (validation_state->needs_uniform_address_update) { -- DRM_ERROR("Uniform read with undefined uniform " -+ DRM_DEBUG("Uniform read with undefined uniform " - "address\n"); - return false; - } -@@ -660,19 +660,19 @@ vc4_validate_branches(struct vc4_shader_validation_state *validation_state) - continue; - - if (ip - last_branch < 4) { -- DRM_ERROR("Branch at %d during delay slots\n", ip); -+ DRM_DEBUG("Branch at %d during delay slots\n", ip); - return false; - } - last_branch = ip; - - if (inst & QPU_BRANCH_REG) { -- DRM_ERROR("branching from register relative " -+ DRM_DEBUG("branching from register relative " - "not supported\n"); - return false; - } - - if (!(inst & QPU_BRANCH_REL)) { -- DRM_ERROR("relative branching required\n"); -+ DRM_DEBUG("relative branching required\n"); - return false; - } - -@@ -682,13 +682,13 @@ vc4_validate_branches(struct vc4_shader_validation_state *validation_state) - * end of the shader object. - */ - if (branch_imm % sizeof(inst) != 0) { -- DRM_ERROR("branch target not aligned\n"); -+ DRM_DEBUG("branch target not aligned\n"); - return false; - } - - branch_target_ip = after_delay_ip + (branch_imm >> 3); - if (branch_target_ip >= validation_state->max_ip) { -- DRM_ERROR("Branch at %d outside of shader (ip %d/%d)\n", -+ DRM_DEBUG("Branch at %d outside of shader (ip %d/%d)\n", - ip, branch_target_ip, - validation_state->max_ip); - return false; -@@ -699,7 +699,7 @@ vc4_validate_branches(struct vc4_shader_validation_state *validation_state) - * the shader. - */ - if (after_delay_ip >= validation_state->max_ip) { -- DRM_ERROR("Branch at %d continues past shader end " -+ DRM_DEBUG("Branch at %d continues past shader end " - "(%d/%d)\n", - ip, after_delay_ip, validation_state->max_ip); - return false; -@@ -709,7 +709,7 @@ vc4_validate_branches(struct vc4_shader_validation_state *validation_state) - } - - if (max_branch_target > validation_state->max_ip - 3) { -- DRM_ERROR("Branch landed after QPU_SIG_PROG_END"); -+ DRM_DEBUG("Branch landed after QPU_SIG_PROG_END"); - return false; - } - -@@ -750,7 +750,7 @@ vc4_handle_branch_target(struct vc4_shader_validation_state *validation_state) - return true; - - if (texturing_in_progress(validation_state)) { -- DRM_ERROR("Branch target landed during TMU setup\n"); -+ DRM_DEBUG("Branch target landed during TMU setup\n"); - return false; - } - -@@ -837,7 +837,7 @@ vc4_validate_shader(struct drm_gem_cma_object *shader_obj) - case QPU_SIG_LAST_THREAD_SWITCH: - if (!check_instruction_writes(validated_shader, - &validation_state)) { -- DRM_ERROR("Bad write at ip %d\n", ip); -+ DRM_DEBUG("Bad write at ip %d\n", ip); - goto fail; - } - -@@ -855,7 +855,7 @@ vc4_validate_shader(struct drm_gem_cma_object *shader_obj) - validated_shader->is_threaded = true; - - if (ip < last_thread_switch_ip + 3) { -- DRM_ERROR("Thread switch too soon after " -+ DRM_DEBUG("Thread switch too soon after " - "last switch at ip %d\n", ip); - goto fail; - } -@@ -867,7 +867,7 @@ vc4_validate_shader(struct drm_gem_cma_object *shader_obj) - case QPU_SIG_LOAD_IMM: - if (!check_instruction_writes(validated_shader, - &validation_state)) { -- DRM_ERROR("Bad LOAD_IMM write at ip %d\n", ip); -+ DRM_DEBUG("Bad LOAD_IMM write at ip %d\n", ip); - goto fail; - } - break; -@@ -878,14 +878,14 @@ vc4_validate_shader(struct drm_gem_cma_object *shader_obj) - goto fail; - - if (ip < last_thread_switch_ip + 3) { -- DRM_ERROR("Branch in thread switch at ip %d", -+ DRM_DEBUG("Branch in thread switch at ip %d", - ip); - goto fail; - } - - break; - default: -- DRM_ERROR("Unsupported QPU signal %d at " -+ DRM_DEBUG("Unsupported QPU signal %d at " - "instruction %d\n", sig, ip); - goto fail; - } -@@ -898,7 +898,7 @@ vc4_validate_shader(struct drm_gem_cma_object *shader_obj) - } - - if (ip == validation_state.max_ip) { -- DRM_ERROR("shader failed to terminate before " -+ DRM_DEBUG("shader failed to terminate before " - "shader BO end at %zd\n", - shader_obj->base.size); - goto fail; -@@ -907,7 +907,7 @@ vc4_validate_shader(struct drm_gem_cma_object *shader_obj) - /* Might corrupt other thread */ - if (validated_shader->is_threaded && - validation_state.all_registers_used) { -- DRM_ERROR("Shader uses threading, but uses the upper " -+ DRM_DEBUG("Shader uses threading, but uses the upper " - "half of the registers, too\n"); - goto fail; - } --- -2.13.5 - -From 28b369f5abc790f56e668869d88f261ca7a27c55 Mon Sep 17 00:00:00 2001 -From: Eric Anholt <eric@anholt.net> -Date: Tue, 8 Aug 2017 13:56:05 -0700 -Subject: [PATCH 2/6] drm/vc4: Fix leak of HDMI EDID - -We don't keep a pointer to it around anywhere, so it's our job to free -it. - -Cc: Stefan Wahren <stefan.wahren@i2se.com> -Link: https://github.com/anholt/linux/issues/101 -Fixes: c8b75bca92cb ("drm/vc4: Add KMS support for Raspberry Pi.") -Signed-off-by: Eric Anholt <eric@anholt.net> -Link: https://patchwork.freedesktop.org/patch/msgid/20170808205605.4432-1-eric@anholt.net -Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> -Tested-by: Stefan Wahren <stefan.wahren@i2se.com> ---- - drivers/gpu/drm/vc4/vc4_hdmi.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c -index ed63d4e85762..f7803fd7f47c 100644 ---- a/drivers/gpu/drm/vc4/vc4_hdmi.c -+++ b/drivers/gpu/drm/vc4/vc4_hdmi.c -@@ -260,6 +260,7 @@ static int vc4_hdmi_connector_get_modes(struct drm_connector *connector) - drm_mode_connector_update_edid_property(connector, edid); - ret = drm_add_edid_modes(connector, edid); - drm_edid_to_eld(connector, edid); -+ kfree(edid); - - return ret; - } --- -2.13.5 - -From 3b688b6d347f777a8e86165decc33198b063b8c0 Mon Sep 17 00:00:00 2001 -From: Eric Anholt <eric@anholt.net> -Date: Tue, 25 Jul 2017 11:27:16 -0700 -Subject: [PATCH 3/6] drm/vc4: Start using u64_to_user_ptr. - -Chris Wilson pointed out this little cleanup in a review of new code, -so let's fix up the code I was copying from. - -Signed-off-by: Eric Anholt <eric@anholt.net> -Link: https://patchwork.freedesktop.org/patch/msgid/20170725182718.31468-1-eric@anholt.net -Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> ---- - drivers/gpu/drm/vc4/vc4_gem.c | 11 +++++------ - 1 file changed, 5 insertions(+), 6 deletions(-) - -diff --git a/drivers/gpu/drm/vc4/vc4_gem.c b/drivers/gpu/drm/vc4/vc4_gem.c -index a3e45e67f417..8b551bc630c4 100644 ---- a/drivers/gpu/drm/vc4/vc4_gem.c -+++ b/drivers/gpu/drm/vc4/vc4_gem.c -@@ -119,7 +119,7 @@ vc4_get_hang_state_ioctl(struct drm_device *dev, void *data, - bo_state[i].size = vc4_bo->base.base.size; - } - -- if (copy_to_user((void __user *)(uintptr_t)get_state->bo, -+ if (copy_to_user(u64_to_user_ptr(get_state->bo), - bo_state, - state->bo_count * sizeof(*bo_state))) - ret = -EFAULT; -@@ -678,8 +678,7 @@ vc4_cl_lookup_bos(struct drm_device *dev, - goto fail; - } - -- if (copy_from_user(handles, -- (void __user *)(uintptr_t)args->bo_handles, -+ if (copy_from_user(handles, u64_to_user_ptr(args->bo_handles), - exec->bo_count * sizeof(uint32_t))) { - ret = -EFAULT; - DRM_ERROR("Failed to copy in GEM handles\n"); -@@ -755,21 +754,21 @@ vc4_get_bcl(struct drm_device *dev, struct vc4_exec_info *exec) - exec->shader_state_size = args->shader_rec_count; - - if (copy_from_user(bin, -- (void __user *)(uintptr_t)args->bin_cl, -+ u64_to_user_ptr(args->bin_cl), - args->bin_cl_size)) { - ret = -EFAULT; - goto fail; - } - - if (copy_from_user(exec->shader_rec_u, -- (void __user *)(uintptr_t)args->shader_rec, -+ u64_to_user_ptr(args->shader_rec), - args->shader_rec_size)) { - ret = -EFAULT; - goto fail; - } - - if (copy_from_user(exec->uniforms_u, -- (void __user *)(uintptr_t)args->uniforms, -+ u64_to_user_ptr(args->uniforms), - args->uniforms_size)) { - ret = -EFAULT; - goto fail; --- -2.13.5 - -From da81d76bce216c160d2924a52e362b160bbb6ca1 Mon Sep 17 00:00:00 2001 -From: Eric Anholt <eric@anholt.net> -Date: Tue, 25 Jul 2017 11:27:17 -0700 -Subject: [PATCH 4/6] drm/vc4: Add an ioctl for labeling GEM BOs for summary - stats - -This has proven immensely useful for debugging memory leaks and -overallocation (which is a rather serious concern on the platform, -given that we typically run at about 256MB of CMA out of up to 1GB -total memory, with framebuffers that are about 8MB ecah). - -The state of the art without this is to dump debug logs from every GL -application, guess as to kernel allocations based on bo_stats, and try -to merge that all together into a global picture of memory allocation -state. With this, you can add a couple of calls to the debug build of -the 3D driver and get a pretty detailed view of GPU memory usage from -/debug/dri/0/bo_stats (or when we debug print to dmesg on allocation -failure). - -The Mesa side currently labels at the gallium resource level (so you -see that a 1920x20 pixmap has been created, presumably for the window -system panel), but we could extend that to be even more useful with -glObjectLabel() names being sent all the way down to the kernel. - -(partial) example of sorted debugfs output with Mesa labeling all -resources: - - kernel BO cache: 16392kb BOs (3) - tiling shadow 1920x1080: 8160kb BOs (1) - resource 1920x1080@32/0: 8160kb BOs (1) -scanout resource 1920x1080@32/0: 8100kb BOs (1) - kernel: 8100kb BOs (1) - -v2: Use strndup_user(), use lockdep assertion instead of just a - comment, fix an array[-1] reference, extend comment about name - freeing. - -Signed-off-by: Eric Anholt <eric@anholt.net> -Link: https://patchwork.freedesktop.org/patch/msgid/20170725182718.31468-2-eric@anholt.net -Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> ---- - drivers/gpu/drm/vc4/vc4_bo.c | 258 ++++++++++++++++++++++++++++-------- - drivers/gpu/drm/vc4/vc4_drv.c | 8 +- - drivers/gpu/drm/vc4/vc4_drv.h | 39 +++++- - drivers/gpu/drm/vc4/vc4_gem.c | 2 +- - drivers/gpu/drm/vc4/vc4_render_cl.c | 2 +- - drivers/gpu/drm/vc4/vc4_v3d.c | 3 +- - include/uapi/drm/vc4_drm.h | 11 ++ - 7 files changed, 257 insertions(+), 66 deletions(-) - -diff --git a/drivers/gpu/drm/vc4/vc4_bo.c b/drivers/gpu/drm/vc4/vc4_bo.c -index ede80199001d..27c4a927311f 100644 ---- a/drivers/gpu/drm/vc4/vc4_bo.c -+++ b/drivers/gpu/drm/vc4/vc4_bo.c -@@ -24,21 +24,35 @@ - #include "vc4_drv.h" - #include "uapi/drm/vc4_drm.h" - -+static const char * const bo_type_names[] = { -+ "kernel", -+ "V3D", -+ "V3D shader", -+ "dumb", -+ "binner", -+ "RCL", -+ "BCL", -+ "kernel BO cache", -+}; -+ -+static bool is_user_label(int label) -+{ -+ return label >= VC4_BO_TYPE_COUNT; -+} -+ - static void vc4_bo_stats_dump(struct vc4_dev *vc4) - { -- DRM_INFO("num bos allocated: %d\n", -- vc4->bo_stats.num_allocated); -- DRM_INFO("size bos allocated: %dkb\n", -- vc4->bo_stats.size_allocated / 1024); -- DRM_INFO("num bos used: %d\n", -- vc4->bo_stats.num_allocated - vc4->bo_stats.num_cached); -- DRM_INFO("size bos used: %dkb\n", -- (vc4->bo_stats.size_allocated - -- vc4->bo_stats.size_cached) / 1024); -- DRM_INFO("num bos cached: %d\n", -- vc4->bo_stats.num_cached); -- DRM_INFO("size bos cached: %dkb\n", -- vc4->bo_stats.size_cached / 1024); -+ int i; -+ -+ for (i = 0; i < vc4->num_labels; i++) { -+ if (!vc4->bo_labels[i].num_allocated) -+ continue; -+ -+ DRM_INFO("%30s: %6dkb BOs (%d)\n", -+ vc4->bo_labels[i].name, -+ vc4->bo_labels[i].size_allocated / 1024, -+ vc4->bo_labels[i].num_allocated); -+ } - } - - #ifdef CONFIG_DEBUG_FS -@@ -47,30 +61,103 @@ int vc4_bo_stats_debugfs(struct seq_file *m, void *unused) - struct drm_info_node *node = (struct drm_info_node *)m->private; - struct drm_device *dev = node->minor->dev; - struct vc4_dev *vc4 = to_vc4_dev(dev); -- struct vc4_bo_stats stats; -+ int i; - -- /* Take a snapshot of the current stats with the lock held. */ - mutex_lock(&vc4->bo_lock); -- stats = vc4->bo_stats; -+ for (i = 0; i < vc4->num_labels; i++) { -+ if (!vc4->bo_labels[i].num_allocated) -+ continue; -+ -+ seq_printf(m, "%30s: %6dkb BOs (%d)\n", -+ vc4->bo_labels[i].name, -+ vc4->bo_labels[i].size_allocated / 1024, -+ vc4->bo_labels[i].num_allocated); -+ } - mutex_unlock(&vc4->bo_lock); - -- seq_printf(m, "num bos allocated: %d\n", -- stats.num_allocated); -- seq_printf(m, "size bos allocated: %dkb\n", -- stats.size_allocated / 1024); -- seq_printf(m, "num bos used: %d\n", -- stats.num_allocated - stats.num_cached); -- seq_printf(m, "size bos used: %dkb\n", -- (stats.size_allocated - stats.size_cached) / 1024); -- seq_printf(m, "num bos cached: %d\n", -- stats.num_cached); -- seq_printf(m, "size bos cached: %dkb\n", -- stats.size_cached / 1024); -- - return 0; - } - #endif - -+/* Takes ownership of *name and returns the appropriate slot for it in -+ * the bo_labels[] array, extending it as necessary. -+ * -+ * This is inefficient and could use a hash table instead of walking -+ * an array and strcmp()ing. However, the assumption is that user -+ * labeling will be infrequent (scanout buffers and other long-lived -+ * objects, or debug driver builds), so we can live with it for now. -+ */ -+static int vc4_get_user_label(struct vc4_dev *vc4, const char *name) -+{ -+ int i; -+ int free_slot = -1; -+ -+ for (i = 0; i < vc4->num_labels; i++) { -+ if (!vc4->bo_labels[i].name) { -+ free_slot = i; -+ } else if (strcmp(vc4->bo_labels[i].name, name) == 0) { -+ kfree(name); -+ return i; -+ } -+ } -+ -+ if (free_slot != -1) { -+ WARN_ON(vc4->bo_labels[free_slot].num_allocated != 0); -+ vc4->bo_labels[free_slot].name = name; -+ return free_slot; -+ } else { -+ u32 new_label_count = vc4->num_labels + 1; -+ struct vc4_label *new_labels = -+ krealloc(vc4->bo_labels, -+ new_label_count * sizeof(*new_labels), -+ GFP_KERNEL); -+ -+ if (!new_labels) { -+ kfree(name); -+ return -1; -+ } -+ -+ free_slot = vc4->num_labels; -+ vc4->bo_labels = new_labels; -+ vc4->num_labels = new_label_count; -+ -+ vc4->bo_labels[free_slot].name = name; -+ vc4->bo_labels[free_slot].num_allocated = 0; -+ vc4->bo_labels[free_slot].size_allocated = 0; -+ -+ return free_slot; -+ } -+} -+ -+static void vc4_bo_set_label(struct drm_gem_object *gem_obj, int label) -+{ -+ struct vc4_bo *bo = to_vc4_bo(gem_obj); -+ struct vc4_dev *vc4 = to_vc4_dev(gem_obj->dev); -+ -+ lockdep_assert_held(&vc4->bo_lock); -+ -+ if (label != -1) { -+ vc4->bo_labels[label].num_allocated++; -+ vc4->bo_labels[label].size_allocated += gem_obj->size; -+ } -+ -+ vc4->bo_labels[bo->label].num_allocated--; -+ vc4->bo_labels[bo->label].size_allocated -= gem_obj->size; -+ -+ if (vc4->bo_labels[bo->label].num_allocated == 0 && -+ is_user_label(bo->label)) { -+ /* Free user BO label slots on last unreference. -+ * Slots are just where we track the stats for a given -+ * name, and once a name is unused we can reuse that -+ * slot. -+ */ -+ kfree(vc4->bo_labels[bo->label].name); -+ vc4->bo_labels[bo->label].name = NULL; -+ } -+ -+ bo->label = label; -+} -+ - static uint32_t bo_page_index(size_t size) - { - return (size / PAGE_SIZE) - 1; -@@ -80,7 +167,8 @@ static uint32_t bo_page_index(size_t size) - static void vc4_bo_destroy(struct vc4_bo *bo) - { - struct drm_gem_object *obj = &bo->base.base; -- struct vc4_dev *vc4 = to_vc4_dev(obj->dev); -+ -+ vc4_bo_set_label(obj, -1); - - if (bo->validated_shader) { - kfree(bo->validated_shader->texture_samples); -@@ -88,9 +176,6 @@ static void vc4_bo_destroy(struct vc4_bo *bo) - bo->validated_shader = NULL; - } - -- vc4->bo_stats.num_allocated--; -- vc4->bo_stats.size_allocated -= obj->size; -- - reservation_object_fini(&bo->_resv); - - drm_gem_cma_free_object(obj); -@@ -99,12 +184,6 @@ static void vc4_bo_destroy(struct vc4_bo *bo) - /* Must be called with bo_lock held. */ - static void vc4_bo_remove_from_cache(struct vc4_bo *bo) - { -- struct drm_gem_object *obj = &bo->base.base; -- struct vc4_dev *vc4 = to_vc4_dev(obj->dev); -- -- vc4->bo_stats.num_cached--; -- vc4->bo_stats.size_cached -= obj->size; -- - list_del(&bo->unref_head); - list_del(&bo->size_head); - } -@@ -165,7 +244,8 @@ static void vc4_bo_cache_purge(struct drm_device *dev) - } - - static struct vc4_bo *vc4_bo_get_from_cache(struct drm_device *dev, -- uint32_t size) -+ uint32_t size, -+ enum vc4_kernel_bo_type type) - { - struct vc4_dev *vc4 = to_vc4_dev(dev); - uint32_t page_index = bo_page_index(size); -@@ -186,6 +266,8 @@ static struct vc4_bo *vc4_bo_get_from_cache(struct drm_device *dev, - kref_init(&bo->base.base.refcount); - - out: -+ if (bo) -+ vc4_bo_set_label(&bo->base.base, type); - mutex_unlock(&vc4->bo_lock); - return bo; - } -@@ -208,8 +290,9 @@ struct drm_gem_object *vc4_create_object(struct drm_device *dev, size_t size) - return ERR_PTR(-ENOMEM); - - mutex_lock(&vc4->bo_lock); -- vc4->bo_stats.num_allocated++; -- vc4->bo_stats.size_allocated += size; -+ bo->label = VC4_BO_TYPE_KERNEL; -+ vc4->bo_labels[VC4_BO_TYPE_KERNEL].num_allocated++; -+ vc4->bo_labels[VC4_BO_TYPE_KERNEL].size_allocated += size; - mutex_unlock(&vc4->bo_lock); - bo->resv = &bo->_resv; - reservation_object_init(bo->resv); -@@ -218,7 +301,7 @@ struct drm_gem_object *vc4_create_object(struct drm_device *dev, size_t size) - } - - struct vc4_bo *vc4_bo_create(struct drm_device *dev, size_t unaligned_size, -- bool allow_unzeroed) -+ bool allow_unzeroed, enum vc4_kernel_bo_type type) - { - size_t size = roundup(unaligned_size, PAGE_SIZE); - struct vc4_dev *vc4 = to_vc4_dev(dev); -@@ -229,7 +312,7 @@ struct vc4_bo *vc4_bo_create(struct drm_device *dev, size_t unaligned_size, - return ERR_PTR(-EINVAL); - - /* First, try to get a vc4_bo from the kernel BO cache. */ -- bo = vc4_bo_get_from_cache(dev, size); -+ bo = vc4_bo_get_from_cache(dev, size, type); - if (bo) { - if (!allow_unzeroed) - memset(bo->base.vaddr, 0, bo->base.base.size); -@@ -251,7 +334,13 @@ struct vc4_bo *vc4_bo_create(struct drm_device *dev, size_t unaligned_size, - return ERR_PTR(-ENOMEM); - } - } -- return to_vc4_bo(&cma_obj->base); -+ bo = to_vc4_bo(&cma_obj->base); -+ -+ mutex_lock(&vc4->bo_lock); -+ vc4_bo_set_label(&cma_obj->base, type); -+ mutex_unlock(&vc4->bo_lock); -+ -+ return bo; - } - - int vc4_dumb_create(struct drm_file *file_priv, -@@ -268,7 +357,7 @@ int vc4_dumb_create(struct drm_file *file_priv, - if (args->size < args->pitch * args->height) - args->size = args->pitch * args->height; - -- bo = vc4_bo_create(dev, args->size, false); -+ bo = vc4_bo_create(dev, args->size, false, VC4_BO_TYPE_DUMB); - if (IS_ERR(bo)) - return PTR_ERR(bo); - -@@ -348,8 +437,7 @@ void vc4_free_object(struct drm_gem_object *gem_bo) - list_add(&bo->size_head, cache_list); - list_add(&bo->unref_head, &vc4->bo_cache.time_list); - -- vc4->bo_stats.num_cached++; -- vc4->bo_stats.size_cached += gem_bo->size; -+ vc4_bo_set_label(&bo->base.base, VC4_BO_TYPE_KERNEL_CACHE); - - vc4_bo_cache_free_old(dev); - -@@ -483,7 +571,7 @@ int vc4_create_bo_ioctl(struct drm_device *dev, void *data, - * We can't allocate from the BO cache, because the BOs don't - * get zeroed, and that might leak data between users. - */ -- bo = vc4_bo_create(dev, args->size, false); -+ bo = vc4_bo_create(dev, args->size, false, VC4_BO_TYPE_V3D); - if (IS_ERR(bo)) - return PTR_ERR(bo); - -@@ -536,7 +624,7 @@ vc4_create_shader_bo_ioctl(struct drm_device *dev, void *data, - return -EINVAL; - } - -- bo = vc4_bo_create(dev, args->size, true); -+ bo = vc4_bo_create(dev, args->size, true, VC4_BO_TYPE_V3D_SHADER); - if (IS_ERR(bo)) - return PTR_ERR(bo); - -@@ -651,9 +739,24 @@ int vc4_get_tiling_ioctl(struct drm_device *dev, void *data, - return 0; - } - --void vc4_bo_cache_init(struct drm_device *dev) -+int vc4_bo_cache_init(struct drm_device *dev) - { - struct vc4_dev *vc4 = to_vc4_dev(dev); -+ int i; -+ -+ /* Create the initial set of BO labels that the kernel will -+ * use. This lets us avoid a bunch of string reallocation in -+ * the kernel's draw and BO allocation paths. -+ */ -+ vc4->bo_labels = kcalloc(VC4_BO_TYPE_COUNT, sizeof(*vc4->bo_labels), -+ GFP_KERNEL); -+ if (!vc4->bo_labels) -+ return -ENOMEM; -+ vc4->num_labels = VC4_BO_TYPE_COUNT; -+ -+ BUILD_BUG_ON(ARRAY_SIZE(bo_type_names) != VC4_BO_TYPE_COUNT); -+ for (i = 0; i < VC4_BO_TYPE_COUNT; i++) -+ vc4->bo_labels[i].name = bo_type_names[i]; - - mutex_init(&vc4->bo_lock); - -@@ -663,19 +766,66 @@ void vc4_bo_cache_init(struct drm_device *dev) - setup_timer(&vc4->bo_cache.time_timer, - vc4_bo_cache_time_timer, - (unsigned long)dev); -+ -+ return 0; - } - - void vc4_bo_cache_destroy(struct drm_device *dev) - { - struct vc4_dev *vc4 = to_vc4_dev(dev); -+ int i; - - del_timer(&vc4->bo_cache.time_timer); - cancel_work_sync(&vc4->bo_cache.time_work); - - vc4_bo_cache_purge(dev); - -- if (vc4->bo_stats.num_allocated) { -- DRM_ERROR("Destroying BO cache while BOs still allocated:\n"); -- vc4_bo_stats_dump(vc4); -+ for (i = 0; i < vc4->num_labels; i++) { -+ if (vc4->bo_labels[i].num_allocated) { -+ DRM_ERROR("Destroying BO cache with %d %s " -+ "BOs still allocated\n", -+ vc4->bo_labels[i].num_allocated, -+ vc4->bo_labels[i].name); -+ } -+ -+ if (is_user_label(i)) -+ kfree(vc4->bo_labels[i].name); - } -+ kfree(vc4->bo_labels); -+} -+ -+int vc4_label_bo_ioctl(struct drm_device *dev, void *data, -+ struct drm_file *file_priv) -+{ -+ struct vc4_dev *vc4 = to_vc4_dev(dev); -+ struct drm_vc4_label_bo *args = data; -+ char *name; -+ struct drm_gem_object *gem_obj; -+ int ret = 0, label; -+ -+ if (!args->len) -+ return -EINVAL; -+ -+ name = strndup_user(u64_to_user_ptr(args->name), args->len + 1); -+ if (IS_ERR(name)) -+ return PTR_ERR(name); -+ -+ gem_obj = drm_gem_object_lookup(file_priv, args->handle); -+ if (!gem_obj) { -+ DRM_ERROR("Failed to look up GEM BO %d\n", args->handle); -+ kfree(name); -+ return -ENOENT; -+ } -+ -+ mutex_lock(&vc4->bo_lock); -+ label = vc4_get_user_label(vc4, name); -+ if (label != -1) -+ vc4_bo_set_label(gem_obj, label); -+ else -+ ret = -ENOMEM; -+ mutex_unlock(&vc4->bo_lock); -+ -+ drm_gem_object_unreference_unlocked(gem_obj); -+ -+ return ret; - } -diff --git a/drivers/gpu/drm/vc4/vc4_drv.c b/drivers/gpu/drm/vc4/vc4_drv.c -index c6b487c3d2b7..75c1f50a7b5d 100644 ---- a/drivers/gpu/drm/vc4/vc4_drv.c -+++ b/drivers/gpu/drm/vc4/vc4_drv.c -@@ -140,6 +140,7 @@ static const struct drm_ioctl_desc vc4_drm_ioctls[] = { - DRM_IOCTL_DEF_DRV(VC4_GET_PARAM, vc4_get_param_ioctl, DRM_RENDER_ALLOW), - DRM_IOCTL_DEF_DRV(VC4_SET_TILING, vc4_set_tiling_ioctl, DRM_RENDER_ALLOW), - DRM_IOCTL_DEF_DRV(VC4_GET_TILING, vc4_get_tiling_ioctl, DRM_RENDER_ALLOW), -+ DRM_IOCTL_DEF_DRV(VC4_LABEL_BO, vc4_label_bo_ioctl, DRM_RENDER_ALLOW), - }; - - static struct drm_driver vc4_drm_driver = { -@@ -257,7 +258,9 @@ static int vc4_drm_bind(struct device *dev) - vc4->dev = drm; - drm->dev_private = vc4; - -- vc4_bo_cache_init(drm); -+ ret = vc4_bo_cache_init(drm); -+ if (ret) -+ goto dev_unref; - - drm_mode_config_init(drm); - -@@ -281,8 +284,9 @@ static int vc4_drm_bind(struct device *dev) - component_unbind_all(dev, drm); - gem_destroy: - vc4_gem_destroy(drm); -- drm_dev_unref(drm); - vc4_bo_cache_destroy(drm); -+dev_unref: -+ drm_dev_unref(drm); - return ret; - } - -diff --git a/drivers/gpu/drm/vc4/vc4_drv.h b/drivers/gpu/drm/vc4/vc4_drv.h -index df22698d62ee..75d9957cb76d 100644 ---- a/drivers/gpu/drm/vc4/vc4_drv.h -+++ b/drivers/gpu/drm/vc4/vc4_drv.h -@@ -11,6 +11,24 @@ - #include <drm/drm_encoder.h> - #include <drm/drm_gem_cma_helper.h> - -+/* Don't forget to update vc4_bo.c: bo_type_names[] when adding to -+ * this. -+ */ -+enum vc4_kernel_bo_type { -+ /* Any kernel allocation (gem_create_object hook) before it -+ * gets another type set. -+ */ -+ VC4_BO_TYPE_KERNEL, -+ VC4_BO_TYPE_V3D, -+ VC4_BO_TYPE_V3D_SHADER, -+ VC4_BO_TYPE_DUMB, -+ VC4_BO_TYPE_BIN, -+ VC4_BO_TYPE_RCL, -+ VC4_BO_TYPE_BCL, -+ VC4_BO_TYPE_KERNEL_CACHE, -+ VC4_BO_TYPE_COUNT -+}; -+ - struct vc4_dev { - struct drm_device *dev; - -@@ -46,14 +64,14 @@ struct vc4_dev { - struct timer_list time_timer; - } bo_cache; - -- struct vc4_bo_stats { -+ u32 num_labels; -+ struct vc4_label { -+ const char *name; - u32 num_allocated; - u32 size_allocated; -- u32 num_cached; -- u32 size_cached; -- } bo_stats; -+ } *bo_labels; - -- /* Protects bo_cache and the BO stats. */ -+ /* Protects bo_cache and bo_labels. */ - struct mutex bo_lock; - - uint64_t dma_fence_context; -@@ -169,6 +187,11 @@ struct vc4_bo { - /* normally (resv == &_resv) except for imported bo's */ - struct reservation_object *resv; - struct reservation_object _resv; -+ -+ /* One of enum vc4_kernel_bo_type, or VC4_BO_TYPE_COUNT + i -+ * for user-allocated labels. -+ */ -+ int label; - }; - - static inline struct vc4_bo * -@@ -460,7 +483,7 @@ struct vc4_validated_shader_info { - struct drm_gem_object *vc4_create_object(struct drm_device *dev, size_t size); - void vc4_free_object(struct drm_gem_object *gem_obj); - struct vc4_bo *vc4_bo_create(struct drm_device *dev, size_t size, -- bool from_cache); -+ bool from_cache, enum vc4_kernel_bo_type type); - int vc4_dumb_create(struct drm_file *file_priv, - struct drm_device *dev, - struct drm_mode_create_dumb *args); -@@ -478,6 +501,8 @@ int vc4_get_tiling_ioctl(struct drm_device *dev, void *data, - struct drm_file *file_priv); - int vc4_get_hang_state_ioctl(struct drm_device *dev, void *data, - struct drm_file *file_priv); -+int vc4_label_bo_ioctl(struct drm_device *dev, void *data, -+ struct drm_file *file_priv); - int vc4_mmap(struct file *filp, struct vm_area_struct *vma); - struct reservation_object *vc4_prime_res_obj(struct drm_gem_object *obj); - int vc4_prime_mmap(struct drm_gem_object *obj, struct vm_area_struct *vma); -@@ -485,7 +510,7 @@ struct drm_gem_object *vc4_prime_import_sg_table(struct drm_device *dev, - struct dma_buf_attachment *attach, - struct sg_table *sgt); - void *vc4_prime_vmap(struct drm_gem_object *obj); --void vc4_bo_cache_init(struct drm_device *dev); -+int vc4_bo_cache_init(struct drm_device *dev); - void vc4_bo_cache_destroy(struct drm_device *dev); - int vc4_bo_stats_debugfs(struct seq_file *m, void *arg); - -diff --git a/drivers/gpu/drm/vc4/vc4_gem.c b/drivers/gpu/drm/vc4/vc4_gem.c -index 8b551bc630c4..80f1953b4938 100644 ---- a/drivers/gpu/drm/vc4/vc4_gem.c -+++ b/drivers/gpu/drm/vc4/vc4_gem.c -@@ -774,7 +774,7 @@ vc4_get_bcl(struct drm_device *dev, struct vc4_exec_info *exec) - goto fail; - } - -- bo = vc4_bo_create(dev, exec_size, true); -+ bo = vc4_bo_create(dev, exec_size, true, VC4_BO_TYPE_BCL); - if (IS_ERR(bo)) { - DRM_ERROR("Couldn't allocate BO for binning\n"); - ret = PTR_ERR(bo); -diff --git a/drivers/gpu/drm/vc4/vc4_render_cl.c b/drivers/gpu/drm/vc4/vc4_render_cl.c -index da3bfd53f0bd..e0539731130b 100644 ---- a/drivers/gpu/drm/vc4/vc4_render_cl.c -+++ b/drivers/gpu/drm/vc4/vc4_render_cl.c -@@ -320,7 +320,7 @@ static int vc4_create_rcl_bo(struct drm_device *dev, struct vc4_exec_info *exec, - - size += xtiles * ytiles * loop_body_size; - -- setup->rcl = &vc4_bo_create(dev, size, true)->base; -+ setup->rcl = &vc4_bo_create(dev, size, true, VC4_BO_TYPE_RCL)->base; - if (IS_ERR(setup->rcl)) - return PTR_ERR(setup->rcl); - list_add_tail(&to_vc4_bo(&setup->rcl->base)->unref_head, -diff --git a/drivers/gpu/drm/vc4/vc4_v3d.c b/drivers/gpu/drm/vc4/vc4_v3d.c -index 8c723da71f66..622cd43840b8 100644 ---- a/drivers/gpu/drm/vc4/vc4_v3d.c -+++ b/drivers/gpu/drm/vc4/vc4_v3d.c -@@ -236,7 +236,8 @@ vc4_allocate_bin_bo(struct drm_device *drm) - INIT_LIST_HEAD(&list); - - while (true) { -- struct vc4_bo *bo = vc4_bo_create(drm, size, true); -+ struct vc4_bo *bo = vc4_bo_create(drm, size, true, -+ VC4_BO_TYPE_BIN); - - if (IS_ERR(bo)) { - ret = PTR_ERR(bo); -diff --git a/include/uapi/drm/vc4_drm.h b/include/uapi/drm/vc4_drm.h -index 6ac4c5c014cb..551628e571f9 100644 ---- a/include/uapi/drm/vc4_drm.h -+++ b/include/uapi/drm/vc4_drm.h -@@ -40,6 +40,7 @@ extern "C" { - #define DRM_VC4_GET_PARAM 0x07 - #define DRM_VC4_SET_TILING 0x08 - #define DRM_VC4_GET_TILING 0x09 -+#define DRM_VC4_LABEL_BO 0x0a - - #define DRM_IOCTL_VC4_SUBMIT_CL DRM_IOWR(DRM_COMMAND_BASE + DRM_VC4_SUBMIT_CL, struct drm_vc4_submit_cl) - #define DRM_IOCTL_VC4_WAIT_SEQNO DRM_IOWR(DRM_COMMAND_BASE + DRM_VC4_WAIT_SEQNO, struct drm_vc4_wait_seqno) -@@ -51,6 +52,7 @@ extern "C" { - #define DRM_IOCTL_VC4_GET_PARAM DRM_IOWR(DRM_COMMAND_BASE + DRM_VC4_GET_PARAM, struct drm_vc4_get_param) - #define DRM_IOCTL_VC4_SET_TILING DRM_IOWR(DRM_COMMAND_BASE + DRM_VC4_SET_TILING, struct drm_vc4_set_tiling) - #define DRM_IOCTL_VC4_GET_TILING DRM_IOWR(DRM_COMMAND_BASE + DRM_VC4_GET_TILING, struct drm_vc4_get_tiling) -+#define DRM_IOCTL_VC4_LABEL_BO DRM_IOWR(DRM_COMMAND_BASE + DRM_VC4_LABEL_BO, struct drm_vc4_label_bo) - - struct drm_vc4_submit_rcl_surface { - __u32 hindex; /* Handle index, or ~0 if not present. */ -@@ -311,6 +313,15 @@ struct drm_vc4_set_tiling { - __u64 modifier; - }; - -+/** -+ * struct drm_vc4_label_bo - Attach a name to a BO for debug purposes. -+ */ -+struct drm_vc4_label_bo { -+ __u32 handle; -+ __u32 len; -+ __u64 name; -+}; -+ - #if defined(__cplusplus) - } - #endif --- -2.13.5 - -From 34cbed8ed9441caa13017108dac189e09c35f9af Mon Sep 17 00:00:00 2001 -From: Eric Anholt <eric@anholt.net> -Date: Wed, 2 Aug 2017 13:32:40 -0700 -Subject: [PATCH 5/6] drm/vc4: Fix double destroy of the BO cache on teardown. -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -It's also destroyed from the top level vc4_drv.c initialization, which -is where the cache was actually initialized from. - -This used to just involve duplicate del_timer() and cancel_work_sync() -being called, but it started causing kmalloc issues once we -double-freed the new BO label array. - -Fixes: 1908a876f909 ("drm/vc4: Add an ioctl for labeling GEM BOs for summary stats") -Signed-off-by: Eric Anholt <eric@anholt.net> -Link: https://patchwork.freedesktop.org/patch/msgid/20170802203242.12815-1-eric@anholt.net -Tested-by: Noralf Trønnes <noralf@tronnes.org> -Acked-by: Noralf Trønnes <noralf@tronnes.org> -Reviewed-by: Boris Brezillon <boris.brezillon@free-electrons.com> ---- - drivers/gpu/drm/vc4/vc4_gem.c | 2 -- - 1 file changed, 2 deletions(-) - -diff --git a/drivers/gpu/drm/vc4/vc4_gem.c b/drivers/gpu/drm/vc4/vc4_gem.c -index 80f1953b4938..624177b9cce4 100644 ---- a/drivers/gpu/drm/vc4/vc4_gem.c -+++ b/drivers/gpu/drm/vc4/vc4_gem.c -@@ -1117,6 +1117,4 @@ vc4_gem_destroy(struct drm_device *dev) - - if (vc4->hang_state) - vc4_free_hang_state(dev, vc4->hang_state); -- -- vc4_bo_cache_destroy(dev); - } --- -2.13.5 - -From 4f218eea5be54c8506e6db700750e8b8019dc6af Mon Sep 17 00:00:00 2001 -From: Boris Brezillon <boris.brezillon@free-electrons.com> -Date: Fri, 16 Jun 2017 10:30:33 +0200 -Subject: [PATCH 6/6] drm/vc4: Send a VBLANK event when disabling a CRTC - -VBLANK events are missed when the CRTC is being disabled because the -driver does not wait till the end of the frame before stopping the -HVS and PV blocks. In this case, we should explicitly issue a VBLANK -event if there's one waiting. - -Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com> -Reviewed-by: Eric Anholt <eric@anholt.net> -Link: http://patchwork.freedesktop.org/patch/msgid/1497601833-24588-1-git-send-email-boris.brezillon@free-electrons.com ---- - drivers/gpu/drm/vc4/vc4_crtc.c | 13 +++++++++++++ - 1 file changed, 13 insertions(+) - -diff --git a/drivers/gpu/drm/vc4/vc4_crtc.c b/drivers/gpu/drm/vc4/vc4_crtc.c -index a12cc7ea99b6..b0582ad3f459 100644 ---- a/drivers/gpu/drm/vc4/vc4_crtc.c -+++ b/drivers/gpu/drm/vc4/vc4_crtc.c -@@ -518,6 +518,19 @@ static void vc4_crtc_disable(struct drm_crtc *crtc) - WARN_ON_ONCE((HVS_READ(SCALER_DISPSTATX(chan)) & - (SCALER_DISPSTATX_FULL | SCALER_DISPSTATX_EMPTY)) != - SCALER_DISPSTATX_EMPTY); -+ -+ /* -+ * Make sure we issue a vblank event after disabling the CRTC if -+ * someone was waiting it. -+ */ -+ if (crtc->state->event) { -+ unsigned long flags; -+ -+ spin_lock_irqsave(&dev->event_lock, flags); -+ drm_crtc_send_vblank_event(crtc, crtc->state->event); -+ crtc->state->event = NULL; -+ spin_unlock_irqrestore(&dev->event_lock, flags); -+ } - } - - static void vc4_crtc_update_dlist(struct drm_crtc *crtc) --- -2.13.5 - diff --git a/freed-ora/current/f26/bt-bcm.patch b/freed-ora/current/f26/bt-bcm.patch deleted file mode 100644 index aa5334b2b..000000000 --- a/freed-ora/current/f26/bt-bcm.patch +++ /dev/null @@ -1,32 +0,0 @@ -From feb16722b5d5f05b7ae1278a43e717c3d35cd512 Mon Sep 17 00:00:00 2001 -From: Ian Molton <ian@mnementh.co.uk> -Date: Wed, 28 Jun 2017 20:10:55 +0100 -Subject: Bluetooth: btbcm: Add entry for BCM43430 UART bluetooth - -This patch adds the device ID for the bluetooth chip used in the -Broadcom BCM43430 SDIO WiFi / UART BT chip. - -Successfully tested using Firmware version 0x0182 - -Signed-off-by: Ian Molton <ian@mnementh.co.uk> -Reported-by: Loic Poulain <loic.poulain@intel.com> -Signed-off-by: Marcel Holtmann <marcel@holtmann.org> ---- - drivers/bluetooth/btbcm.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/drivers/bluetooth/btbcm.c b/drivers/bluetooth/btbcm.c -index 24f8c4e..9ab6cfb 100644 ---- a/drivers/bluetooth/btbcm.c -+++ b/drivers/bluetooth/btbcm.c -@@ -295,6 +295,7 @@ static const struct { - { 0x410e, "BCM43341B0" }, /* 002.001.014 */ - { 0x4406, "BCM4324B3" }, /* 002.004.006 */ - { 0x610c, "BCM4354" }, /* 003.001.012 */ -+ { 0x2209, "BCM43430A1" }, /* 001.002.009 */ - { } - }; - --- -cgit v1.1 - diff --git a/freed-ora/current/f26/build_configs.sh b/freed-ora/current/f26/build_configs.sh index 55fb89d01..140511f19 100755 --- a/freed-ora/current/f26/build_configs.sh +++ b/freed-ora/current/f26/build_configs.sh @@ -46,8 +46,6 @@ function merge_configs() echo "# powerpc" > $name elif [ "x$arch" == "xppc64le" ]; then echo "# powerpc" > $name - elif [ "x$arch" == "xppc64p7" ]; then - echo "# powerpc" > $name elif [ "x$arch" == "xs390x" ]; then echo "# s390" > $name elif [ "x$arch" == "xarmv7hl" ]; then diff --git a/freed-ora/current/f26/config_generation b/freed-ora/current/f26/config_generation index e5dde85cf..64ae444f4 100644 --- a/freed-ora/current/f26/config_generation +++ b/freed-ora/current/f26/config_generation @@ -5,7 +5,7 @@ # x86_64 x86_64=baseconfig:baseconfig-x86:baseconfig-x86-x86_64 -x86_64-debug=baseconfig:baseconfig-x86:baseconfig-x86-x86_64:debugconfig:debugconfig-x86 +x86_64-debug=baseconfig:baseconfig-x86:baseconfig-x86-x86_64:debugconfig:debugconfig-x86:debugconfig-x86-x86_64 # i686 i686=baseconfig:baseconfig-x86:baseconfig-x86-i686 @@ -20,8 +20,7 @@ ppc64-debug=baseconfig:baseconfig-powerpc:baseconfig-powerpc-powerpc64:debugconf # ppc64le ppc64le=baseconfig:baseconfig-powerpc:baseconfig-powerpc-powerpc64le ppc64le-debug=baseconfig:baseconfig-powerpc:baseconfig-powerpc-powerpc64le:debugconfig -ppc64p7=baseconfig:baseconfig-powerpc:baseconfig-powerpc-powerpc64p7 -ppc64p7-debug=baseconfig:baseconfig-powerpc:baseconfig-powerpc-powerpc64p7:debugconfig + # s390x s390x=baseconfig:baseconfig-s390x s390x-debug=baseconfig:baseconfig-s390x:debugconfig @@ -32,6 +31,6 @@ aarch64-debug=baseconfig:baseconfig-arm:baseconfig-arm-arm64:debugconfig:debugco # arm armv7hl=baseconfig:baseconfig-arm:baseconfig-arm-armv7:baseconfig-arm-armv7-armv7 -armv7hl-debug=baseconfig:baseconfig-arm:baseconfig-arm-armv7:baseconfig-arm-armv7-armv7:debugconfig:debugconfig-arm:debugconfig-arm-armv7 +armv7hl-debug=baseconfig:baseconfig-arm:baseconfig-arm-armv7:baseconfig-arm-armv7-armv7:debugconfig:debugconfig-arm armv7hl-lpae=baseconfig:baseconfig-arm:baseconfig-arm-armv7:baseconfig-arm-armv7-lpae -armv7hl-lpae-debug=baseconfig:baseconfig-arm:baseconfig-arm-armv7:baseconfig-arm-armv7-lpae:debugconfig:debugconfig-arm:debugconfig-arm-armv7 +armv7hl-lpae-debug=baseconfig:baseconfig-arm:baseconfig-arm-armv7:baseconfig-arm-armv7-lpae:debugconfig:debugconfig-arm diff --git a/freed-ora/current/f26/deblob-4.13 b/freed-ora/current/f26/deblob-4.14 index 5119e1f6f..bb76d7ce5 100755 --- a/freed-ora/current/f26/deblob-4.13 +++ b/freed-ora/current/f26/deblob-4.14 @@ -48,7 +48,7 @@ # For each kver release, start extra with an empty string, then count # from 1 if changes are needed that require rebuilding the tarball. -kver=4.13 extra= +kver=4.14 extra= case $1 in --force) @@ -214,7 +214,7 @@ reject_firmware () { #$1 = file $2 = pre sed pattern filetest $1 || return 0 clean_sed "$2"' -s,\(^\|[^>.0-9a-zA-Z_$]\)request\(_ihex\)\?_firmware\(_nowait\|_direct\)\?\($\|[^-.0-9a-zA-Z_$),; ]\),\1reject_firmware\3\4,g +s,\(^\|[^>.0-9a-zA-Z_$]\)request\(_ihex\)\?_firmware\(_nowait\|_direct\|_into_buf\)\?\($\|[^-.0-9a-zA-Z_$),; ]\),\1reject_firmware\3\4,g ' "$1" 'disabled non-Free firmware-loading machinery' } @@ -222,7 +222,7 @@ maybe_reject_firmware () { #$1 = file $2 = pre sed pattern filetest $1 || return 0 clean_sed "$2"' -s,\(^\|[^>.0-9a-zA-Z_$]\)request_\(ihex_\)\?firmware\(_nowait\|_direct\)\?\($\|[^-.0-9a-zA-Z_$),; ]\),\1maybe_reject_\2firmware\3\4,g +s,\(^\|[^>.0-9a-zA-Z_$]\)request_\(ihex_\)\?firmware\(_nowait\|_direct\|_into_buf\)\?\($\|[^-.0-9a-zA-Z_$),; ]\),\1maybe_reject_\2firmware\3\4,g ' "$1" 'retain Free firmware-loading machinery, disabling non-Free one' } @@ -322,12 +322,6 @@ for f in \ drivers/scsi/sym53c8xx_2/sym_fw1.h \ drivers/scsi/sym53c8xx_2/sym_fw2.h \ drivers/scsi/sym53c8xx_2/sym_fw2.h \ - firmware/dsp56k/bootstrap.bin.ihex \ - firmware/dsp56k/bootstrap.asm \ - firmware/keyspan_pda/keyspan_pda.HEX \ - firmware/keyspan_pda/keyspan_pda.S \ - firmware/keyspan_pda/xircom_pgs.HEX \ - firmware/keyspan_pda/xircom_pgs.S \ ; do filetest $f || : done @@ -487,6 +481,27 @@ maybe_reject_firmware_nowait(struct module *module, int uevent,\ return request_firmware_nowait(module, uevent, name,\ device, gfp, context, cont);\ }\ +static inline int\ +reject_firmware_into_buf(const struct firmware **firmware_p, const char *name,\ + struct device *device, void *buf, size_t size)\ +{\ + const struct firmware *xfw = NULL;\ + int retval;\ + report_missing_free_firmware(dev_name(device), NULL);\ + retval = request_firmware_into_buf(&xfw, NONFREE_FIRMWARE, device, buf, size);\ + if (!retval)\ + release_firmware(xfw);\ + return -EINVAL;\ +}\ +static inline int\ +maybe_reject_firmware_into_buf(const struct firmware **firmware_p, const char *name,\ + struct device *device, void *buf, size_t size)\ +{\ + if (is_nonfree_firmware(name))\ + return reject_firmware_into_buf(firmware_p, name, device, buf, size);\ + else\ + return request_firmware_into_buf(firmware_p, name, device, buf, size);\ +}\ \ #endif /* _LINUX_LIBRE_FIRMWARE_H */\ ' include/linux/firmware.h 'added non-Free firmware notification support' @@ -532,8 +547,10 @@ clean_blob arch/x86/kernel/cpu/microcode/intel.c clean_kconfig arch/x86/Kconfig MICROCODE_INTEL clean_mk CONFIG_MICROCODE_INTEL arch/x86/kernel/cpu/microcode/Makefile -announce MICROCODE_EARLY - "Early load microcode" -clean_blob Documentation/x86/early-microcode.txt +announce MICROCODE - "CPU microcode loading support" +clean_blob Documentation/x86/microcode.txt +clean_kconfig arch/x86/Kconfig MICROCODE +clean_mk CONFIG_MICROCODE arch/x86/kernel/cpu/Makefile # arm @@ -562,15 +579,6 @@ clean_blob arch/arm/boot/dts/sun8i-a33-ga10h-v1.1.dts clean_kconfig arch/arm/mach-sunxi/Kconfig MACH_SUN8I clean_mk CONFIG_MACH_SUN8I arch/arm/boot/dts/Makefile -# mips - -# I couldn't figure out where the firmware name actually comes from. -# If it's from some user-set property, we could reenable it. -lxo -announce XRX200_PHY_FW - "XRX200 PHY firmware loader" -reject_firmware arch/mips/lantiq/xway/xrx200_phy_fw.c -clean_kconfig arch/mips/lantiq/Kconfig XRX200_PHY_FW -clean_mk CONFIG_XRX200_PHY_FW arch/mips/lantiq/xway/Makefile - ####### # ATM # ####### @@ -578,7 +586,6 @@ clean_mk CONFIG_XRX200_PHY_FW arch/mips/lantiq/xway/Makefile announce ATM_AMBASSADOR - "Madge Ambassador, Collage PCI 155 Server" reject_firmware drivers/atm/ambassador.c clean_blob drivers/atm/ambassador.c -clean_fw firmware/atmsar11.HEX firmware/atmsar11.fw clean_kconfig drivers/atm/Kconfig ATM_AMBASSADOR clean_mk CONFIG_ATM_AMBASSADOR drivers/atm/Makefile @@ -679,6 +686,8 @@ reject_firmware drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c clean_blob drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c reject_firmware drivers/gpu/drm/amd/amdgpu/psp_v3_1.c clean_blob drivers/gpu/drm/amd/amdgpu/psp_v3_1.c +reject_firmware drivers/gpu/drm/amd/amdgpu/psp_v10_0.c +clean_blob drivers/gpu/drm/amd/amdgpu/psp_v10_0.c reject_firmware drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c clean_blob drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c reject_firmware drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c @@ -687,7 +696,6 @@ reject_firmware drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c clean_blob drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c reject_firmware drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c clean_blob drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c -clean_blob drivers/gpu/drm/amd/amdgpu/soc15.c reject_firmware drivers/gpu/drm/amd/amdgpu/amdgpu_device.c clean_blob drivers/gpu/drm/amd/amdgpu/amdgpu_device.c clean_blob drivers/gpu/drm/amd/powerplay/smumgr/smumgr.c @@ -752,8 +760,6 @@ clean_kconfig drivers/gpu/drm/nouveau/Kconfig DRM_NOUVEAU clean_mk CONFIG_DRM_NOUVEAU drivers/gpu/drm/Makefile announce DRM_MGA - "Matrox g200/g400" -drop_fw_file firmware/matrox/g200_warp.H16 firmware/matrox/g200_warp.fw -drop_fw_file firmware/matrox/g400_warp.H16 firmware/matrox/g400_warp.fw reject_firmware drivers/gpu/drm/mga/mga_warp.c clean_blob drivers/gpu/drm/mga/mga_warp.c clean_kconfig drivers/gpu/drm/Kconfig DRM_MGA @@ -768,40 +774,12 @@ clean_kconfig drivers/gpu/drm/msm/Kconfig DRM_MSM clean_mk CONFIG_DRM_MSM drivers/gpu/drm/msm/Makefile announce DRM_R128 - "ATI Rage 128" -drop_fw_file firmware/r128/r128_cce.bin.ihex firmware/r128/r128_cce.bin reject_firmware drivers/gpu/drm/r128/r128_cce.c clean_blob drivers/gpu/drm/r128/r128_cce.c clean_kconfig drivers/gpu/drm/Kconfig DRM_R128 clean_mk CONFIG_DRM_R128 drivers/gpu/drm/Makefile announce DRM_RADEON - "ATI Radeon" -drop_fw_file firmware/radeon/R100_cp.bin.ihex firmware/radeon/R100_cp.bin -drop_fw_file firmware/radeon/R200_cp.bin.ihex firmware/radeon/R200_cp.bin -drop_fw_file firmware/radeon/R300_cp.bin.ihex firmware/radeon/R300_cp.bin -drop_fw_file firmware/radeon/R420_cp.bin.ihex firmware/radeon/R420_cp.bin -drop_fw_file firmware/radeon/R520_cp.bin.ihex firmware/radeon/R520_cp.bin -drop_fw_file firmware/radeon/R600_me.bin.ihex firmware/radeon/R600_me.bin -drop_fw_file firmware/radeon/R600_pfp.bin.ihex firmware/radeon/R600_pfp.bin -drop_fw_file firmware/radeon/RS600_cp.bin.ihex firmware/radeon/RS600_cp.bin -drop_fw_file firmware/radeon/RS690_cp.bin.ihex firmware/radeon/RS690_cp.bin -drop_fw_file firmware/radeon/RS780_me.bin.ihex firmware/radeon/RS780_me.bin -drop_fw_file firmware/radeon/RS780_pfp.bin.ihex firmware/radeon/RS780_pfp.bin -drop_fw_file firmware/radeon/RV610_me.bin.ihex firmware/radeon/RV610_me.bin -drop_fw_file firmware/radeon/RV610_pfp.bin.ihex firmware/radeon/RV610_pfp.bin -drop_fw_file firmware/radeon/RV620_me.bin.ihex firmware/radeon/RV620_me.bin -drop_fw_file firmware/radeon/RV620_pfp.bin.ihex firmware/radeon/RV620_pfp.bin -drop_fw_file firmware/radeon/RV630_me.bin.ihex firmware/radeon/RV630_me.bin -drop_fw_file firmware/radeon/RV630_pfp.bin.ihex firmware/radeon/RV630_pfp.bin -drop_fw_file firmware/radeon/RV635_me.bin.ihex firmware/radeon/RV635_me.bin -drop_fw_file firmware/radeon/RV635_pfp.bin.ihex firmware/radeon/RV635_pfp.bin -drop_fw_file firmware/radeon/RV670_me.bin.ihex firmware/radeon/RV670_me.bin -drop_fw_file firmware/radeon/RV670_pfp.bin.ihex firmware/radeon/RV670_pfp.bin -drop_fw_file firmware/radeon/RV710_me.bin.ihex firmware/radeon/RV710_me.bin -drop_fw_file firmware/radeon/RV710_pfp.bin.ihex firmware/radeon/RV710_pfp.bin -drop_fw_file firmware/radeon/RV730_me.bin.ihex firmware/radeon/RV730_me.bin -drop_fw_file firmware/radeon/RV730_pfp.bin.ihex firmware/radeon/RV730_pfp.bin -drop_fw_file firmware/radeon/RV770_me.bin.ihex firmware/radeon/RV770_me.bin -drop_fw_file firmware/radeon/RV770_pfp.bin.ihex firmware/radeon/RV770_pfp.bin reject_firmware drivers/gpu/drm/radeon/r100.c clean_blob drivers/gpu/drm/radeon/r100.c reject_firmware drivers/gpu/drm/radeon/r600.c @@ -1287,7 +1265,6 @@ clean_kconfig drivers/media/usb/siano/Kconfig SMS_USB_DRV clean_mk CONFIG_SMS_USB_DRV drivers/media/usb/siano/Makefile announce DVB_TTUSB_BUDGET - "Technotrend/Hauppauge Nova-USB devices" -drop_fw_file firmware/ttusb-budget/dspbootcode.bin.ihex firmware/ttusb-budget/dspbootcode.bin reject_firmware drivers/media/usb/ttusb-budget/dvb-ttusb-budget.c clean_blob drivers/media/usb/ttusb-budget/dvb-ttusb-budget.c clean_kconfig drivers/media/usb/ttusb-budget/Kconfig DVB_TTUSB_BUDGET @@ -1334,7 +1311,6 @@ clean_kconfig drivers/media/platform/Kconfig VIDEO_CODA clean_mk CONFIG_VIDEO_CODA drivers/media/platform/coda/Makefile announce VIDEO_CPIA2 - "CPiA2 Video For Linux" -clean_fw firmware/cpia2/stv0672_vp4.bin.ihex firmware/cpia2/stv0672_vp4.bin reject_firmware drivers/media/usb/cpia2/cpia2_core.c clean_blob drivers/media/usb/cpia2/cpia2_core.c clean_kconfig drivers/media/usb/cpia2/Kconfig VIDEO_CPIA2 @@ -1471,7 +1447,6 @@ clean_kconfig drivers/media/usb/s2255/Kconfig USB_S2255 clean_mk CONFIG_USB_S2255 drivers/media/usb/s2255/Makefile announce USB_GSPCA_VICAM - "USB 3com HomeConnect, AKA vicam" -drop_fw_file firmware/vicam/firmware.H16 firmware/vicam/firmware.fw reject_firmware drivers/media/usb/gspca/vicam.c clean_blob drivers/media/usb/gspca/vicam.c clean_kconfig drivers/media/usb/gspca/Kconfig USB_GSPCA_VICAM @@ -1509,16 +1484,12 @@ clean_mk CONFIG_RADIO_WL128X drivers/media/radio/Makefile ####### announce ACENIC - "Alteon AceNIC/3Com 3C985/NetGear GA620 Gigabit" -drop_fw_file firmware/acenic/tg1.bin.ihex firmware/acenic/tg1.bin -drop_fw_file firmware/acenic/tg2.bin.ihex firmware/acenic/tg2.bin reject_firmware drivers/net/ethernet/alteon/acenic.c clean_blob drivers/net/ethernet/alteon/acenic.c clean_kconfig drivers/net/ethernet/alteon/Kconfig ACENIC clean_mk CONFIG_ACENIC drivers/net/ethernet/alteon/Makefile announce ADAPTEC_STARFIRE - "Adaptec Starfire/DuraLAN support" -clean_fw firmware/adaptec/starfire_rx.bin.ihex firmware/adaptec/starfire_rx.bin -clean_fw firmware/adaptec/starfire_tx.bin.ihex firmware/adaptec/starfire_tx.bin reject_firmware drivers/net/ethernet/adaptec/starfire.c clean_blob drivers/net/ethernet/adaptec/starfire.c clean_kconfig drivers/net/ethernet/adaptec/Kconfig ADAPTEC_STARFIRE @@ -1533,20 +1504,12 @@ clean_kconfig drivers/net/ethernet/brocade/bna/Kconfig BNA clean_mk CONFIG_BNA drivers/net/ethernet/brocade/bna/Makefile announce BNX2 - "Broadcom NetXtremeII" -drop_fw_file firmware/bnx2/bnx2-mips-09-6.2.1a.fw.ihex firmware/bnx2/bnx2-mips-09-6.2.1a.fw -drop_fw_file firmware/bnx2/bnx2-rv2p-09-6.0.17.fw.ihex firmware/bnx2/bnx2-rv2p-09-6.0.17.fw -drop_fw_file firmware/bnx2/bnx2-rv2p-09ax-6.0.17.fw.ihex firmware/bnx2/bnx2-rv2p-09ax-6.0.17.fw -drop_fw_file firmware/bnx2/bnx2-mips-06-6.2.1.fw.ihex firmware/bnx2/bnx2-mips-06-6.2.1.fw -drop_fw_file firmware/bnx2/bnx2-rv2p-06-6.0.15.fw.ihex firmware/bnx2/bnx2-rv2p-06-6.0.15.fw reject_firmware drivers/net/ethernet/broadcom/bnx2.c clean_blob drivers/net/ethernet/broadcom/bnx2.c clean_kconfig drivers/net/ethernet/broadcom/Kconfig BNX2 clean_mk CONFIG_BNX2 drivers/net/ethernet/broadcom/Makefile announce BNX2X - "Broadcom NetXtremeII 10Gb support" -drop_fw_file firmware/bnx2x/bnx2x-e1-6.2.9.0.fw.ihex firmware/bnx2x/bnx2x-e1-6.2.9.0.fw -drop_fw_file firmware/bnx2x/bnx2x-e1h-6.2.9.0.fw.ihex firmware/bnx2x/bnx2x-e1h-6.2.9.0.fw -drop_fw_file firmware/bnx2x/bnx2x-e2-6.2.9.0.fw.ihex firmware/bnx2x/bnx2x-e2-6.2.9.0.fw reject_firmware drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c clean_sed ' /^#include "bnx2x_init\.h"/,/^$/{ @@ -1578,18 +1541,12 @@ clean_kconfig drivers/net/ethernet/broadcom/Kconfig BNX2X clean_mk CONFIG_BNX2X drivers/net/ethernet/broadcom/bnx2x/Makefile announce CASSINI - "Sun Cassini" -drop_fw_file firmware/sun/cassini.bin.ihex firmware/sun/cassini.bin reject_firmware drivers/net/ethernet/sun/cassini.c clean_blob drivers/net/ethernet/sun/cassini.c clean_kconfig drivers/net/ethernet/sun/Kconfig CASSINI clean_mk CONFIG_CASSINI drivers/net/ethernet/sun/Makefile announce CHELSIO_T3 - "Chelsio AEL 2005 support" -drop_fw_file firmware/cxgb3/t3b_psram-1.1.0.bin.ihex firmware/cxgb3/t3b_psram-1.1.0.bin -drop_fw_file firmware/cxgb3/t3c_psram-1.1.0.bin.ihex firmware/cxgb3/t3c_psram-1.1.0.bin -drop_fw_file firmware/cxgb3/ael2005_opt_edc.bin.ihex firmware/cxgb3/ael2005_opt_edc.bin -drop_fw_file firmware/cxgb3/ael2005_twx_edc.bin.ihex firmware/cxgb3/ael2005_twx_edc.bin -drop_fw_file firmware/cxgb3/ael2020_twx_edc.bin.ihex firmware/cxgb3/ael2020_twx_edc.bin reject_firmware drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c clean_blob drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c clean_kconfig drivers/net/ethernet/chelsio/Kconfig CHELSIO_T3 @@ -1602,9 +1559,6 @@ clean_kconfig drivers/net/ethernet/chelsio/Kconfig CHELSIO_T4 clean_mk CONFIG_CHELSIO_T4 drivers/net/ethernet/chelsio/cxgb4/Makefile announce E100 - "Intel PRO/100+" -drop_fw_file firmware/e100/d101m_ucode.bin.ihex firmware/e100/d101m_ucode.bin -drop_fw_file firmware/e100/d101s_ucode.bin.ihex firmware/e100/d101s_ucode.bin -drop_fw_file firmware/e100/d102e_ucode.bin.ihex firmware/e100/d102e_ucode.bin reject_firmware drivers/net/ethernet/intel/e100.c clean_sed ' /^static const struct firmware \*e100_\(reject\|request\)_firmware(/,/^}$/{ @@ -1628,9 +1582,6 @@ clean_blob drivers/net/ethernet/mellanox/mlxsw/spectrum.c clean_kconfig drivers/net/ethernet/mellanox/mlxsw/Kconfig MLXSW_SPECTRUM clean_mk CONFIG_MLXSW_SPECTRUM drivers/net/ethernet/mellanox/mlxsw/Makefile -announce MYRI_SBUS - "MyriCOM Gigabit Ethernet" -drop_fw_file firmware/myricom/lanai.bin.ihex firmware/myricom/lanai.bin - announce MYRI10GE - "Myricom Myri-10G Ethernet support" reject_firmware drivers/net/ethernet/myricom/myri10ge/myri10ge.c clean_blob drivers/net/ethernet/myricom/myri10ge/myri10ge.c @@ -1688,23 +1639,18 @@ clean_kconfig drivers/net/ethernet/toshiba/Kconfig SPIDER_NET clean_mk CONFIG_SPIDER_NET drivers/net/ethernet/toshiba/Makefile announce TEHUTI - "Tehuti Networks 10G Ethernet" -drop_fw_file firmware/tehuti/bdx.bin.ihex firmware/tehuti/bdx.bin reject_firmware drivers/net/ethernet/tehuti/tehuti.c clean_blob drivers/net/ethernet/tehuti/tehuti.c clean_kconfig drivers/net/ethernet/tehuti/Kconfig TEHUTI clean_mk CONFIG_TEHUTI drivers/net/ethernet/tehuti/Makefile announce TIGON3 - "Broadcom Tigon3" -drop_fw_file firmware/tigon/tg3.bin.ihex firmware/tigon/tg3.bin -drop_fw_file firmware/tigon/tg3_tso.bin.ihex firmware/tigon/tg3_tso.bin -drop_fw_file firmware/tigon/tg3_tso5.bin.ihex firmware/tigon/tg3_tso5.bin reject_firmware drivers/net/ethernet/broadcom/tg3.c clean_blob drivers/net/ethernet/broadcom/tg3.c clean_kconfig drivers/net/ethernet/broadcom/Kconfig TIGON3 clean_mk CONFIG_TIGON3 drivers/net/ethernet/broadcom/Makefile announce TYPHOON - "3cr990 series Typhoon" -drop_fw_file firmware/3com/typhoon.bin.ihex firmware/3com/typhoon.bin reject_firmware drivers/net/ethernet/3com/typhoon.c clean_blob drivers/net/ethernet/3com/typhoon.c clean_kconfig drivers/net/ethernet/3com/Kconfig TYPHOON @@ -1736,8 +1682,6 @@ clean_mk CONFIG_COPS drivers/net/appletalk/Makefile # hamradio announce YAM - "YAM driver for AX.25" -drop_fw_file firmware/yam/1200.bin.ihex firmware/yam/1200.bin -drop_fw_file firmware/yam/9600.bin.ihex firmware/yam/9600.bin reject_firmware drivers/net/hamradio/yam.c clean_blob drivers/net/hamradio/yam.c clean_kconfig drivers/net/hamradio/Kconfig YAM @@ -1746,18 +1690,17 @@ clean_mk CONFIG_YAM drivers/net/hamradio/Makefile # irda announce USB_IRDA - "IrDA USB dongles" -reject_firmware drivers/net/irda/irda-usb.c -clean_blob drivers/net/irda/irda-usb.c +reject_firmware drivers/staging/irda/drivers/irda-usb.c +clean_blob drivers/staging/irda/drivers/irda-usb.c clean_sed ' s,\(char stir421x_fw_name\)\[12\];,\1[16];, -' drivers/net/irda/irda-usb.c "avoid buffer overflow with deblobbed filename" -clean_kconfig drivers/net/irda/Kconfig USB_IRDA -clean_mk CONFIG_USB_IRDA drivers/net/irda/Makefile +' drivers/staging/irda/drivers/irda-usb.c "avoid buffer overflow with deblobbed filename" +clean_kconfig drivers/staging/irda/drivers/Kconfig USB_IRDA +clean_mk CONFIG_USB_IRDA drivers/staging/irda/drivers/Makefile # smsc announce PCMCIA_SMC91C92 - "SMC 91Cxx PCMCIA" -drop_fw_file firmware/ositech/Xilinx7OD.bin.ihex firmware/ositech/Xilinx7OD.bin reject_firmware drivers/net/ethernet/smsc/smc91c92_cs.c clean_blob drivers/net/ethernet/smsc/smc91c92_cs.c clean_kconfig drivers/net/ethernet/smsc/Kconfig PCMCIA_SMC91C92 @@ -1801,29 +1744,17 @@ clean_mk CONFIG_NFC_S3FWRN5 drivers/nfc/s3fwrn5/Makefile # clean_kconfig drivers/pcmcia/Kconfig 'PCCARD' # clean_mk CONFIG_PCCARD drivers/pcmcia/Makefile -announce PCMCIA_3C574 - "3Com 3c574 PCMCIA support" -# This is not software; it's Free, but GPLed without in-tree sources. -drop_fw_file firmware/cis/3CCFEM556.cis.ihex firmware/cis/3CCFEM556.cis +# announce PCMCIA_3C574 - "3Com 3c574 PCMCIA support" # clean_blob drivers/net/pcmcia/3c574_cs.c # clean_kconfig drivers/net/pcmcia/Kconfig 'PCMCIA_3C574' # clean_mk CONFIG_PCMCIA_3C574 drivers/net/pcmcia/Makefile -announce PCMCIA_3C589 - "3Com 3c589 PCMCIA support" -# This is not software; it's Free, but GPLed without in-tree sources. -drop_fw_file firmware/cis/3CXEM556.cis.ihex firmware/cis/3CXEM556.cis +# announce PCMCIA_3C589 - "3Com 3c589 PCMCIA support" # clean_blob drivers/net/pcmcia/3c589_cs.c # clean_kconfig drivers/net/pcmcia/Kconfig 'PCMCIA_3C589' # clean_mk CONFIG_PCMCIA_3C589 drivers/net/pcmcia/Makefile -announce PCMCIA_PCNET - "NE2000 compatible PCMCIA support" -# These are not software; they're Free, but GPLed without in-tree sources. -drop_fw_file firmware/cis/LA-PCM.cis.ihex firmware/cis/LA-PCM.cis -drop_fw_file firmware/cis/PCMLM28.cis.ihex firmware/cis/PCMLM28.cis -drop_fw_file firmware/cis/DP83903.cis.ihex firmware/cis/DP83903.cis -drop_fw_file firmware/cis/NE2K.cis.ihex firmware/cis/NE2K.cis -drop_fw_file firmware/cis/tamarack.cis.ihex firmware/cis/tamarack.cis -drop_fw_file firmware/cis/PE-200.cis.ihex firmware/cis/PE-200.cis -drop_fw_file firmware/cis/PE520.cis.ihex firmware/cis/PE520.cis +# announce PCMCIA_PCNET - "NE2000 compatible PCMCIA support" # clean_blob drivers/net/pcmcia/pcnet_cs.c # clean_kconfig drivers/net/pcmcia/Kconfig 'PCMCIA_PCNET' # clean_mk CONFIG_PCMCIA_PCNET drivers/net/pcmcia/Makefile @@ -1831,10 +1762,6 @@ drop_fw_file firmware/cis/PE520.cis.ihex firmware/cis/PE520.cis # usb announce USB_KAWETH - "USB KLSI KL5USB101-based ethernet device support" -drop_fw_file firmware/kaweth/new_code.bin.ihex firmware/kaweth/new_code.bin -drop_fw_file firmware/kaweth/new_code_fix.bin.ihex firmware/kaweth/new_code_fix.bin -drop_fw_file firmware/kaweth/trigger_code.bin.ihex firmware/kaweth/trigger_code.bin -drop_fw_file firmware/kaweth/trigger_code_fix.bin.ihex firmware/kaweth/trigger_code_fix.bin reject_firmware drivers/net/usb/kaweth.c clean_blob drivers/net/usb/kaweth.c clean_kconfig drivers/net/usb/Kconfig USB_KAWETH @@ -2302,6 +2229,13 @@ clean_blob drivers/net/wireless/realtek/rtlwifi/rtl8821ae/sw.c clean_kconfig drivers/net/wireless/realtek/rtlwifi/Kconfig RTL8821AE clean_mk CONFIG_RTL8821AE drivers/net/wireless/realtek/rtlwifi/rtl8821ae/Makefile +announce R8822BE - "Realtek RTL8822BE Wireless Network Adapter" +reject_firmware drivers/staging/rtlwifi/core.c +reject_firmware drivers/staging/rtlwifi/rtl8822be/sw.c +clean_blob drivers/staging/rtlwifi/rtl8822be/sw.c +clean_kconfig drivers/staging/rtlwifi/Kconfig R8822BE +clean_mk CONFIG_R8822BE drivers/staging/rtlwifi/Makefile + announce VT6656 - "VIA Technologies VT6656 support" reject_firmware drivers/staging/vt6656/firmware.c clean_blob drivers/staging/vt6656/firmware.c @@ -2494,11 +2428,12 @@ clean_mk CONFIG_WIMAX_I2400M drivers/net/wimax/i2400m/Makefile announce INFINIBAND_HFI1 - "Intel OPA Gen1 support" reject_firmware drivers/infiniband/hw/hfi1/firmware.c clean_blob drivers/infiniband/hw/hfi1/firmware.c +reject_firmware drivers/infiniband/hw/hfi1/platform.c +clean_blob drivers/infiniband/hw/hfi1/platform.c clean_kconfig drivers/infiniband/hw/hfi1/Kconfig INFINIBAND_HFI1 clean_mk CONFIG_INFINIBAND_HFI1 drivers/infiniband/hw/hfi1/Makefile announce INFINIBAND_QIB - "QLogic PCIe HCA support" -drop_fw_file firmware/qlogic/sd7220.fw.ihex firmware/qlogic/sd7220.fw reject_firmware drivers/infiniband/hw/qib/qib_sd7220.c clean_blob drivers/infiniband/hw/qib/qib_sd7220.c clean_kconfig drivers/infiniband/hw/qib/Kconfig INFINIBAND_QIB @@ -2543,19 +2478,7 @@ clean_mk CONFIG_MISDN_SPEEDFAX drivers/isdn/hardware/mISDN/Makefile # Serial # ########## -announce SERIAL_8250_CS - "8250/16550 PCMCIA device support" -# These are not software; they're Free, but GPLed without in-tree sources. -drop_fw_file firmware/cis/MT5634ZLX.cis.ihex firmware/cis/MT5634ZLX.cis -drop_fw_file firmware/cis/RS-COM-2P.cis.ihex firmware/cis/RS-COM-2P.cis -drop_fw_file firmware/cis/COMpad2.cis.ihex firmware/cis/COMpad2.cis -drop_fw_file firmware/cis/COMpad4.cis.ihex firmware/cis/COMpad4.cis -# These are not software; they're Free, but GPLed without textual sources. -# It could be assumed that these binaries *are* sources, since they -# can be trivially converted back to a textual form, without loss, -# but we're better off safe than sorry, so remove them from our tree. -drop_fw_file firmware/cis/SW_555_SER.cis.ihex firmware/cis/SW_555_SER.cis -drop_fw_file firmware/cis/SW_7xx_SER.cis.ihex firmware/cis/SW_7xx_SER.cis -drop_fw_file firmware/cis/SW_8xx_SER.cis.ihex firmware/cis/SW_8xx_SER.cis +# announce SERIAL_8250_CS - "8250/16550 PCMCIA device support" # clean_blob drivers/tty/serial/serial_cs.c # clean_kconfig drivers/tty/serial/Kconfig 'SERIAL_8250_CS' # clean_mk CONFIG_SERIAL_8250_CS drivers/tty/serial/Makefile @@ -2750,26 +2673,18 @@ clean_mk CONFIG_MMC_VUB300 drivers/mmc/host/Makefile ######## announce SCSI_QLOGICPTI - "PTI Qlogic, ISP Driver" -drop_fw_file firmware/qlogic/isp1000.bin.ihex firmware/qlogic/isp1000.bin reject_firmware drivers/scsi/qlogicpti.c clean_blob drivers/scsi/qlogicpti.c clean_kconfig drivers/scsi/Kconfig SCSI_QLOGICPTI clean_mk CONFIG_SCSI_QLOGICPTI drivers/scsi/Makefile announce SCSI_ADVANSYS - "AdvanSys SCSI" -drop_fw_file firmware/advansys/mcode.bin.ihex firmware/advansys/mcode.bin -drop_fw_file firmware/advansys/3550.bin.ihex firmware/advansys/3550.bin -drop_fw_file firmware/advansys/38C0800.bin.ihex firmware/advansys/38C0800.bin -drop_fw_file firmware/advansys/38C1600.bin.ihex firmware/advansys/38C1600.bin reject_firmware drivers/scsi/advansys.c clean_blob drivers/scsi/advansys.c clean_kconfig drivers/scsi/Kconfig SCSI_ADVANSYS clean_mk CONFIG_SCSI_ADVANSYS drivers/scsi/Makefile announce SCSI_QLOGIC_1280 - "Qlogic QLA 1240/1x80/1x160 SCSI" -drop_fw_file firmware/qlogic/1040.bin.ihex firmware/qlogic/1040.bin -drop_fw_file firmware/qlogic/1280.bin.ihex firmware/qlogic/1280.bin -drop_fw_file firmware/qlogic/12160.bin.ihex firmware/qlogic/12160.bin reject_firmware drivers/scsi/qla1280.c clean_blob drivers/scsi/qla1280.c clean_kconfig drivers/scsi/Kconfig SCSI_QLOGIC_1280 @@ -2867,21 +2782,12 @@ clean_mk CONFIG_USB_XHCI_TEGRA drivers/usb/host/Makefile # misc announce USB_EMI26 - "EMI 2|6 USB Audio interface" -# These files are not under the GPL, better remove them all. -drop_fw_file firmware/emi26/bitstream.HEX firmware/emi26/bitstream.fw -drop_fw_file firmware/emi26/firmware.HEX firmware/emi26/firmware.fw -drop_fw_file firmware/emi26/loader.HEX firmware/emi26/loader.fw reject_firmware drivers/usb/misc/emi26.c clean_blob drivers/usb/misc/emi26.c clean_kconfig drivers/usb/misc/Kconfig USB_EMI26 clean_mk CONFIG_USB_EMI26 drivers/usb/misc/Makefile announce USB_EMI62 - "EMI 6|2m USB Audio interface" -# These files are probably not under the GPL, better remove them all. -drop_fw_file firmware/emi62/bitstream.HEX firmware/emi62/bitstream.fw -drop_fw_file firmware/emi62/loader.HEX firmware/emi62/loader.fw -drop_fw_file firmware/emi62/midi.HEX firmware/emi62/midi.fw -drop_fw_file firmware/emi62/spdif.HEX firmware/emi62/spdif.fw reject_firmware drivers/usb/misc/emi62.c clean_blob drivers/usb/misc/emi62.c clean_kconfig drivers/usb/misc/Kconfig USB_EMI62 @@ -2907,46 +2813,29 @@ clean_mk CONFIG_USB_STORAGE_ENE_UB6250 drivers/usb/storage/Makefile # serial announce USB_SERIAL_KEYSPAN - "USB Keyspan USA-xxx Serial Driver" -drop_fw_file firmware/keyspan/mpr.HEX firmware/keyspan/mpr.fw clean_kconfig drivers/usb/serial/Kconfig USB_SERIAL_KEYSPAN_MPR -drop_fw_file firmware/keyspan/usa18x.HEX firmware/keyspan/usa18x.fw clean_kconfig drivers/usb/serial/Kconfig USB_SERIAL_KEYSPAN_USA18X -drop_fw_file firmware/keyspan/usa19.HEX firmware/keyspan/usa19.fw clean_kconfig drivers/usb/serial/Kconfig USB_SERIAL_KEYSPAN_USA19 -drop_fw_file firmware/keyspan/usa19qi.HEX firmware/keyspan/usa19qi.fw clean_kconfig drivers/usb/serial/Kconfig USB_SERIAL_KEYSPAN_USA19QI -drop_fw_file firmware/keyspan/usa19qw.HEX firmware/keyspan/usa19qw.fw clean_kconfig drivers/usb/serial/Kconfig USB_SERIAL_KEYSPAN_USA19QW -drop_fw_file firmware/keyspan/usa19w.HEX firmware/keyspan/usa19w.fw clean_kconfig drivers/usb/serial/Kconfig USB_SERIAL_KEYSPAN_USA19W -drop_fw_file firmware/keyspan/usa28.HEX firmware/keyspan/usa28.fw clean_kconfig drivers/usb/serial/Kconfig USB_SERIAL_KEYSPAN_USA28 -drop_fw_file firmware/keyspan/usa28xa.HEX firmware/keyspan/usa28xa.fw clean_kconfig drivers/usb/serial/Kconfig USB_SERIAL_KEYSPAN_USA28XA -drop_fw_file firmware/keyspan/usa28xb.HEX firmware/keyspan/usa28xb.fw clean_kconfig drivers/usb/serial/Kconfig USB_SERIAL_KEYSPAN_USA28XB -drop_fw_file firmware/keyspan/usa28x.HEX firmware/keyspan/usa28x.fw clean_kconfig drivers/usb/serial/Kconfig USB_SERIAL_KEYSPAN_USA28X -drop_fw_file firmware/keyspan/usa49w.HEX firmware/keyspan/usa49w.fw clean_kconfig drivers/usb/serial/Kconfig USB_SERIAL_KEYSPAN_USA49W -drop_fw_file firmware/keyspan/usa49wlc.HEX firmware/keyspan/usa49wlc.fw clean_kconfig drivers/usb/serial/Kconfig USB_SERIAL_KEYSPAN_USA49WLC clean_blob drivers/usb/serial/keyspan.c clean_kconfig drivers/usb/serial/Kconfig USB_SERIAL_KEYSPAN clean_mk CONFIG_USB_SERIAL_KEYSPAN drivers/usb/serial/Makefile announce USB_SERIAL_EDGEPORT - "USB Inside Out Edgeport Serial Driver" -clean_fw firmware/edgeport/boot.H16 firmware/edgeport/boot.fw -clean_fw firmware/edgeport/boot2.H16 firmware/edgeport/boot2.fw -clean_fw firmware/edgeport/down.H16 firmware/edgeport/down.fw -clean_fw firmware/edgeport/down2.H16 firmware/edgeport/down2.fw reject_firmware drivers/usb/serial/io_edgeport.c clean_blob drivers/usb/serial/io_edgeport.c clean_kconfig drivers/usb/serial/Kconfig USB_SERIAL_EDGEPORT clean_mk CONFIG_USB_SERIAL_EDGEPORT drivers/usb/serial/Makefile announce USB_SERIAL_EDGEPORT_TI - "USB Inside Out Edgeport Serial Driver (TI devices)" -clean_fw firmware/edgeport/down3.bin.ihex firmware/edgeport/down3.bin reject_firmware drivers/usb/serial/io_ti.c clean_sed 's,firmware "down3\.bin",firmware "(DEBLOBBED)", ' drivers/usb/serial/io_ti.c 'deblobbed comment' @@ -2969,20 +2858,12 @@ clean_mk CONFIG_USB_SERIAL_MXUPORT drivers/usb/serial/Makefile # clean_mk CONFIG_USB_SERIAL_MXUPORT11 drivers/usb/serial/Makefile announce USB_SERIAL_TI - "USB TI 3410/5052 Serial Driver" -drop_fw_file firmware/ti_3410.fw.ihex firmware/ti_3410.fw -drop_fw_file firmware/ti_5052.fw.ihex firmware/ti_5052.fw -drop_fw_file firmware/mts_cdma.fw.ihex firmware/mts_cdma.fw -drop_fw_file firmware/mts_gsm.fw.ihex firmware/mts_gsm.fw -drop_fw_file firmware/mts_edge.fw.ihex firmware/mts_edge.fw reject_firmware drivers/usb/serial/ti_usb_3410_5052.c clean_blob drivers/usb/serial/ti_usb_3410_5052.c clean_kconfig drivers/usb/serial/Kconfig USB_SERIAL_TI clean_mk CONFIG_USB_SERIAL_TI drivers/usb/serial/Makefile announce USB_SERIAL_WHITEHEAT - "USB ConnectTech WhiteHEAT Serial Driver" -clean_fw firmware/whiteheat.HEX firmware/whiteheat.fw -clean_fw firmware/whiteheat_loader.HEX firmware/whiteheat_loader.fw -clean_fw firmware/whiteheat_loader_debug.HEX firmware/whiteheat_loader_debug.fw clean_blob drivers/usb/serial/whiteheat.c clean_kconfig drivers/usb/serial/Kconfig USB_SERIAL_WHITEHEAT clean_mk CONFIG_USB_SERIAL_WHITEHEAT drivers/usb/serial/Makefile @@ -3056,42 +2937,30 @@ clean_kconfig sound/pci/Kconfig SND_CS46XX clean_mk CONFIG_SND_CS46XX sound/pci/cs46xx/Makefile announce SND_KORG1212 - "Korg 1212 IO" -drop_fw_file firmware/korg/k1212.dsp.ihex firmware/korg/k1212.dsp reject_firmware sound/pci/korg1212/korg1212.c clean_blob sound/pci/korg1212/korg1212.c clean_kconfig sound/pci/Kconfig SND_KORG1212 clean_mk CONFIG_SND_KORG1212 sound/pci/korg1212/Makefile announce SND_MAESTRO3 - "ESS Allegro/Maestro3" -drop_fw_file firmware/ess/maestro3_assp_kernel.fw.ihex firmware/ess/maestro3_assp_kernel.fw -drop_fw_file firmware/ess/maestro3_assp_minisrc.fw.ihex firmware/ess/maestro3_assp_minisrc.fw reject_firmware sound/pci/maestro3.c clean_blob sound/pci/maestro3.c clean_kconfig sound/pci/Kconfig SND_MAESTRO3 clean_mk CONFIG_SND_MAESTRO3 sound/pci/Makefile announce SND_YMFPCI - "Yamaha YMF724/740/744/754" -drop_fw_file firmware/yamaha/ds1_ctrl.fw.ihex firmware/yamaha/ds1_ctrl.fw -drop_fw_file firmware/yamaha/ds1_dsp.fw.ihex firmware/yamaha/ds1_dsp.fw -drop_fw_file firmware/yamaha/ds1e_ctrl.fw.ihex firmware/yamaha/ds1e_ctrl.fw reject_firmware sound/pci/ymfpci/ymfpci_main.c clean_blob sound/pci/ymfpci/ymfpci_main.c clean_kconfig sound/pci/Kconfig SND_YMFPCI clean_mk CONFIG_SND_YMFPCI sound/pci/ymfpci/Makefile announce SND_SB16_CSP - "SB16 Advanced Signal Processor" -drop_fw_file firmware/sb16/alaw_main.csp.ihex firmware/sb16/alaw_main.csp -drop_fw_file firmware/sb16/mulaw_main.csp.ihex firmware/sb16/mulaw_main.csp -drop_fw_file firmware/sb16/ima_adpcm_init.csp.ihex firmware/sb16/ima_adpcm_init.csp -drop_fw_file firmware/sb16/ima_adpcm_capture.csp.ihex firmware/sb16/ima_adpcm_capture.csp -drop_fw_file firmware/sb16/ima_adpcm_playback.csp.ihex firmware/sb16/ima_adpcm_playback.csp reject_firmware sound/isa/sb/sb16_csp.c clean_blob sound/isa/sb/sb16_csp.c clean_kconfig sound/isa/Kconfig SND_SB16_CSP clean_mk CONFIG_SND_SB16_CSP sound/isa/sb/Makefile announce SND_WAVEFRONT - "Turtle Beach Maui,Tropez,Tropez+ (Wavefront)" -drop_fw_file firmware/yamaha/yss225_registers.bin.ihex firmware/yamaha/yss225_registers.bin reject_firmware sound/isa/wavefront/wavefront_fx.c clean_blob sound/isa/wavefront/wavefront_fx.c reject_firmware sound/isa/wavefront/wavefront_synth.c @@ -3319,6 +3188,7 @@ reject_firmware sound/soc/intel/skylake/skl-sst.c reject_firmware sound/soc/intel/skylake/skl-sst-utils.c reject_firmware sound/soc/intel/skylake/skl-topology.c reject_firmware sound/soc/intel/skylake/bxt-sst.c +reject_firmware sound/soc/intel/skylake/cnl-sst.c clean_blob sound/soc/intel/skylake/skl.c clean_blob sound/soc/intel/skylake/skl-nhlt.c clean_blob sound/soc/intel/skylake/skl-sst.c @@ -3448,6 +3318,12 @@ clean_mk CONFIG_GREYBUS_BOOTROM drivers/staging/greybus/Makefile # SOC # ####### +announce XRX200_PHY_FW - "XRX200 PHY firmware loader" +reject_firmware drivers/soc/lantiq/gphy.c +clean_blob drivers/soc/lantiq/gphy.c +clean_kconfig arch/mips/lantiq/Kconfig XRX200_PHY_FW +clean_mk CONFIG_XRX200_PHY_FW drivers/soc/lantiq/Makefile + announce QCOM_MDT_LOADER - "Qualcomm Peripheral Image Loader" reject_firmware drivers/soc/qcom/mdt_loader.c clean_kconfig drivers/soc/qcom/Kconfig QCOM_MDT_LOADER @@ -3482,8 +3358,6 @@ clean_blob Documentation/sound/oss/README.OSS clean_file scripts/get_dvb_firmware clean_file scripts/extract_xc3028.pl clean_sed s,usb8388,whatever,g drivers/base/Kconfig 'removed blob name' -clean_blob firmware/README.AddingFirmware -clean_blob firmware/WHENCE if $errors; then echo errors above were ignored because of --force >&2 diff --git a/freed-ora/current/f26/deblob-check b/freed-ora/current/f26/deblob-check index 5af2305f4..98bb48d2b 100755 --- a/freed-ora/current/f26/deblob-check +++ b/freed-ora/current/f26/deblob-check @@ -1,6 +1,6 @@ #! /bin/sh -# deblob-check version 2017-08-26 +# deblob-check version 2017-10-23 # Inspired in gNewSense's find-firmware script. # Written by Alexandre Oliva <lxoliva@fsfla.org> @@ -4859,6 +4859,64 @@ set_except () { accept '[\t]ret[ ]=[ ]reject_firmware_nowait[(][^)]*[,][ ]qtnf_firmware_load[)][;][\n][\t]*if[ ][(]ret[ ][<][ ]0[)][\n][\t]*pr_err[(]["]request_firmware_nowait[ ]error' drivers/net/wireless/quantenna/qtnfmac/pearl/pcie.c blobname '\(adsp\|slpi\)\.mdt' drivers/remoteproc/qcom_adsp_pil.c blobname 'wcnss\.mdt' drivers/remoteproc/qcom_wcnss.c + + # New in 4.14 (up to rc5). + blobname 'amdgpu[/]vega10_acg_smc\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c + blobname 'netronome[/]\(serial-%pMF-%02hhx-%02hhx\|pci-%s\)\.nffw' drivers/net/ethernet/netronome/nfp/nfp_main.c + blobname 'brcmfmac4373-sdio\.bin' drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c + blobname 'brcmfmac4373\.bin' drivers/net/wireless/broadcom/brcm80211/brcmfmac/usb.c + blobname 'iwlwifi-QuQnj-\([af]0-hr-a0\|a0-jf-b0\)-' drivers/net/wireless/intel/iwlwifi/cfg/a000.c + blobname 'rt5514_dsp_fw3\.bin' sound/soc/codecs/rt5514.h + blobname 'intel[/]dsp_fw_cnl\.bin' sound/soc/intel/skylake/skl.c + initnc '__aes_arm\(64\)\?_inverse_sbox:[\n][\t]\.byte[ \t]*' arch/arm/crypto/aes-cipher-core.S + defsnc 'static[ ]const[ ]struct[ ]hsdk_pll_cfg[ ]asdt_pll_cfg\[\][ ]=' drivers/clk/clk-hsdk-pll.c + defsnc 'static[ ]const[ ]struct[ ]clk_div_table[ ]d1cpre_div_table\[\][ ]=' drivers/clk/clk-stm32h7.c + defsnc 'static[ ]const[ ]struct[ ]pctl_data[ ]pctl[01]_data\[\][ ]=' drivers/gpu/drm/amd/amdgpu/mmhub_v1_0.c + defsnc '[\t]static[ ]const[ ]u16[ ]map\[\][ ]=' drivers/hwmon/asc7621.c + defsc 'static[ ]const[ ]struct[ ]stm32h7_adc_ck_spec[ ]stm32h7_adc_ckmodes_spec\[\][ ]=' drivers/iio/adc/stm32-adc-core.c + defsnc 'static[ ]const[ ]int[ ]srf08_sensitivity_avail\[\][ ]=' drivers/iio/proximity/srf08.c + defsc 'static[ ]const[ ]struct[ ]slookup[ ]\(lnagain_\(nf\|iip3\)\|gain_\(rfagc\|channel_agc_\(nf\|iip3\)\)\)_lookup\[\][ ]=' drivers/media/dvb-frontends/stv6111.c + defsnc 'static[ ]const[ ]struct[ ]ov5670_reg[ ]mode_\(2592x1944\|1296x972\|648x486\|2560x1440\|1280x720\|640x360\)_regs\[\][ ]=' drivers/media/i2c/ov5670.c + defsnc 'static[ ]const[ ]unsigned[ ]int[ ]\(gnd\|dram\|pci\|pflash\)_351[26]_pins\[\][ ]=' drivers/pinctrl/pinctrl-gemini.c + defsc 'static[ ]const[ ]unsigned[ ]int[ ]pflash_351[26]_pins_extended\[\][ ]=' drivers/pinctrl/pinctrl-gemini.c + defsnc 'static[ ]const[ ]u16[ ]db_invert_table\[12\]\[8\][ ]=' drivers/staging/rtlwifi/phydm/phydm.c + defsc 'u32[ ]cck_swing_table_ch1_ch14_8723d\[CCK_TABLE_SIZE_8723D\][ ]=' drivers/staging/rtlwifi/phydm/phydm_powertracking_ce.c + defsc 'u32[ ]cck_swing_table_ch1_ch14_8710b\[CCK_TABLE_SIZE_8710B\][ ]=' drivers/staging/rtlwifi/phydm/phydm_powertracking_ce.c + defsnc 'static[ ]u32[ ]array_mp_8822b_\(agc_tab\|phy_reg\(_pg\)\?\|mac_reg\|radio[ab]\)\[\][ ]=' drivers/staging/rtlwifi/phydm/rtl8822b/halhwimg8822b_bb.c + defsnc 'static[ ]u8[ ]delta_swing_index_mp_5g[ba]_[np]_txpwrtrack_\(type[01246789]_\|type3_type5_\)\?8822b[\n\t ]*\[\]\[DELTA_SWINGIDX_SIZE\][ ]=' drivers/staging/rtlwifi/phydm/rtl8822b/halhwimg8822b_rf.c + defsnc 'static[ ]const[ ]struct[ ]tsadc_table[ ]rk3328_code_table\[\][ ]=' drivers/thermal/rockchip_thermal.c + defsnc 'static[ ]const[ ]BYTE[ ]LL_Code\[64\][ ]=' lib/zstd/compress.c + defsnc 'static[ ]const[ ]BYTE[ ]ML_Code\[128\][ ]=' lib/zstd/compress.c + defsc 'static[ ]const[ ]FSE_decode_t4[ ]LL_defaultDTable\[[(]1[ ][<][<][ ]LL_DEFAULTNORMLOG[)][ ][+][ ]1\][ ]=' lib/zstd/decompress.c + defsc 'static[ ]const[ ]FSE_decode_t4[ ]ML_defaultDTable\[[(]1[ ][<][<][ ]ML_DEFAULTNORMLOG[)][ ][+][ ]1\][ ]=' lib/zstd/decompress.c + defsc 'static[ ]const[ ]FSE_decode_t4[ ]OF_defaultDTable\[[(]1[ ][<][<][ ]OF_DEFAULTNORMLOG[)][ ][+][ ]1\][ ]=' lib/zstd/decompress.c + defsnc '[\t]static[ ]const[ ]U32[ ][LM]L_base\[Max[LM]L[ ][+][ ]1\][ ]=' lib/zstd/decompress.c + defsnc 'static[ ]const[ ]U32[ ][LM]L_bits\[Max[LM]L[ ][+][ ]1\][ ]=' lib/zstd/zstd_internal.h + defsnc 'static[ ]const[ ]S16[ ][LM]L_defaultNorm\[Max[LM]L[ ][+][ ]1\][ ]=' lib/zstd/zstd_internal.h + defsnc 'static[ ]const[ ]struct[ ]cs43130_pll_params[ ]pll_ratio_table\[\][ ]=' sound/soc/codecs/cs43130.c + defsnc 'static[ ]const[ ]struct[ ]reg_sequence[ ]pcm_ch_\(en\|dis\)_seq\[\][ ]=' sound/soc/codecs/cs43130.c + defsnc 'static[ ]const[ ]struct[ ]cs43130_clk_gen[ ]cs43130_\(16\|32\|48\|64\)_clk_gen\[\][ ]=' sound/soc/codecs/cs43130.c + defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt274_\(index_def\|reg\)\[\][ ]=' sound/soc/codecs/rt274.c + accept '[\t]report_missing_free_firmware[^\n]*[\n][\t]retval[ ]=[ ]request_firmware_into_buf[(][&]xfw[,][ ]NONFREE_FIRMWARE' include/linux/firmware.h + accept '[\t]if[ ][(]is_nonfree_firmware[^\n]*[\n][\t][\t]return[ ]reject_firmware_into_buf[^\n]*[\n][\t]else[\n][\t][\t]return[ ]request_firmware_into_buf[(]firmware_p[,][ ]name[,]' include/linux/firmware.h + accept '[#]define[ ]TEST_FIRMWARE_NAME[\t]["]test-firmware\.bin["]' lib/test_firmware.c + accept '[ ][*][\t]request_firmware_direct[(][)][ ]will[ ]be[ ]used[ ]instead' lib/test_firmware.c + accept '[ ][*][\t]of[ ]the[ ]request_firmware[*][(][)][ ]calls[ ]used[ ]in[ ]their[ ]tests' lib/test_firmware.c + accept '[ ][*][\t]request_firmware_direct[(][)][,][ ]otherwise[ ]request_firmware[(][)]' lib/test_firmware.c + accept '[\t]*test_fw_config->req_firmware[ ]=[ ]\(test_fw_config->sync_direct[ ][?][\n][ \t]*request_firmware_direct[ ][:][\n][ \t]*\)\?request_firmware[;]' lib/test_firmware.c + accept '[\t][\t]req->name[ ]=[ ]test_fw_config->name[;][\n][\t][\t]req->fw[ ]=[ ]NULL[;][\n][\t][\t]req->idx[ ]=[ ]i[;][\n][\t][\t]init_completion[(][&]req->completion[)][;][\n][\t][\t]rc[ ]=[ ]request_firmware_nowait[(]THIS_MODULE[,][ ]\([^);, \t\n]*[,][ \t\n]*\)*trigger_batched_cb[)][;]' lib/test_firmware.c + accept '[\t]release_firmware[(]test_firmware[)][;][\n][\t]test_firmware[ ]=[ ]NULL[;][\n][\t]rc[ ]=[ ]request_firmware_nowait[(]THIS_MODULE[,][ ]1[,][ ]name[^)\n]*[\n][ \t]*NULL[,][ ]trigger_async_request_cb[)]' lib/test_firmware.c + accept '[#][ ]name:[ ]test-firmware\.bin' tools/testing/selftests/firmware/fw_filesystem.sh + accept '[\t]*test_\(batched_\)\?request_firmware\(_direct\|_nowait_\(uevent\|custom\)\)\?\(_nofile\)\?\([(][)]\|[ ][$]i\)' tools/testing/selftests/firmware/fw_filesystem.sh + accept '[\t]echo[ ]-n[ ]["]Batched[ ]request_firmware\(_direct\|_nowait\)\?[(]\(uevent=\(true\|false\)\)\?[)][ ]\(nofile[ ]\)\?try[ ]#[$]1:[ ]["]' tools/testing/selftests/firmware/fw_filesystem.sh + accept '[\t]\(config_set_name\|test_wait_and_cancel_custom_load\)[ ]nope-test-firmware\.bin' tools/testing/selftests/firmware/fw_filesystem.sh + blobname 'amdgpu[/]%s_asd\.bin' drivers/gpu/drm/amd/amdgpu/psp_v10_0.c + blobname 'lantiq[/]xrx[23]00_phy\(22f\|11g\)_a\(14\|2[21]\)\.bin' drivers/soc/lantiq/gphy.c + blobname 'rtlwifi[/]rtl8822befw\.bin' drivers/staging/rtlwifi/rtl8822be/sw.c + # This loads a file named by the user. + accept '[\t]const[ ]char[ ][*]name[ ]=[ ]i915\.vbt_firmware[;][\n][\t]int[ ]ret[;][\n][\n][\t]if[ ][(]!name[ ][|][|][ ][!][*]name[)][\n][\t][\t]return[ ]-ENOENT[;][\n][\n][\t]ret[ ]=[ ]request_firmware[(][&]fw[,][ ]name[,]' drivers/gpu/drm/i915/intel_opregion.c + # New in 4.14-rc6. + defsnc '[\t]static[ ]const[ ]struct[ ]nphy_txiqcal_ladder[ ]ladder_\(lo\|iq\)\[\][ ]=' drivers/net/wireless/brcm80211/brcmsmac/phy/phy_n.c ;; */*freedo*.patch | */*logo*.patch) diff --git a/freed-ora/current/f26/debugconfig/arm/armv7/CONFIG_DMADEVICES_DEBUG b/freed-ora/current/f26/debugconfig/arm/armv7/CONFIG_DMADEVICES_DEBUG deleted file mode 100644 index 7cd4fec86..000000000 --- a/freed-ora/current/f26/debugconfig/arm/armv7/CONFIG_DMADEVICES_DEBUG +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_DMADEVICES_DEBUG is not set diff --git a/freed-ora/current/f26/debugconfig/x86/x86_64/CONFIG_NR_CPUS b/freed-ora/current/f26/debugconfig/x86/x86_64/CONFIG_NR_CPUS new file mode 100644 index 000000000..441191641 --- /dev/null +++ b/freed-ora/current/f26/debugconfig/x86/x86_64/CONFIG_NR_CPUS @@ -0,0 +1 @@ +CONFIG_NR_CPUS=8192 diff --git a/freed-ora/current/f26/drm-cma-reduce-dmesg-logs.patch b/freed-ora/current/f26/drm-cma-reduce-dmesg-logs.patch index 2e39d6e70..d7252c498 100644 --- a/freed-ora/current/f26/drm-cma-reduce-dmesg-logs.patch +++ b/freed-ora/current/f26/drm-cma-reduce-dmesg-logs.patch @@ -41,56 +41,3 @@ index 373e33f22be4..020e7668dfab 100644 size); ret = -ENOMEM; goto error; -From patchwork Wed Oct 4 12:54:47 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: cma: Take __GFP_NOWARN into account in cma_alloc() -From: Boris Brezillon <boris.brezillon@free-electrons.com> -X-Patchwork-Id: 180554 -Message-Id: <20171004125447.15195-1-boris.brezillon@free-electrons.com> -To: linux-mm@kvack.org, Andrew Morton <akpm@linux-foundation.org>, - Laura Abbott <labbott@redhat.com> -Cc: Boris Brezillon <boris.brezillon@free-electrons.com>, - Jaewon Kim <jaewon31.kim@samsung.com>, dri-devel@lists.freedesktop.org -Date: Wed, 4 Oct 2017 14:54:47 +0200 - -cma_alloc() unconditionally prints an INFO message when the CMA -allocation fails. Make this message conditional on the non-presence of -__GFP_NOWARN in gfp_mask. - -Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com> -Acked-by: Laura Abbott <labbott@redhat.com> ---- -Hello, - -This patch aims at removing INFO messages that are displayed when the -VC4 driver tries to allocate buffer objects. From the driver perspective -an allocation failure is acceptable, and the driver can possibly do -something to make following allocation succeed (like flushing the VC4 -internal cache). - -Also, I don't understand why this message is only an INFO message, and -not a WARN (pr_warn()). Please let me know if you have good reasons to -keep it as an unconditional pr_info(). - -Thanks, - -Boris ---- - mm/cma.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/mm/cma.c b/mm/cma.c -index c0da318c020e..022e52bd8370 100644 ---- a/mm/cma.c -+++ b/mm/cma.c -@@ -460,7 +460,7 @@ struct page *cma_alloc(struct cma *cma, size_t count, unsigned int align, - - trace_cma_alloc(pfn, page, count, align); - -- if (ret) { -+ if (ret && !(gfp_mask & __GFP_NOWARN)) { - pr_info("%s: alloc failed, req-size: %zu pages, ret: %d\n", - __func__, count, ret); - cma_debug_show_areas(cma); diff --git a/freed-ora/current/f26/drm-i915-Boost-GPU-clocks-if-we-miss-the-pageflip-s-vblank.patch b/freed-ora/current/f26/drm-i915-Boost-GPU-clocks-if-we-miss-the-pageflip-s-vblank.patch new file mode 100644 index 000000000..07f81116a --- /dev/null +++ b/freed-ora/current/f26/drm-i915-Boost-GPU-clocks-if-we-miss-the-pageflip-s-vblank.patch @@ -0,0 +1,200 @@ +From patchwork Thu Aug 17 12:37:06 2017 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 8bit +Subject: drm/i915: Boost GPU clocks if we miss the pageflip's vblank +From: Chris Wilson <chris@chris-wilson.co.uk> +X-Patchwork-Id: 172204 +Message-Id: <20170817123706.6777-1-chris@chris-wilson.co.uk> +To: intel-gfx@lists.freedesktop.org +Cc: Daniel Vetter <daniel.vetter@intel.com> +Date: Thu, 17 Aug 2017 13:37:06 +0100 + +If we miss the current vblank because the gpu was busy, that may cause a +jitter as the frame rate temporarily drops. We try to limit the impact +of this by then boosting the GPU clock to deliver the frame as quickly +as possible. Originally done in commit 6ad790c0f5ac ("drm/i915: Boost GPU +frequency if we detect outstanding pageflips") but was never forward +ported to atomic and finally dropped in commit fd3a40242e87 ("drm/i915: +Rip out legacy page_flip completion/irq handling"). + +References: https://bugs.freedesktop.org/show_bug.cgi?id=102199 +Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> +Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> +Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> +Cc: Daniel Vetter <daniel.vetter@intel.com> +Tested-by: Lyude Paul <lyude@redhat.com> +Reviewed-by: Radoslaw Szwichtenberg <radoslaw.szwichtenberg@intel.com> +--- + drivers/gpu/drm/i915/intel_display.c | 59 ++++++++++++++++++++++++++++++++++++ + drivers/gpu/drm/i915/intel_drv.h | 1 - + drivers/gpu/drm/i915/intel_pm.c | 42 ++----------------------- + 3 files changed, 62 insertions(+), 40 deletions(-) + +diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c +index 0e93ec201fe3..7d5b19553637 100644 +--- a/drivers/gpu/drm/i915/intel_display.c ++++ b/drivers/gpu/drm/i915/intel_display.c +@@ -12636,6 +12636,55 @@ static const struct drm_crtc_funcs intel_crtc_funcs = { + .set_crc_source = intel_crtc_set_crc_source, + }; + ++struct wait_rps_boost { ++ struct wait_queue_entry wait; ++ ++ struct drm_crtc *crtc; ++ struct drm_i915_gem_request *request; ++}; ++ ++static int do_rps_boost(struct wait_queue_entry *_wait, ++ unsigned mode, int sync, void *key) ++{ ++ struct wait_rps_boost *wait = container_of(_wait, typeof(*wait), wait); ++ struct drm_i915_gem_request *rq = wait->request; ++ ++ gen6_rps_boost(rq, NULL); ++ i915_gem_request_put(rq); ++ ++ drm_crtc_vblank_put(wait->crtc); ++ ++ list_del(&wait->wait.entry); ++ kfree(wait); ++ return 1; ++} ++ ++static void add_rps_boost_after_vblank(struct drm_crtc *crtc, ++ struct dma_fence *fence) ++{ ++ struct wait_rps_boost *wait; ++ ++ if (!dma_fence_is_i915(fence)) ++ return; ++ ++ if (drm_crtc_vblank_get(crtc)) ++ return; ++ ++ wait = kmalloc(sizeof(*wait), GFP_KERNEL); ++ if (!wait) { ++ drm_crtc_vblank_put(crtc); ++ return; ++ } ++ ++ wait->request = to_request(dma_fence_get(fence)); ++ wait->crtc = crtc; ++ ++ wait->wait.func = do_rps_boost; ++ wait->wait.flags = 0; ++ ++ add_wait_queue(drm_crtc_vblank_waitqueue(crtc), &wait->wait); ++} ++ + /** + * intel_prepare_plane_fb - Prepare fb for usage on plane + * @plane: drm plane to prepare for +@@ -12733,12 +12782,22 @@ intel_prepare_plane_fb(struct drm_plane *plane, + return ret; + + if (!new_state->fence) { /* implicit fencing */ ++ struct dma_fence *fence; ++ + ret = i915_sw_fence_await_reservation(&intel_state->commit_ready, + obj->resv, NULL, + false, I915_FENCE_TIMEOUT, + GFP_KERNEL); + if (ret < 0) + return ret; ++ ++ fence = reservation_object_get_excl_rcu(obj->resv); ++ if (fence) { ++ add_rps_boost_after_vblank(new_state->crtc, fence); ++ dma_fence_put(fence); ++ } ++ } else { ++ add_rps_boost_after_vblank(new_state->crtc, new_state->fence); + } + + return 0; +diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h +index fa47285918f4..e092354b4d63 100644 +--- a/drivers/gpu/drm/i915/intel_drv.h ++++ b/drivers/gpu/drm/i915/intel_drv.h +@@ -1844,7 +1844,6 @@ void gen6_rps_reset_ei(struct drm_i915_private *dev_priv); + void gen6_rps_idle(struct drm_i915_private *dev_priv); + void gen6_rps_boost(struct drm_i915_gem_request *rq, + struct intel_rps_client *rps); +-void intel_queue_rps_boost_for_request(struct drm_i915_gem_request *req); + void g4x_wm_get_hw_state(struct drm_device *dev); + void vlv_wm_get_hw_state(struct drm_device *dev); + void ilk_wm_get_hw_state(struct drm_device *dev); +diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c +index ed662937ec3c..c9fa2eb1903c 100644 +--- a/drivers/gpu/drm/i915/intel_pm.c ++++ b/drivers/gpu/drm/i915/intel_pm.c +@@ -6169,6 +6169,7 @@ void gen6_rps_boost(struct drm_i915_gem_request *rq, + struct intel_rps_client *rps) + { + struct drm_i915_private *i915 = rq->i915; ++ unsigned long flags; + bool boost; + + /* This is intentionally racy! We peek at the state here, then +@@ -6178,13 +6179,13 @@ void gen6_rps_boost(struct drm_i915_gem_request *rq, + return; + + boost = false; +- spin_lock_irq(&rq->lock); ++ spin_lock_irqsave(&rq->lock, flags); + if (!rq->waitboost && !i915_gem_request_completed(rq)) { + atomic_inc(&i915->rps.num_waiters); + rq->waitboost = true; + boost = true; + } +- spin_unlock_irq(&rq->lock); ++ spin_unlock_irqrestore(&rq->lock, flags); + if (!boost) + return; + +@@ -9132,43 +9133,6 @@ int intel_freq_opcode(struct drm_i915_private *dev_priv, int val) + return DIV_ROUND_CLOSEST(val, GT_FREQUENCY_MULTIPLIER); + } + +-struct request_boost { +- struct work_struct work; +- struct drm_i915_gem_request *req; +-}; +- +-static void __intel_rps_boost_work(struct work_struct *work) +-{ +- struct request_boost *boost = container_of(work, struct request_boost, work); +- struct drm_i915_gem_request *req = boost->req; +- +- if (!i915_gem_request_completed(req)) +- gen6_rps_boost(req, NULL); +- +- i915_gem_request_put(req); +- kfree(boost); +-} +- +-void intel_queue_rps_boost_for_request(struct drm_i915_gem_request *req) +-{ +- struct request_boost *boost; +- +- if (req == NULL || INTEL_GEN(req->i915) < 6) +- return; +- +- if (i915_gem_request_completed(req)) +- return; +- +- boost = kmalloc(sizeof(*boost), GFP_ATOMIC); +- if (boost == NULL) +- return; +- +- boost->req = i915_gem_request_get(req); +- +- INIT_WORK(&boost->work, __intel_rps_boost_work); +- queue_work(req->i915->wq, &boost->work); +-} +- + void intel_pm_setup(struct drm_i915_private *dev_priv) + { + mutex_init(&dev_priv->rps.hw_lock); diff --git a/freed-ora/current/f26/drm-i915-boost-GPU-clocks-if-we-miss-the-pageflip.patch b/freed-ora/current/f26/drm-i915-boost-GPU-clocks-if-we-miss-the-pageflip.patch deleted file mode 100644 index 0bd0e7cef..000000000 --- a/freed-ora/current/f26/drm-i915-boost-GPU-clocks-if-we-miss-the-pageflip.patch +++ /dev/null @@ -1,238 +0,0 @@ -From 333e2a813cdfb86ff286ece6f13bec371aa03d7b Mon Sep 17 00:00:00 2001 -From: Chris Wilson <chris@chris-wilson.co.uk> -Date: Thu, 17 Aug 2017 13:37:06 +0100 -Subject: [PATCH] drm/i915: Boost GPU clocks if we miss the pageflip's vblank -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -If we miss the current vblank because the gpu was busy, that may cause a -jitter as the frame rate temporarily drops. We try to limit the impact -of this by then boosting the GPU clock to deliver the frame as quickly -as possible. Originally done in commit 6ad790c0f5ac ("drm/i915: Boost GPU -frequency if we detect outstanding pageflips") but was never forward -ported to atomic and finally dropped in commit fd3a40242e87 ("drm/i915: -Rip out legacy page_flip completion/irq handling"). - -One of the most typical use-cases for this is a mostly idle desktop. -Rendering one frame of the desktop's frontbuffer can easily be -accomplished by the GPU running at low frequency, but often exceeds -the time budget of the desktop compositor. The result is that animations -such as opening the menu, doing a fullscreen switch, or even just trying -to move a window around are slow and jerky. We need to respond within a -frame to give the best impression of a smooth UX, as a compromise we -instead respond if that first frame misses its goal. The result should -be a near-imperceivable initial delay and a smooth animation even -starting from idle. The cost, as ever, is that we spend more power than -is strictly necessary as we overestimate the required GPU frequency and -then try to ramp down. - -This of course is reactionary, too little, too late; nevertheless it is -surprisingly effective. - -Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=102199 -Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> -Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> -Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> -Cc: Daniel Vetter <daniel.vetter@intel.com> -Link: https://patchwork.freedesktop.org/patch/msgid/20170817123706.6777-1-chris@chris-wilson.co.uk -Tested-by: Lyude Paul <lyude@redhat.com> -Reviewed-by: Radoslaw Szwichtenberg <radoslaw.szwichtenberg@intel.com> ---- - drivers/gpu/drm/i915/i915_gem.c | 10 +++--- - drivers/gpu/drm/i915/intel_display.c | 63 ++++++++++++++++++++++++++++++++++++ - drivers/gpu/drm/i915/intel_pm.c | 14 ++++---- - 3 files changed, 77 insertions(+), 10 deletions(-) - -diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c -index 969bac8404f1..7d409b29d75a 100644 ---- a/drivers/gpu/drm/i915/i915_gem.c -+++ b/drivers/gpu/drm/i915/i915_gem.c -@@ -355,6 +355,7 @@ i915_gem_object_wait_fence(struct dma_fence *fence, - long timeout, - struct intel_rps_client *rps) - { -+ unsigned long irq_flags; - struct drm_i915_gem_request *rq; - - BUILD_BUG_ON(I915_WAIT_INTERRUPTIBLE != 0x1); -@@ -410,9 +411,9 @@ i915_gem_object_wait_fence(struct dma_fence *fence, - * Compensate by giving the synchronous client credit for - * a waitboost next time. - */ -- spin_lock(&rq->i915->rps.client_lock); -+ spin_lock_irqsave(&rq->i915->rps.client_lock, irq_flags); - list_del_init(&rps->link); -- spin_unlock(&rq->i915->rps.client_lock); -+ spin_unlock_irqrestore(&rq->i915->rps.client_lock, irq_flags); - } - - return timeout; -@@ -5029,6 +5030,7 @@ void i915_gem_release(struct drm_device *dev, struct drm_file *file) - { - struct drm_i915_file_private *file_priv = file->driver_priv; - struct drm_i915_gem_request *request; -+ unsigned long flags; - - /* Clean up our request list when the client is going away, so that - * later retire_requests won't dereference our soon-to-be-gone -@@ -5040,9 +5042,9 @@ void i915_gem_release(struct drm_device *dev, struct drm_file *file) - spin_unlock(&file_priv->mm.lock); - - if (!list_empty(&file_priv->rps.link)) { -- spin_lock(&to_i915(dev)->rps.client_lock); -+ spin_lock_irqsave(&to_i915(dev)->rps.client_lock, flags); - list_del(&file_priv->rps.link); -- spin_unlock(&to_i915(dev)->rps.client_lock); -+ spin_unlock_irqrestore(&to_i915(dev)->rps.client_lock, flags); - } - } - -diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c -index 022125082649..875eb7aec2f1 100644 ---- a/drivers/gpu/drm/i915/intel_display.c -+++ b/drivers/gpu/drm/i915/intel_display.c -@@ -13301,6 +13301,58 @@ static const struct drm_crtc_funcs intel_crtc_funcs = { - .set_crc_source = intel_crtc_set_crc_source, - }; - -+struct wait_rps_boost { -+ struct wait_queue_entry wait; -+ -+ struct drm_crtc *crtc; -+ struct drm_i915_gem_request *request; -+}; -+ -+static int do_rps_boost(struct wait_queue_entry *_wait, -+ unsigned mode, int sync, void *key) -+{ -+ struct wait_rps_boost *wait = container_of(_wait, typeof(*wait), wait); -+ struct drm_i915_gem_request *rq = wait->request; -+ -+ gen6_rps_boost(rq->i915, NULL, rq->emitted_jiffies); -+ i915_gem_request_put(rq); -+ -+ drm_crtc_vblank_put(wait->crtc); -+ -+ list_del(&wait->wait.entry); -+ kfree(wait); -+ return 1; -+} -+ -+static void add_rps_boost_after_vblank(struct drm_crtc *crtc, -+ struct dma_fence *fence) -+{ -+ struct wait_rps_boost *wait; -+ -+ if (!dma_fence_is_i915(fence)) -+ return; -+ -+ if (INTEL_GEN(to_i915(crtc->dev)) < 6) -+ return; -+ -+ if (drm_crtc_vblank_get(crtc)) -+ return; -+ -+ wait = kmalloc(sizeof(*wait), GFP_KERNEL); -+ if (!wait) { -+ drm_crtc_vblank_put(crtc); -+ return; -+ } -+ -+ wait->request = to_request(dma_fence_get(fence)); -+ wait->crtc = crtc; -+ -+ wait->wait.func = do_rps_boost; -+ wait->wait.flags = 0; -+ -+ add_wait_queue(drm_crtc_vblank_waitqueue(crtc), &wait->wait); -+} -+ - /** - * intel_prepare_plane_fb - Prepare fb for usage on plane - * @plane: drm plane to prepare for -@@ -13392,6 +13444,8 @@ intel_prepare_plane_fb(struct drm_plane *plane, - return 0; - - if (!new_state->fence) { /* implicit fencing */ -+ struct dma_fence *fence; -+ - ret = i915_sw_fence_await_reservation(&intel_state->commit_ready, - obj->resv, NULL, - false, I915_FENCE_TIMEOUT, -@@ -13399,7 +13453,16 @@ intel_prepare_plane_fb(struct drm_plane *plane, - if (ret < 0) - return ret; - -+ fence = reservation_object_get_excl_rcu(obj->resv); -+ if (fence) { -+ add_rps_boost_after_vblank(new_state->crtc, fence); -+ dma_fence_put(fence); -+ } -+ - i915_gem_object_wait_priority(obj, 0, I915_PRIORITY_DISPLAY); -+ -+ } else { -+ add_rps_boost_after_vblank(new_state->crtc, new_state->fence); - } - - return 0; -diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c -index 40b224b44d1b..b0ee9c4d33f4 100644 ---- a/drivers/gpu/drm/i915/intel_pm.c -+++ b/drivers/gpu/drm/i915/intel_pm.c -@@ -6108,6 +6108,7 @@ void gen6_rps_busy(struct drm_i915_private *dev_priv) - - void gen6_rps_idle(struct drm_i915_private *dev_priv) - { -+ unsigned long flags; - /* Flush our bottom-half so that it does not race with us - * setting the idle frequency and so that it is bounded by - * our rpm wakeref. And then disable the interrupts to stop any -@@ -6127,16 +6128,17 @@ void gen6_rps_idle(struct drm_i915_private *dev_priv) - } - mutex_unlock(&dev_priv->rps.hw_lock); - -- spin_lock(&dev_priv->rps.client_lock); -+ spin_lock_irqsave(&dev_priv->rps.client_lock, flags); - while (!list_empty(&dev_priv->rps.clients)) - list_del_init(dev_priv->rps.clients.next); -- spin_unlock(&dev_priv->rps.client_lock); -+ spin_unlock_irqrestore(&dev_priv->rps.client_lock, flags); - } - - void gen6_rps_boost(struct drm_i915_private *dev_priv, - struct intel_rps_client *rps, - unsigned long submitted) - { -+ unsigned long flags; - /* This is intentionally racy! We peek at the state here, then - * validate inside the RPS worker. - */ -@@ -6151,14 +6153,14 @@ void gen6_rps_boost(struct drm_i915_private *dev_priv, - if (rps && time_after(jiffies, submitted + DRM_I915_THROTTLE_JIFFIES)) - rps = NULL; - -- spin_lock(&dev_priv->rps.client_lock); -+ spin_lock_irqsave(&dev_priv->rps.client_lock, flags); - if (rps == NULL || list_empty(&rps->link)) { -- spin_lock_irq(&dev_priv->irq_lock); -+ spin_lock(&dev_priv->irq_lock); - if (dev_priv->rps.interrupts_enabled) { - dev_priv->rps.client_boost = true; - schedule_work(&dev_priv->rps.work); - } -- spin_unlock_irq(&dev_priv->irq_lock); -+ spin_unlock(&dev_priv->irq_lock); - - if (rps != NULL) { - list_add(&rps->link, &dev_priv->rps.clients); -@@ -6166,7 +6168,7 @@ void gen6_rps_boost(struct drm_i915_private *dev_priv, - } else - dev_priv->rps.boosts++; - } -- spin_unlock(&dev_priv->rps.client_lock); -+ spin_unlock_irqrestore(&dev_priv->rps.client_lock, flags); - } - - int intel_set_rps(struct drm_i915_private *dev_priv, u8 val) diff --git a/freed-ora/current/f26/drm-i915-turn-off-wc-mmaps.patch b/freed-ora/current/f26/drm-i915-turn-off-wc-mmaps.patch deleted file mode 100644 index c81b89226..000000000 --- a/freed-ora/current/f26/drm-i915-turn-off-wc-mmaps.patch +++ /dev/null @@ -1,21 +0,0 @@ -From: Dave Airlie <airlied@redhat.com> -Date: Thu, 4 Jun 2015 07:12:20 -0400 -Subject: [PATCH] drm: i915: turn off wc mmaps - ---- - drivers/gpu/drm/i915/i915_dma.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c -index d2df321ba634..775a5b11a366 100644 ---- a/drivers/gpu/drm/i915/i915_dma.c -+++ b/drivers/gpu/drm/i915/i915_dma.c -@@ -151,7 +151,7 @@ static int i915_getparam(struct drm_device *dev, void *data, - value = 1; - break; - case I915_PARAM_MMAP_VERSION: -- value = 1; -+ value = 0; - break; - case I915_PARAM_SUBSLICE_TOTAL: - value = INTEL_INFO(dev)->subslice_total; diff --git a/freed-ora/current/f26/drm-vc4-Fix-OOPSes-from-trying-to-cache-a-partially-constructed-BO..patch b/freed-ora/current/f26/drm-vc4-Fix-OOPSes-from-trying-to-cache-a-partially-constructed-BO..patch deleted file mode 100644 index 70a528253..000000000 --- a/freed-ora/current/f26/drm-vc4-Fix-OOPSes-from-trying-to-cache-a-partially-constructed-BO..patch +++ /dev/null @@ -1,42 +0,0 @@ -From patchwork Thu Feb 9 18:16:00 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: drm/vc4: Fix OOPSes from trying to cache a partially constructed BO. -From: Eric Anholt <eric@anholt.net> -X-Patchwork-Id: 138087 -Message-Id: <20170209181600.24048-1-eric@anholt.net> -To: dri-devel@lists.freedesktop.org -Cc: linux-kernel@vger.kernel.org, pbrobinson@gmail.com -Date: Thu, 9 Feb 2017 10:16:00 -0800 - -If a CMA allocation failed, the partially constructed BO would be -unreferenced through the normal path, and we might choose to put it in -the BO cache. If we then reused it before it expired from the cache, -the kernel would OOPS. - -Signed-off-by: Eric Anholt <eric@anholt.net> -Fixes: c826a6e10644 ("drm/vc4: Add a BO cache.") ---- - drivers/gpu/drm/vc4/vc4_bo.c | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git a/drivers/gpu/drm/vc4/vc4_bo.c b/drivers/gpu/drm/vc4/vc4_bo.c -index 5ec14f25625d..fd83a2807656 100644 ---- a/drivers/gpu/drm/vc4/vc4_bo.c -+++ b/drivers/gpu/drm/vc4/vc4_bo.c -@@ -314,6 +314,14 @@ void vc4_free_object(struct drm_gem_object *gem_bo) - goto out; - } - -+ /* If this object was partially constructed but CMA allocation -+ * had failed, just free it. -+ */ -+ if (!bo->base.vaddr) { -+ vc4_bo_destroy(bo); -+ goto out; -+ } -+ - cache_list = vc4_get_cache_list_for_size(dev, gem_bo->size); - if (!cache_list) { - vc4_bo_destroy(bo); diff --git a/freed-ora/current/f26/efi-Add-SHIM-and-image-security-database-GUID-defini.patch b/freed-ora/current/f26/efi-Add-SHIM-and-image-security-database-GUID-defini.patch new file mode 100644 index 000000000..4d380ea76 --- /dev/null +++ b/freed-ora/current/f26/efi-Add-SHIM-and-image-security-database-GUID-defini.patch @@ -0,0 +1,31 @@ +From 3a9fe1504e08824d894bb3a804c6a313f5d1be8a Mon Sep 17 00:00:00 2001 +From: Josh Boyer <jwboyer@fedoraproject.org> +Date: Tue, 25 Oct 2016 12:54:11 -0400 +Subject: [PATCH 11/20] efi: Add SHIM and image security database GUID + definitions + +Add the definitions for shim and image security database, both of which +are used widely in various Linux distros. + +Signed-off-by: Josh Boyer <jwboyer@fedoraproject.org> +--- + include/linux/efi.h | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/include/linux/efi.h b/include/linux/efi.h +index 2d089487d2da..ce943d5accfd 100644 +--- a/include/linux/efi.h ++++ b/include/linux/efi.h +@@ -592,6 +592,9 @@ void efi_native_runtime_setup(void); + #define EFI_MEMORY_ATTRIBUTES_TABLE_GUID EFI_GUID(0xdcfa911d, 0x26eb, 0x469f, 0xa2, 0x20, 0x38, 0xb7, 0xdc, 0x46, 0x12, 0x20) + #define EFI_CONSOLE_OUT_DEVICE_GUID EFI_GUID(0xd3b36f2c, 0xd551, 0x11d4, 0x9a, 0x46, 0x00, 0x90, 0x27, 0x3f, 0xc1, 0x4d) + ++#define EFI_IMAGE_SECURITY_DATABASE_GUID EFI_GUID(0xd719b2cb, 0x3d3a, 0x4596, 0xa3, 0xbc, 0xda, 0xd0, 0x0e, 0x67, 0x65, 0x6f) ++#define EFI_SHIM_LOCK_GUID EFI_GUID(0x605dab50, 0xe046, 0x4300, 0xab, 0xb6, 0x3d, 0xd8, 0x10, 0xdd, 0x8b, 0x23) ++ + /* + * This GUID is used to pass to the kernel proper the struct screen_info + * structure that was populated by the stub based on the GOP protocol instance +-- +2.9.3 + diff --git a/freed-ora/current/f26/efi-lockdown.patch b/freed-ora/current/f26/efi-lockdown.patch index e04878458..4ac65fd5d 100644 --- a/freed-ora/current/f26/efi-lockdown.patch +++ b/freed-ora/current/f26/efi-lockdown.patch @@ -1,53 +1,7 @@ -From df7d76ae50f18d4465e59fdf7f19d3df44906cb5 Mon Sep 17 00:00:00 2001 -From: Josh Boyer <jwboyer@fedoraproject.org> -Date: Mon, 21 Nov 2016 23:55:55 +0000 -Subject: [PATCH 07/32] efi: Add EFI_SECURE_BOOT bit - -UEFI machines can be booted in Secure Boot mode. Add a EFI_SECURE_BOOT bit -that can be passed to efi_enabled() to find out whether secure boot is -enabled. - -This will be used by the SysRq+x handler, registered by the x86 arch, to find -out whether secure boot mode is enabled so that it can be disabled. - -Signed-off-by: Josh Boyer <jwboyer@fedoraproject.org> -Signed-off-by: David Howells <dhowells@redhat.com> ---- - arch/x86/kernel/setup.c | 1 + - include/linux/efi.h | 1 + - 2 files changed, 2 insertions(+) - -diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c -index 69780ed..447905e 100644 ---- a/arch/x86/kernel/setup.c -+++ b/arch/x86/kernel/setup.c -@@ -1182,6 +1182,7 @@ void __init setup_arch(char **cmdline_p) - pr_info("Secure boot disabled\n"); - break; - case efi_secureboot_mode_enabled: -+ set_bit(EFI_SECURE_BOOT, &efi.flags); - pr_info("Secure boot enabled\n"); - break; - default: -diff --git a/include/linux/efi.h b/include/linux/efi.h -index 94d34e0..6049600 100644 ---- a/include/linux/efi.h -+++ b/include/linux/efi.h -@@ -1069,6 +1069,7 @@ extern int __init efi_setup_pcdp_console(char *); - #define EFI_DBG 8 /* Print additional debug info at runtime */ - #define EFI_NX_PE_DATA 9 /* Can runtime data regions be mapped non-executable? */ - #define EFI_MEM_ATTR 10 /* Did firmware publish an EFI_MEMORY_ATTRIBUTES table? */ -+#define EFI_SECURE_BOOT 11 /* Are we in Secure Boot mode? */ - - #ifdef CONFIG_EFI - /* --- -2.7.4 - -From f05a90c19a9613d8d50597319ed91f691e25b689 Mon Sep 17 00:00:00 2001 +From 646ac5c07196bc3680e34188e55c8cc3565f65e7 Mon Sep 17 00:00:00 2001 From: David Howells <dhowells@redhat.com> -Date: Mon, 21 Nov 2016 23:36:17 +0000 -Subject: [PATCH 09/32] Add the ability to lock down access to the running +Date: Wed, 24 May 2017 14:56:00 +0100 +Subject: [PATCH 01/26] Add the ability to lock down access to the running kernel image Provide a single call to allow kernel code to determine whether the system @@ -57,64 +11,70 @@ modules that aren't validly signed with a key we recognise, fiddling with MSR registers and disallowing hibernation, Signed-off-by: David Howells <dhowells@redhat.com> +Acked-by: James Morris <james.l.morris@oracle.com> --- - include/linux/kernel.h | 9 +++++++++ - include/linux/security.h | 11 +++++++++++ - security/Kconfig | 15 +++++++++++++++ + include/linux/kernel.h | 17 ++++++++++++++ + include/linux/security.h | 8 +++++++ + security/Kconfig | 8 +++++++ security/Makefile | 3 +++ - security/lock_down.c | 40 ++++++++++++++++++++++++++++++++++++++++ - 5 files changed, 78 insertions(+) + security/lock_down.c | 60 ++++++++++++++++++++++++++++++++++++++++++++++++ + 5 files changed, 96 insertions(+) create mode 100644 security/lock_down.c diff --git a/include/linux/kernel.h b/include/linux/kernel.h -index cb09238..3cd3be9 100644 +index 0ad4c3044cf9..362da2e4bf53 100644 --- a/include/linux/kernel.h +++ b/include/linux/kernel.h -@@ -273,6 +273,15 @@ extern int oops_may_print(void); - void do_exit(long error_code) __noreturn; - void complete_and_exit(struct completion *, long) __noreturn; - +@@ -287,6 +287,23 @@ static inline void refcount_error_report(struct pt_regs *regs, const char *err) + { } + #endif + +#ifdef CONFIG_LOCK_DOWN_KERNEL -+extern bool kernel_is_locked_down(void); ++extern bool __kernel_is_locked_down(const char *what, bool first); +#else -+static inline bool kernel_is_locked_down(void) ++static inline bool __kernel_is_locked_down(const char *what, bool first) +{ + return false; +} +#endif + ++#define kernel_is_locked_down(what) \ ++ ({ \ ++ static bool message_given; \ ++ bool locked_down = __kernel_is_locked_down(what, !message_given); \ ++ message_given = true; \ ++ locked_down; \ ++ }) ++ /* Internal, do not use. */ int __must_check _kstrtoul(const char *s, unsigned int base, unsigned long *res); int __must_check _kstrtol(const char *s, unsigned int base, long *res); diff --git a/include/linux/security.h b/include/linux/security.h -index d3868f2..187b74b 100644 +index ce6265960d6c..310775476b68 100644 --- a/include/linux/security.h +++ b/include/linux/security.h -@@ -1679,5 +1679,16 @@ static inline void free_secdata(void *secdata) +@@ -1753,5 +1753,13 @@ static inline void free_secdata(void *secdata) { } #endif /* CONFIG_SECURITY */ - + +#ifdef CONFIG_LOCK_DOWN_KERNEL -+extern void lock_kernel_down(void); -+#ifdef CONFIG_ALLOW_LOCKDOWN_LIFT -+extern void lift_kernel_lockdown(void); -+#endif ++extern void __init init_lockdown(void); +#else -+static inline void lock_kernel_down(void) ++static inline void __init init_lockdown(void) +{ +} +#endif + #endif /* ! __LINUX_SECURITY_H */ - + diff --git a/security/Kconfig b/security/Kconfig -index d900f47..d9b391d 100644 +index e8e449444e65..8e01fd59ae7e 100644 --- a/security/Kconfig +++ b/security/Kconfig -@@ -193,6 +193,21 @@ config STATIC_USERMODEHELPER_PATH +@@ -205,6 +205,14 @@ config STATIC_USERMODEHELPER_PATH If you wish for all usermode helper programs to be disabled, specify an empty string here (i.e. ""). - + +config LOCK_DOWN_KERNEL + bool "Allow the kernel to be 'locked down'" + help @@ -123,18 +83,11 @@ index d900f47..d9b391d 100644 + turns off various features that might otherwise allow access to the + kernel image (eg. setting MSR registers). + -+config ALLOW_LOCKDOWN_LIFT -+ bool -+ help -+ Allow the lockdown on a kernel to be lifted, thereby restoring the -+ ability of userspace to access the kernel image (eg. by SysRq+x under -+ x86). -+ source security/selinux/Kconfig source security/smack/Kconfig source security/tomoyo/Kconfig diff --git a/security/Makefile b/security/Makefile -index f2d71cd..8c4a43e 100644 +index f2d71cdb8e19..8c4a43e3d4e0 100644 --- a/security/Makefile +++ b/security/Makefile @@ -29,3 +29,6 @@ obj-$(CONFIG_CGROUP_DEVICE) += device_cgroup.o @@ -146,10 +99,10 @@ index f2d71cd..8c4a43e 100644 +obj-$(CONFIG_LOCK_DOWN_KERNEL) += lock_down.o diff --git a/security/lock_down.c b/security/lock_down.c new file mode 100644 -index 0000000..5788c60 +index 000000000000..d8595c0e6673 --- /dev/null +++ b/security/lock_down.c -@@ -0,0 +1,40 @@ +@@ -0,0 +1,60 @@ +/* Lock down the kernel + * + * Copyright (C) 2016 Red Hat, Inc. All Rights Reserved. @@ -164,282 +117,110 @@ index 0000000..5788c60 +#include <linux/security.h> +#include <linux/export.h> + -+static __read_mostly bool kernel_locked_down; ++static __ro_after_init bool kernel_locked_down; + +/* + * Put the kernel into lock-down mode. + */ -+void lock_kernel_down(void) ++static void __init lock_kernel_down(const char *where) +{ -+ kernel_locked_down = true; ++ if (!kernel_locked_down) { ++ kernel_locked_down = true; ++ pr_notice("Kernel is locked down from %s; see man kernel_lockdown.7\n", ++ where); ++ } +} + ++static int __init lockdown_param(char *ignored) ++{ ++ lock_kernel_down("command line"); ++ return 0; ++} ++ ++early_param("lockdown", lockdown_param); ++ +/* -+ * Take the kernel out of lockdown mode. ++ * Lock the kernel down from very early in the arch setup. This must happen ++ * prior to things like ACPI being initialised. + */ -+void lift_kernel_lockdown(void) ++void __init init_lockdown(void) +{ -+ kernel_locked_down = false; ++#ifdef CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT ++ if (efi_enabled(EFI_SECURE_BOOT)) ++ lock_kernel_down("EFI secure boot"); ++#endif +} + +/** + * kernel_is_locked_down - Find out if the kernel is locked down ++ * @what: Tag to use in notice generated if lockdown is in effect + */ -+bool kernel_is_locked_down(void) ++bool __kernel_is_locked_down(const char *what, bool first) +{ ++ if (what && first && kernel_locked_down) ++ pr_notice("Lockdown: %s is restricted; see man kernel_lockdown.7\n", ++ what); + return kernel_locked_down; +} -+EXPORT_SYMBOL(kernel_is_locked_down); ++EXPORT_SYMBOL(__kernel_is_locked_down); -- -2.7.4 - -From fb6feb38e297260d050fc477c72683ac51d07ae3 Mon Sep 17 00:00:00 2001 -From: David Howells <dhowells@redhat.com> -Date: Mon, 21 Nov 2016 23:55:55 +0000 -Subject: [PATCH 10/32] efi: Lock down the kernel if booted in secure boot mode +2.13.6 -UEFI Secure Boot provides a mechanism for ensuring that the firmware will -only load signed bootloaders and kernels. Certain use cases may also -require that all kernel modules also be signed. Add a configuration option -that to lock down the kernel - which includes requiring validly signed -modules - if the kernel is secure-booted. - -Signed-off-by: David Howells <dhowells@redhat.com> ---- - arch/x86/Kconfig | 12 ++++++++++++ - arch/x86/kernel/setup.c | 8 +++++++- - 2 files changed, 19 insertions(+), 1 deletion(-) - -diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig -index 874c123..a315974 100644 ---- a/arch/x86/Kconfig -+++ b/arch/x86/Kconfig -@@ -1816,6 +1816,18 @@ config EFI_MIXED - - If unsure, say N. - -+config EFI_SECURE_BOOT_LOCK_DOWN -+ def_bool n -+ depends on EFI -+ prompt "Lock down the kernel when UEFI Secure Boot is enabled" -+ ---help--- -+ UEFI Secure Boot provides a mechanism for ensuring that the firmware -+ will only load signed bootloaders and kernels. Certain use cases may -+ also require that all kernel modules also be signed and that -+ userspace is prevented from directly changing the running kernel -+ image. Say Y here to automatically lock down the kernel when a -+ system boots with UEFI Secure Boot enabled. -+ - config SECCOMP - def_bool y - prompt "Enable seccomp to safely compute untrusted bytecode" -diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c -index 447905e..d44e60e 100644 ---- a/arch/x86/kernel/setup.c -+++ b/arch/x86/kernel/setup.c -@@ -69,6 +69,7 @@ - #include <linux/crash_dump.h> - #include <linux/tboot.h> - #include <linux/jiffies.h> -+#include <linux/security.h> - - #include <linux/usb/xhci-dbgp.h> - #include <video/edid.h> -@@ -1183,7 +1184,12 @@ void __init setup_arch(char **cmdline_p) - break; - case efi_secureboot_mode_enabled: - set_bit(EFI_SECURE_BOOT, &efi.flags); -- pr_info("Secure boot enabled\n"); -+ if (IS_ENABLED(CONFIG_EFI_SECURE_BOOT_LOCK_DOWN)) { -+ lock_kernel_down(); -+ pr_info("Secure boot enabled and kernel locked down\n"); -+ } else { -+ pr_info("Secure boot enabled\n"); -+ } - break; - default: - pr_info("Secure boot could not be determined\n"); --- -2.7.4 +From 2c46467f43bc54324de5474a8355f98c692309e4 Mon Sep 17 00:00:00 2001 +From: Kyle McMartin <kyle@redhat.com> +Date: Wed, 18 Oct 2017 14:02:25 +0100 +Subject: [PATCH 02/26] Add a SysRq option to lift kernel lockdown -From 7182f2f5b254d6dc6d3105d2f99219a76adf9de0 Mon Sep 17 00:00:00 2001 -From: David Howells <dhowells@redhat.com> -Date: Wed, 23 Nov 2016 13:22:22 +0000 -Subject: [PATCH 11/32] Enforce module signatures if the kernel is locked down +Make an option to provide a sysrq key that will lift the kernel lockdown, +thereby allowing the running kernel image to be accessed and modified. -If the kernel is locked down, require that all modules have valid -signatures that we can verify. +On x86_64 this is triggered with SysRq+x, but this key may not be available +on all arches, so it is set by setting LOCKDOWN_LIFT_KEY in asm/setup.h. +Signed-off-by: Kyle McMartin <kyle@redhat.com> Signed-off-by: David Howells <dhowells@redhat.com> +cc: x86@kernel.org --- - kernel/module.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/kernel/module.c b/kernel/module.c -index 7eba6de..3331f2e 100644 ---- a/kernel/module.c -+++ b/kernel/module.c -@@ -2756,7 +2756,7 @@ static int module_sig_check(struct load_info *info, int flags) - } - - /* Not having a signature is only an error if we're strict. */ -- if (err == -ENOKEY && !sig_enforce) -+ if (err == -ENOKEY && !sig_enforce && !kernel_is_locked_down()) - err = 0; - - return err; --- -2.7.4 - -From 7e97c58bcd0b4c082b889fb093a2779147532b9f Mon Sep 17 00:00:00 2001 -From: Matthew Garrett <matthew.garrett@nebula.com> -Date: Tue, 22 Nov 2016 08:46:16 +0000 -Subject: [PATCH 12/32] Restrict /dev/mem and /dev/kmem when the kernel is - locked down - -Allowing users to write to address space makes it possible for the kernel to -be subverted, avoiding module loading restrictions. Prevent this when the -kernel has been locked down. - -Signed-off-by: Matthew Garrett <matthew.garrett@nebula.com> -Signed-off-by: David Howells <dhowells@redhat.com> ---- - drivers/char/mem.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/drivers/char/mem.c b/drivers/char/mem.c -index 6d9cc2d..f814404 100644 ---- a/drivers/char/mem.c -+++ b/drivers/char/mem.c -@@ -163,6 +163,9 @@ static ssize_t write_mem(struct file *file, const char __user *buf, - if (p != *ppos) - return -EFBIG; - -+ if (kernel_is_locked_down()) -+ return -EPERM; + arch/x86/include/asm/setup.h | 2 ++ + drivers/input/misc/uinput.c | 1 + + drivers/tty/sysrq.c | 19 ++++++++++++------ + include/linux/input.h | 5 +++++ + include/linux/sysrq.h | 8 +++++++- + kernel/debug/kdb/kdb_main.c | 2 +- + security/Kconfig | 8 ++++++++ + security/lock_down.c | 47 ++++++++++++++++++++++++++++++++++++++++++++ + 8 files changed, 84 insertions(+), 8 deletions(-) + +diff --git a/arch/x86/include/asm/setup.h b/arch/x86/include/asm/setup.h +index a65cf544686a..863f77582c09 100644 +--- a/arch/x86/include/asm/setup.h ++++ b/arch/x86/include/asm/setup.h +@@ -8,6 +8,8 @@ + #include <linux/linkage.h> + #include <asm/page_types.h> + ++#define LOCKDOWN_LIFT_KEY 'x' + - if (!valid_phys_addr_range(p, count)) - return -EFAULT; - -@@ -513,6 +516,9 @@ static ssize_t write_kmem(struct file *file, const char __user *buf, - char *kbuf; /* k-addr because vwrite() takes vmlist_lock rwlock */ - int err = 0; - -+ if (kernel_is_locked_down()) -+ return -EPERM; -+ - if (p < (unsigned long) high_memory) { - unsigned long to_write = min_t(unsigned long, count, - (unsigned long)high_memory - p); --- -2.7.4 - -From b83b68a9a13120664eaabf21a7b3ff0b065bd5b2 Mon Sep 17 00:00:00 2001 -From: Kyle McMartin <kyle@redhat.com> -Date: Mon, 21 Nov 2016 23:55:56 +0000 -Subject: [PATCH 13/32] Add a sysrq option to exit secure boot mode - -Make sysrq+x exit secure boot mode on x86_64, thereby allowing the running -kernel image to be modified. This lifts the lockdown. + #ifdef __i386__ -Signed-off-by: David Howells <dhowells@redhat.com> ---- - arch/x86/Kconfig | 10 ++++++++++ - arch/x86/kernel/setup.c | 31 +++++++++++++++++++++++++++++++ - drivers/input/misc/uinput.c | 1 + - drivers/tty/sysrq.c | 19 +++++++++++++------ - include/linux/input.h | 5 +++++ - include/linux/sysrq.h | 8 +++++++- - kernel/debug/kdb/kdb_main.c | 2 +- - 7 files changed, 68 insertions(+), 8 deletions(-) - -diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig -index a315974..6931e68 100644 ---- a/arch/x86/Kconfig -+++ b/arch/x86/Kconfig -@@ -1828,6 +1828,16 @@ config EFI_SECURE_BOOT_LOCK_DOWN - image. Say Y here to automatically lock down the kernel when a - system boots with UEFI Secure Boot enabled. - -+config EFI_ALLOW_SECURE_BOOT_EXIT -+ def_bool n -+ depends on EFI_SECURE_BOOT_LOCK_DOWN && MAGIC_SYSRQ -+ select ALLOW_LOCKDOWN_LIFT -+ prompt "Allow secure boot mode to be exited with SysRq+x on a keyboard" -+ ---help--- -+ Allow secure boot mode to be exited and the kernel lockdown lifted by -+ typing SysRq+x on a keyboard attached to the system (not permitted -+ through procfs). -+ - config SECCOMP - def_bool y - prompt "Enable seccomp to safely compute untrusted bytecode" -diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c -index d44e60e..f7635d0 100644 ---- a/arch/x86/kernel/setup.c -+++ b/arch/x86/kernel/setup.c -@@ -71,6 +71,11 @@ - #include <linux/jiffies.h> - #include <linux/security.h> - -+#include <linux/fips.h> -+#include <linux/cred.h> -+#include <linux/sysrq.h> -+#include <linux/init_task.h> -+ - #include <linux/usb/xhci-dbgp.h> - #include <video/edid.h> - -@@ -1328,6 +1333,32 @@ void __init i386_reserve_resources(void) - - #endif /* CONFIG_X86_32 */ - -+#ifdef CONFIG_EFI_ALLOW_SECURE_BOOT_EXIT -+ -+static void sysrq_handle_secure_boot(int key) -+{ -+ if (!efi_enabled(EFI_SECURE_BOOT)) -+ return; -+ -+ pr_info("Secure boot disabled\n"); -+ lift_kernel_lockdown(); -+} -+static struct sysrq_key_op secure_boot_sysrq_op = { -+ .handler = sysrq_handle_secure_boot, -+ .help_msg = "unSB(x)", -+ .action_msg = "Disabling Secure Boot restrictions", -+ .enable_mask = SYSRQ_DISABLE_USERSPACE, -+}; -+static int __init secure_boot_sysrq(void) -+{ -+ if (efi_enabled(EFI_SECURE_BOOT)) -+ register_sysrq_key('x', &secure_boot_sysrq_op); -+ return 0; -+} -+late_initcall(secure_boot_sysrq); -+#endif /*CONFIG_EFI_ALLOW_SECURE_BOOT_EXIT*/ -+ -+ - static struct notifier_block kernel_offset_notifier = { - .notifier_call = dump_kernel_offset - }; + #include <linux/pfn.h> diff --git a/drivers/input/misc/uinput.c b/drivers/input/misc/uinput.c -index 022be0e..4a054a5 100644 +index 443151de90c6..45a1f5460805 100644 --- a/drivers/input/misc/uinput.c +++ b/drivers/input/misc/uinput.c -@@ -387,6 +387,7 @@ static int uinput_allocate_device(struct uinput_device *udev) +@@ -408,6 +408,7 @@ static int uinput_allocate_device(struct uinput_device *udev) if (!udev->dev) return -ENOMEM; - + + udev->dev->flags |= INPUTDEV_FLAGS_SYNTHETIC; udev->dev->event = uinput_dev_event; input_set_drvdata(udev->dev, udev); - + diff --git a/drivers/tty/sysrq.c b/drivers/tty/sysrq.c -index 7113674..e1addc3 100644 +index 3ffc1ce29023..8b766dbad6dd 100644 --- a/drivers/tty/sysrq.c +++ b/drivers/tty/sysrq.c -@@ -479,6 +479,7 @@ static struct sysrq_key_op *sysrq_key_table[36] = { +@@ -481,6 +481,7 @@ static struct sysrq_key_op *sysrq_key_table[36] = { /* x: May be registered on mips for TLB dump */ /* x: May be registered on ppc/powerpc for xmon */ /* x: May be registered on sparc64 for global PMU dump */ @@ -447,17 +228,17 @@ index 7113674..e1addc3 100644 NULL, /* x */ /* y: May be registered on sparc64 for global register dump */ NULL, /* y */ -@@ -522,7 +523,7 @@ static void __sysrq_put_key_op(int key, struct sysrq_key_op *op_p) +@@ -524,7 +525,7 @@ static void __sysrq_put_key_op(int key, struct sysrq_key_op *op_p) sysrq_key_table[i] = op_p; } - + -void __handle_sysrq(int key, bool check_mask) +void __handle_sysrq(int key, unsigned int from) { struct sysrq_key_op *op_p; int orig_log_level; -@@ -542,11 +543,15 @@ void __handle_sysrq(int key, bool check_mask) - +@@ -544,11 +545,15 @@ void __handle_sysrq(int key, bool check_mask) + op_p = __sysrq_get_key_op(key); if (op_p) { + /* Ban synthetic events from some sysrq functionality */ @@ -473,7 +254,7 @@ index 7113674..e1addc3 100644 pr_cont("%s\n", op_p->action_msg); console_loglevel = orig_log_level; op_p->handler(key); -@@ -578,7 +583,7 @@ void __handle_sysrq(int key, bool check_mask) +@@ -580,7 +585,7 @@ void __handle_sysrq(int key, bool check_mask) void handle_sysrq(int key) { if (sysrq_on()) @@ -481,18 +262,18 @@ index 7113674..e1addc3 100644 + __handle_sysrq(key, SYSRQ_FROM_KERNEL); } EXPORT_SYMBOL(handle_sysrq); - -@@ -659,7 +664,7 @@ static void sysrq_do_reset(unsigned long _state) + +@@ -661,7 +666,7 @@ static void sysrq_do_reset(unsigned long _state) static void sysrq_handle_reset_request(struct sysrq_state *state) { if (state->reset_requested) - __handle_sysrq(sysrq_xlate[KEY_B], false); + __handle_sysrq(sysrq_xlate[KEY_B], SYSRQ_FROM_KERNEL); - + if (sysrq_reset_downtime_ms) mod_timer(&state->keyreset_timer, -@@ -810,8 +815,10 @@ static bool sysrq_handle_keypress(struct sysrq_state *sysrq, - +@@ -812,8 +817,10 @@ static bool sysrq_handle_keypress(struct sysrq_state *sysrq, + default: if (sysrq->active && value && value != 2) { + int from = sysrq->handle.dev->flags & INPUTDEV_FLAGS_SYNTHETIC ? @@ -503,17 +284,17 @@ index 7113674..e1addc3 100644 } break; } -@@ -1095,7 +1102,7 @@ static ssize_t write_sysrq_trigger(struct file *file, const char __user *buf, - +@@ -1097,7 +1104,7 @@ static ssize_t write_sysrq_trigger(struct file *file, const char __user *buf, + if (get_user(c, buf)) return -EFAULT; - __handle_sysrq(c, false); + __handle_sysrq(c, SYSRQ_FROM_PROC); } - + return count; diff --git a/include/linux/input.h b/include/linux/input.h -index a65e3b2..8b03571 100644 +index fb5e23c7ed98..9d2b45a21ade 100644 --- a/include/linux/input.h +++ b/include/linux/input.h @@ -42,6 +42,7 @@ struct input_value { @@ -527,29 +308,29 @@ index a65e3b2..8b03571 100644 @@ -124,6 +125,8 @@ struct input_dev { const char *uniq; struct input_id id; - + + unsigned int flags; + unsigned long propbit[BITS_TO_LONGS(INPUT_PROP_CNT)]; - + unsigned long evbit[BITS_TO_LONGS(EV_CNT)]; @@ -190,6 +193,8 @@ struct input_dev { }; #define to_input_dev(d) container_of(d, struct input_dev, dev) - + +#define INPUTDEV_FLAGS_SYNTHETIC 0x000000001 + /* * Verify that we are in sync with input_device_id mod_devicetable.h #defines */ diff --git a/include/linux/sysrq.h b/include/linux/sysrq.h -index 387fa7d..f7c52a9 100644 +index 387fa7d05c98..f7c52a9ea394 100644 --- a/include/linux/sysrq.h +++ b/include/linux/sysrq.h @@ -28,6 +28,8 @@ #define SYSRQ_ENABLE_BOOT 0x0080 #define SYSRQ_ENABLE_RTNICE 0x0100 - + +#define SYSRQ_DISABLE_USERSPACE 0x00010000 + struct sysrq_key_op { @@ -558,7 +339,7 @@ index 387fa7d..f7c52a9 100644 @@ -42,8 +44,12 @@ struct sysrq_key_op { * are available -- else NULL's). */ - + +#define SYSRQ_FROM_KERNEL 0x0001 +#define SYSRQ_FROM_PROC 0x0002 +#define SYSRQ_FROM_SYNTHETIC 0x0004 @@ -570,25 +351,179 @@ index 387fa7d..f7c52a9 100644 int unregister_sysrq_key(int key, struct sysrq_key_op *op); struct sysrq_key_op *__sysrq_get_key_op(int key); diff --git a/kernel/debug/kdb/kdb_main.c b/kernel/debug/kdb/kdb_main.c -index ca18391..c4524b8 100644 +index c8146d53ca67..b480cadf9272 100644 --- a/kernel/debug/kdb/kdb_main.c +++ b/kernel/debug/kdb/kdb_main.c -@@ -1967,7 +1967,7 @@ static int kdb_sr(int argc, const char **argv) +@@ -1970,7 +1970,7 @@ static int kdb_sr(int argc, const char **argv) return KDB_ARGCOUNT; - + kdb_trap_printk++; - __handle_sysrq(*argv[1], check_mask); + __handle_sysrq(*argv[1], check_mask ? SYSRQ_FROM_KERNEL : 0); kdb_trap_printk--; - + return 0; +diff --git a/security/Kconfig b/security/Kconfig +index 8e01fd59ae7e..453cc89c198a 100644 +--- a/security/Kconfig ++++ b/security/Kconfig +@@ -213,6 +213,14 @@ config LOCK_DOWN_KERNEL + turns off various features that might otherwise allow access to the + kernel image (eg. setting MSR registers). + ++config ALLOW_LOCKDOWN_LIFT_BY_SYSRQ ++ bool "Allow the kernel lockdown to be lifted by SysRq" ++ depends on LOCK_DOWN_KERNEL && MAGIC_SYSRQ ++ help ++ Allow the lockdown on a kernel to be lifted, by pressing a SysRq key ++ combination on a wired keyboard. ++ ++ + source security/selinux/Kconfig + source security/smack/Kconfig + source security/tomoyo/Kconfig +diff --git a/security/lock_down.c b/security/lock_down.c +index d8595c0e6673..2c6b00f0c229 100644 +--- a/security/lock_down.c ++++ b/security/lock_down.c +@@ -11,8 +11,14 @@ + + #include <linux/security.h> + #include <linux/export.h> ++#include <linux/sysrq.h> ++#include <asm/setup.h> + ++#ifdef CONFIG_ALLOW_LOCKDOWN_LIFT_BY_SYSRQ ++static __read_mostly bool kernel_locked_down; ++#else + static __ro_after_init bool kernel_locked_down; ++#endif + + /* + * Put the kernel into lock-down mode. +@@ -58,3 +64,44 @@ bool __kernel_is_locked_down(const char *what, bool first) + return kernel_locked_down; + } + EXPORT_SYMBOL(__kernel_is_locked_down); ++ ++#ifdef CONFIG_ALLOW_LOCKDOWN_LIFT_BY_SYSRQ ++ ++/* ++ * Take the kernel out of lockdown mode. ++ */ ++static void lift_kernel_lockdown(void) ++{ ++ pr_notice("Lifting lockdown\n"); ++ kernel_locked_down = false; ++} ++ ++/* ++ * Allow lockdown to be lifted by pressing something like SysRq+x (and not by ++ * echoing the appropriate letter into the sysrq-trigger file). ++ */ ++static void sysrq_handle_lockdown_lift(int key) ++{ ++ if (kernel_locked_down) ++ lift_kernel_lockdown(); ++} ++ ++static struct sysrq_key_op lockdown_lift_sysrq_op = { ++ .handler = sysrq_handle_lockdown_lift, ++ .help_msg = "unSB(x)", ++ .action_msg = "Disabling Secure Boot restrictions", ++ .enable_mask = SYSRQ_DISABLE_USERSPACE, ++}; ++ ++static int __init lockdown_lift_sysrq(void) ++{ ++ if (kernel_locked_down) { ++ lockdown_lift_sysrq_op.help_msg[5] = LOCKDOWN_LIFT_KEY; ++ register_sysrq_key(LOCKDOWN_LIFT_KEY, &lockdown_lift_sysrq_op); ++ } ++ return 0; ++} ++ ++late_initcall(lockdown_lift_sysrq); ++ ++#endif /* CONFIG_ALLOW_LOCKDOWN_LIFT_BY_SYSRQ */ +-- +2.13.6 + +From 4c389db9daee3a3a444339a7d789de1d9366f736 Mon Sep 17 00:00:00 2001 +From: David Howells <dhowells@redhat.com> +Date: Wed, 24 May 2017 14:56:01 +0100 +Subject: [PATCH 03/26] Enforce module signatures if the kernel is locked down + +If the kernel is locked down, require that all modules have valid +signatures that we can verify. + +Signed-off-by: David Howells <dhowells@redhat.com> +Reviewed-by: "Lee, Chun-Yi" <jlee@suse.com> +Reviewed-by: James Morris <james.l.morris@oracle.com> +--- + kernel/module.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/kernel/module.c b/kernel/module.c +index de66ec825992..3d9a3270c179 100644 +--- a/kernel/module.c ++++ b/kernel/module.c +@@ -2781,7 +2781,8 @@ static int module_sig_check(struct load_info *info, int flags) + } + + /* Not having a signature is only an error if we're strict. */ +- if (err == -ENOKEY && !sig_enforce) ++ if (err == -ENOKEY && !sig_enforce && ++ !kernel_is_locked_down("Loading of unsigned modules")) + err = 0; + + return err; -- -2.7.4 +2.13.6 -From 8884bd44932e595323fcddfb09c2a2a586134cdf Mon Sep 17 00:00:00 2001 +From 59312c44aa46939a14b3fbfeb510f94b4a73c8a1 Mon Sep 17 00:00:00 2001 From: Matthew Garrett <matthew.garrett@nebula.com> -Date: Tue, 22 Nov 2016 08:46:15 +0000 -Subject: [PATCH 14/32] kexec: Disable at runtime if the kernel is locked down +Date: Wed, 24 May 2017 14:56:02 +0100 +Subject: [PATCH 04/26] Restrict /dev/{mem,kmem,port} when the kernel is locked + down + +Allowing users to read and write to core kernel memory makes it possible +for the kernel to be subverted, avoiding module loading restrictions, and +also to steal cryptographic information. + +Disallow /dev/mem and /dev/kmem from being opened this when the kernel has +been locked down to prevent this. + +Also disallow /dev/port from being opened to prevent raw ioport access and +thus DMA from being used to accomplish the same thing. + +Signed-off-by: Matthew Garrett <matthew.garrett@nebula.com> +Signed-off-by: David Howells <dhowells@redhat.com> +Reviewed-by: "Lee, Chun-Yi" <jlee@suse.com> +--- + drivers/char/mem.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/drivers/char/mem.c b/drivers/char/mem.c +index 593a8818aca9..0ce5ac0a5c6b 100644 +--- a/drivers/char/mem.c ++++ b/drivers/char/mem.c +@@ -762,6 +762,8 @@ static loff_t memory_lseek(struct file *file, loff_t offset, int orig) + + static int open_port(struct inode *inode, struct file *filp) + { ++ if (kernel_is_locked_down("/dev/mem,kmem,port")) ++ return -EPERM; + return capable(CAP_SYS_RAWIO) ? 0 : -EPERM; + } + +-- +2.13.6 + +From 6304f16efd61e66701f4b331e95da3cafb5f5f76 Mon Sep 17 00:00:00 2001 +From: Matthew Garrett <matthew.garrett@nebula.com> +Date: Wed, 24 May 2017 14:56:02 +0100 +Subject: [PATCH 05/26] kexec: Disable at runtime if the kernel is locked down kexec permits the loading and execution of arbitrary code in ring 0, which is something that lock-down is meant to prevent. It makes sense to disable @@ -599,22 +534,26 @@ image to be booted. Signed-off-by: Matthew Garrett <matthew.garrett@nebula.com> Signed-off-by: David Howells <dhowells@redhat.com> +Acked-by: Dave Young <dyoung@redhat.com> +Reviewed-by: "Lee, Chun-Yi" <jlee@suse.com> +Reviewed-by: James Morris <james.l.morris@oracle.com> +cc: kexec@lists.infradead.org --- kernel/kexec.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/kernel/kexec.c b/kernel/kexec.c -index 980936a..46de8e6 100644 +index e62ec4dc6620..7dadfed9b676 100644 --- a/kernel/kexec.c +++ b/kernel/kexec.c -@@ -194,6 +194,13 @@ SYSCALL_DEFINE4(kexec_load, unsigned long, entry, unsigned long, nr_segments, +@@ -202,6 +202,13 @@ SYSCALL_DEFINE4(kexec_load, unsigned long, entry, unsigned long, nr_segments, return -EPERM; - + /* + * kexec can be used to circumvent module loading restrictions, so + * prevent loading in that case + */ -+ if (kernel_is_locked_down()) ++ if (kernel_is_locked_down("kexec of unsigned images")) + return -EPERM; + + /* @@ -622,12 +561,12 @@ index 980936a..46de8e6 100644 * This leaves us room for future extensions. */ -- -2.7.4 +2.13.6 -From cace563d1743c3d2faf1e46bd4df8e63e2310207 Mon Sep 17 00:00:00 2001 +From cd00079900870855cea3573253a95c331ccab523 Mon Sep 17 00:00:00 2001 From: Dave Young <dyoung@redhat.com> -Date: Tue, 22 Nov 2016 08:46:15 +0000 -Subject: [PATCH 15/32] Copy secure_boot flag in boot params across kexec +Date: Wed, 24 May 2017 14:56:02 +0100 +Subject: [PATCH 06/26] Copy secure_boot flag in boot params across kexec reboot Kexec reboot in case secure boot being enabled does not keep the secure @@ -643,68 +582,73 @@ stub. Fixing this issue by copying secure_boot flag across kexec reboot. Signed-off-by: Dave Young <dyoung@redhat.com> Signed-off-by: David Howells <dhowells@redhat.com> +Reviewed-by: "Lee, Chun-Yi" <jlee@suse.com> +cc: kexec@lists.infradead.org --- arch/x86/kernel/kexec-bzimage64.c | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/x86/kernel/kexec-bzimage64.c b/arch/x86/kernel/kexec-bzimage64.c -index d0a814a..3551bca 100644 +index fb095ba0c02f..7d0fac5bcbbe 100644 --- a/arch/x86/kernel/kexec-bzimage64.c +++ b/arch/x86/kernel/kexec-bzimage64.c @@ -179,6 +179,7 @@ setup_efi_state(struct boot_params *params, unsigned long params_load_addr, if (efi_enabled(EFI_OLD_MEMMAP)) return 0; - + + params->secure_boot = boot_params.secure_boot; ei->efi_loader_signature = current_ei->efi_loader_signature; ei->efi_systab = current_ei->efi_systab; ei->efi_systab_hi = current_ei->efi_systab_hi; -- -2.7.4 +2.13.6 -From 08a3467acbc28bb469d1eebd0f5fd40b944d984a Mon Sep 17 00:00:00 2001 -From: "Lee, Chun-Yi" <joeyli.kernel@gmail.com> -Date: Wed, 23 Nov 2016 13:49:19 +0000 -Subject: [PATCH 16/32] kexec_file: Disable at runtime if securelevel has been - set +From de2ac5da82fc55156134820ba32095710b935ad5 Mon Sep 17 00:00:00 2001 +From: Chun-Yi Lee <joeyli.kernel@gmail.com> +Date: Wed, 24 May 2017 14:56:03 +0100 +Subject: [PATCH 07/26] kexec_file: Disable at runtime if the kernel is locked + down -When KEXEC_VERIFY_SIG is not enabled, kernel should not loads image -through kexec_file systemcall if securelevel has been set. +When KEXEC_VERIFY_SIG is not enabled, kernel should not load images +through kexec_file systemcall if the kernel is locked down. This code was showed in Matthew's patch but not in git: https://lkml.org/lkml/2015/3/13/778 Cc: Matthew Garrett <mjg59@srcf.ucam.org> -Signed-off-by: Lee, Chun-Yi <jlee@suse.com> +Signed-off-by: Chun-Yi Lee <jlee@suse.com> Signed-off-by: David Howells <dhowells@redhat.com> +Reviewed-by: James Morris <james.l.morris@oracle.com> +cc: kexec@lists.infradead.org --- - kernel/kexec_file.c | 6 ++++++ - 1 file changed, 6 insertions(+) + kernel/kexec_file.c | 7 +++++++ + 1 file changed, 7 insertions(+) diff --git a/kernel/kexec_file.c b/kernel/kexec_file.c -index b56a558..003cade 100644 +index 9f48f4412297..ff6523f2dcc2 100644 --- a/kernel/kexec_file.c +++ b/kernel/kexec_file.c -@@ -268,6 +268,12 @@ SYSCALL_DEFINE5(kexec_file_load, int, kernel_fd, int, initrd_fd, +@@ -255,6 +255,13 @@ SYSCALL_DEFINE5(kexec_file_load, int, kernel_fd, int, initrd_fd, if (!capable(CAP_SYS_BOOT) || kexec_load_disabled) return -EPERM; - + + /* Don't permit images to be loaded into trusted kernels if we're not + * going to verify the signature on them + */ -+ if (!IS_ENABLED(CONFIG_KEXEC_VERIFY_SIG) && kernel_is_locked_down()) ++ if (!IS_ENABLED(CONFIG_KEXEC_VERIFY_SIG) && ++ kernel_is_locked_down("kexec of unsigned images")) + return -EPERM; + /* Make sure we have a legal set of flags */ if (flags != (flags & KEXEC_FILE_FLAGS)) return -EINVAL; -- -2.7.4 +2.13.6 -From 925fd10d7a99a6f999dde76daf2b1ef1238b251a Mon Sep 17 00:00:00 2001 +From ba823f2b5125605fcbac150fe27e622fd224ea61 Mon Sep 17 00:00:00 2001 From: Josh Boyer <jwboyer@fedoraproject.org> -Date: Tue, 22 Nov 2016 08:46:15 +0000 -Subject: [PATCH 17/32] hibernate: Disable when the kernel is locked down +Date: Wed, 24 May 2017 14:56:03 +0100 +Subject: [PATCH 08/26] hibernate: Disable when the kernel is locked down There is currently no way to verify the resume image when returning from hibernate. This might compromise the signed modules trust model, @@ -713,30 +657,32 @@ kernel is locked down. Signed-off-by: Josh Boyer <jwboyer@fedoraproject.org> Signed-off-by: David Howells <dhowells@redhat.com> +Reviewed-by: "Lee, Chun-Yi" <jlee@suse.com> +cc: linux-pm@vger.kernel.org --- kernel/power/hibernate.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/power/hibernate.c b/kernel/power/hibernate.c -index 86385af..1629798 100644 +index a5c36e9c56a6..f2eafefeec50 100644 --- a/kernel/power/hibernate.c +++ b/kernel/power/hibernate.c -@@ -67,7 +67,7 @@ static const struct platform_hibernation_ops *hibernation_ops; - +@@ -70,7 +70,7 @@ static const struct platform_hibernation_ops *hibernation_ops; + bool hibernation_available(void) { - return (nohibernate == 0); -+ return nohibernate == 0 && !kernel_is_locked_down(); ++ return nohibernate == 0 && !kernel_is_locked_down("Hibernation"); } - + /** -- -2.7.4 +2.13.6 -From b14fb5fcd60c84a09a15bd7ec974b6fbce68335c Mon Sep 17 00:00:00 2001 +From 9e78666a6153d72c3e50160a30ead699ba508d8f Mon Sep 17 00:00:00 2001 From: Matthew Garrett <mjg59@srcf.ucam.org> -Date: Wed, 23 Nov 2016 13:28:17 +0000 -Subject: [PATCH 18/32] uswsusp: Disable when the kernel is locked down +Date: Wed, 24 May 2017 14:56:03 +0100 +Subject: [PATCH 09/26] uswsusp: Disable when the kernel is locked down uswsusp allows a user process to dump and then restore kernel state, which makes it possible to modify the running kernel. Disable this if the kernel @@ -744,31 +690,34 @@ is locked down. Signed-off-by: Matthew Garrett <mjg59@srcf.ucam.org> Signed-off-by: David Howells <dhowells@redhat.com> +Reviewed-by: "Lee, Chun-Yi" <jlee@suse.com> +Reviewed-by: James Morris <james.l.morris@oracle.com> +cc: linux-pm@vger.kernel.org --- kernel/power/user.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/kernel/power/user.c b/kernel/power/user.c -index 22df9f7..e4b926d 100644 +index 22df9f7ff672..678ade9decfe 100644 --- a/kernel/power/user.c +++ b/kernel/power/user.c @@ -52,6 +52,9 @@ static int snapshot_open(struct inode *inode, struct file *filp) if (!hibernation_available()) return -EPERM; - -+ if (kernel_is_locked_down()) + ++ if (kernel_is_locked_down("/dev/snapshot")) + return -EPERM; + lock_system_sleep(); - + if (!atomic_add_unless(&snapshot_device_available, -1, 0)) { -- -2.7.4 +2.13.6 -From d8167273e7562e5aa866d2b65e25bb1962de972c Mon Sep 17 00:00:00 2001 +From 334fa071b01ced7f48b2920208addfb1eab5d0fe Mon Sep 17 00:00:00 2001 From: Matthew Garrett <matthew.garrett@nebula.com> -Date: Tue, 22 Nov 2016 08:46:15 +0000 -Subject: [PATCH 19/32] PCI: Lock down BAR access when the kernel is locked +Date: Wed, 24 May 2017 14:56:03 +0100 +Subject: [PATCH 10/26] PCI: Lock down BAR access when the kernel is locked down Any hardware that can potentially generate DMA has to be locked down in @@ -779,55 +728,58 @@ sufficiently IOMMU-isolated devices. Signed-off-by: Matthew Garrett <matthew.garrett@nebula.com> Signed-off-by: David Howells <dhowells@redhat.com> +Acked-by: Bjorn Helgaas <bhelgaas@google.com> +Reviewed-by: "Lee, Chun-Yi" <jlee@suse.com> +cc: linux-pci@vger.kernel.org --- drivers/pci/pci-sysfs.c | 9 +++++++++ - drivers/pci/proc.c | 8 +++++++- - drivers/pci/syscall.c | 2 +- - 3 files changed, 17 insertions(+), 2 deletions(-) + drivers/pci/proc.c | 9 ++++++++- + drivers/pci/syscall.c | 3 ++- + 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/drivers/pci/pci-sysfs.c b/drivers/pci/pci-sysfs.c -index 0666287..b10992c 100644 +index 1eecfa301f7f..e1a3b0e765c2 100644 --- a/drivers/pci/pci-sysfs.c +++ b/drivers/pci/pci-sysfs.c -@@ -718,6 +718,9 @@ static ssize_t pci_write_config(struct file *filp, struct kobject *kobj, +@@ -881,6 +881,9 @@ static ssize_t pci_write_config(struct file *filp, struct kobject *kobj, loff_t init_off = off; u8 *data = (u8 *) buf; - -+ if (kernel_is_locked_down()) + ++ if (kernel_is_locked_down("Direct PCI access")) + return -EPERM; + if (off > dev->cfg_size) return 0; if (off + count > dev->cfg_size) { -@@ -1009,6 +1012,9 @@ static int pci_mmap_resource(struct kobject *kobj, struct bin_attribute *attr, +@@ -1175,6 +1178,9 @@ static int pci_mmap_resource(struct kobject *kobj, struct bin_attribute *attr, enum pci_mmap_state mmap_type; struct resource *res = &pdev->resource[bar]; - -+ if (kernel_is_locked_down()) + ++ if (kernel_is_locked_down("Direct PCI access")) + return -EPERM; + if (res->flags & IORESOURCE_MEM && iomem_is_exclusive(res->start)) return -EINVAL; - -@@ -1108,6 +1114,9 @@ static ssize_t pci_write_resource_io(struct file *filp, struct kobject *kobj, + +@@ -1255,6 +1261,9 @@ static ssize_t pci_write_resource_io(struct file *filp, struct kobject *kobj, struct bin_attribute *attr, char *buf, loff_t off, size_t count) { -+ if (kernel_is_locked_down()) ++ if (kernel_is_locked_down("Direct PCI access")) + return -EPERM; + return pci_resource_io(filp, kobj, attr, buf, off, count, true); } - + diff --git a/drivers/pci/proc.c b/drivers/pci/proc.c -index f82710a..139d6f0 100644 +index 098360d7ff81..a6c53d855daa 100644 --- a/drivers/pci/proc.c +++ b/drivers/pci/proc.c @@ -116,6 +116,9 @@ static ssize_t proc_bus_pci_write(struct file *file, const char __user *buf, int size = dev->cfg_size; int cnt; - -+ if (kernel_is_locked_down()) + ++ if (kernel_is_locked_down("Direct PCI access")) + return -EPERM; + if (pos >= size) @@ -836,42 +788,44 @@ index f82710a..139d6f0 100644 @@ -195,6 +198,9 @@ static long proc_bus_pci_ioctl(struct file *file, unsigned int cmd, #endif /* HAVE_PCI_MMAP */ int ret = 0; - -+ if (kernel_is_locked_down()) + ++ if (kernel_is_locked_down("Direct PCI access")) + return -EPERM; + switch (cmd) { case PCIIOC_CONTROLLER: ret = pci_domain_nr(dev->bus); -@@ -233,7 +239,7 @@ static int proc_bus_pci_mmap(struct file *file, struct vm_area_struct *vma) +@@ -236,7 +242,8 @@ static int proc_bus_pci_mmap(struct file *file, struct vm_area_struct *vma) struct pci_filp_private *fpriv = file->private_data; int i, ret, write_combine = 0, res_bit = IORESOURCE_MEM; - + - if (!capable(CAP_SYS_RAWIO)) -+ if (!capable(CAP_SYS_RAWIO) || kernel_is_locked_down()) ++ if (!capable(CAP_SYS_RAWIO) || ++ kernel_is_locked_down("Direct PCI access")) return -EPERM; - + if (fpriv->mmap_state == pci_mmap_io) { diff --git a/drivers/pci/syscall.c b/drivers/pci/syscall.c -index 9bf993e..c095247 100644 +index 9bf993e1f71e..afa01cc3ceec 100644 --- a/drivers/pci/syscall.c +++ b/drivers/pci/syscall.c -@@ -92,7 +92,7 @@ SYSCALL_DEFINE5(pciconfig_write, unsigned long, bus, unsigned long, dfn, +@@ -92,7 +92,8 @@ SYSCALL_DEFINE5(pciconfig_write, unsigned long, bus, unsigned long, dfn, u32 dword; int err = 0; - + - if (!capable(CAP_SYS_ADMIN)) -+ if (!capable(CAP_SYS_ADMIN) || kernel_is_locked_down()) ++ if (!capable(CAP_SYS_ADMIN) || ++ kernel_is_locked_down("Direct PCI access")) return -EPERM; - + dev = pci_get_bus_and_slot(bus, dfn); -- -2.7.4 +2.13.6 -From 169d13e0c5240ac6aad13aace5ecbdb3de2cfada Mon Sep 17 00:00:00 2001 +From 7e608c45ac2ab6c8e125aaf3993b8257352ac631 Mon Sep 17 00:00:00 2001 From: Matthew Garrett <matthew.garrett@nebula.com> -Date: Tue, 22 Nov 2016 08:46:16 +0000 -Subject: [PATCH 20/32] x86: Lock down IO port access when the kernel is locked +Date: Wed, 24 May 2017 14:56:04 +0100 +Subject: [PATCH 11/26] x86: Lock down IO port access when the kernel is locked down IO port access would permit users to gain access to PCI configuration @@ -884,97 +838,98 @@ KDDISABIO console ioctls. Signed-off-by: Matthew Garrett <matthew.garrett@nebula.com> Signed-off-by: David Howells <dhowells@redhat.com> +Reviewed-by: Thomas Gleixner <tglx@linutronix.de> +Reviewed-by: "Lee, Chun-Yi" <jlee@suse.com> +cc: x86@kernel.org --- - arch/x86/kernel/ioport.c | 4 ++-- - drivers/char/mem.c | 2 ++ - 2 files changed, 4 insertions(+), 2 deletions(-) + arch/x86/kernel/ioport.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/arch/x86/kernel/ioport.c b/arch/x86/kernel/ioport.c -index b01bc8517..4ccaace 100644 +index 9c3cf0944bce..2c0f058651c5 100644 --- a/arch/x86/kernel/ioport.c +++ b/arch/x86/kernel/ioport.c -@@ -29,7 +29,7 @@ asmlinkage long sys_ioperm(unsigned long from, unsigned long num, int turn_on) - +@@ -30,7 +30,8 @@ asmlinkage long sys_ioperm(unsigned long from, unsigned long num, int turn_on) + if ((from + num <= from) || (from + num > IO_BITMAP_BITS)) return -EINVAL; - if (turn_on && !capable(CAP_SYS_RAWIO)) -+ if (turn_on && (!capable(CAP_SYS_RAWIO) || kernel_is_locked_down())) ++ if (turn_on && (!capable(CAP_SYS_RAWIO) || ++ kernel_is_locked_down("ioperm"))) return -EPERM; - + /* -@@ -113,7 +113,7 @@ SYSCALL_DEFINE1(iopl, unsigned int, level) +@@ -120,7 +121,8 @@ SYSCALL_DEFINE1(iopl, unsigned int, level) return -EINVAL; /* Trying to gain more privileges? */ if (level > old) { - if (!capable(CAP_SYS_RAWIO)) -+ if (!capable(CAP_SYS_RAWIO) || kernel_is_locked_down()) ++ if (!capable(CAP_SYS_RAWIO) || ++ kernel_is_locked_down("iopl")) return -EPERM; } regs->flags = (regs->flags & ~X86_EFLAGS_IOPL) | -diff --git a/drivers/char/mem.c b/drivers/char/mem.c -index f814404..9afebb6 100644 ---- a/drivers/char/mem.c -+++ b/drivers/char/mem.c -@@ -741,6 +741,8 @@ static loff_t memory_lseek(struct file *file, loff_t offset, int orig) - - static int open_port(struct inode *inode, struct file *filp) - { -+ if (kernel_is_locked_down()) -+ return -EPERM; - return capable(CAP_SYS_RAWIO) ? 0 : -EPERM; - } - -- -2.7.4 +2.13.6 -From efd24f7e9af624b62f39efce4f60b31f0ca643d8 Mon Sep 17 00:00:00 2001 +From 2644bf492568e3733bc841112c6e8628a6e01b8e Mon Sep 17 00:00:00 2001 From: Matthew Garrett <matthew.garrett@nebula.com> -Date: Tue, 22 Nov 2016 08:46:17 +0000 -Subject: [PATCH 21/32] x86: Restrict MSR access when the kernel is locked down +Date: Wed, 24 May 2017 14:56:04 +0100 +Subject: [PATCH 12/26] x86/msr: Restrict MSR access when the kernel is locked + down Writing to MSRs should not be allowed if the kernel is locked down, since it could lead to execution of arbitrary code in kernel mode. Based on a patch by Kees Cook. -Cc: Kees Cook <keescook@chromium.org> +MSR accesses are logged for the purposes of building up a whitelist as per +Alan Cox's suggestion. + Signed-off-by: Matthew Garrett <matthew.garrett@nebula.com> Signed-off-by: David Howells <dhowells@redhat.com> +Acked-by: Kees Cook <keescook@chromium.org> +Reviewed-by: Thomas Gleixner <tglx@linutronix.de> +Reviewed-by: "Lee, Chun-Yi" <jlee@suse.com> +cc: x86@kernel.org --- - arch/x86/kernel/msr.c | 7 +++++++ - 1 file changed, 7 insertions(+) + arch/x86/kernel/msr.c | 10 ++++++++++ + 1 file changed, 10 insertions(+) diff --git a/arch/x86/kernel/msr.c b/arch/x86/kernel/msr.c -index ef68880..fbcce02 100644 +index ef688804f80d..dfb61d358196 100644 --- a/arch/x86/kernel/msr.c +++ b/arch/x86/kernel/msr.c -@@ -84,6 +84,9 @@ static ssize_t msr_write(struct file *file, const char __user *buf, +@@ -84,6 +84,11 @@ static ssize_t msr_write(struct file *file, const char __user *buf, int err = 0; ssize_t bytes = 0; - -+ if (kernel_is_locked_down()) + ++ if (kernel_is_locked_down("Direct MSR access")) { ++ pr_info("Direct access to MSR %x\n", reg); + return -EPERM; ++ } + if (count % 8) return -EINVAL; /* Invalid chunk size */ - -@@ -131,6 +134,10 @@ static long msr_ioctl(struct file *file, unsigned int ioc, unsigned long arg) - err = -EBADF; + +@@ -135,6 +140,11 @@ static long msr_ioctl(struct file *file, unsigned int ioc, unsigned long arg) + err = -EFAULT; break; } -+ if (kernel_is_locked_down()) { ++ if (kernel_is_locked_down("Direct MSR access")) { ++ pr_info("Direct access to MSR %x\n", regs[1]); /* Display %ecx */ + err = -EPERM; + break; + } - if (copy_from_user(®s, uregs, sizeof regs)) { - err = -EFAULT; + err = wrmsr_safe_regs_on_cpu(cpu, regs); + if (err) break; -- -2.7.4 +2.13.6 -From 62ebdffbcb0726b98562e9f1173a6d5967755764 Mon Sep 17 00:00:00 2001 +From e6850fffe186e252cc94e8747e589076e215ca1a Mon Sep 17 00:00:00 2001 From: Matthew Garrett <matthew.garrett@nebula.com> -Date: Tue, 22 Nov 2016 08:46:16 +0000 -Subject: [PATCH 22/32] asus-wmi: Restrict debugfs interface when the kernel is +Date: Wed, 24 May 2017 14:56:04 +0100 +Subject: [PATCH 13/26] asus-wmi: Restrict debugfs interface when the kernel is locked down We have no way of validating what all of the Asus WMI methods do on a given @@ -985,51 +940,54 @@ kernel is locked down. Signed-off-by: Matthew Garrett <matthew.garrett@nebula.com> Signed-off-by: David Howells <dhowells@redhat.com> +Reviewed-by: "Lee, Chun-Yi" <jlee@suse.com> +cc: acpi4asus-user@lists.sourceforge.net +cc: platform-driver-x86@vger.kernel.org --- drivers/platform/x86/asus-wmi.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/drivers/platform/x86/asus-wmi.c b/drivers/platform/x86/asus-wmi.c -index 43cb680..9be3e08 100644 +index 48e1541dc8d4..ef5587469337 100644 --- a/drivers/platform/x86/asus-wmi.c +++ b/drivers/platform/x86/asus-wmi.c -@@ -1898,6 +1898,9 @@ static int show_dsts(struct seq_file *m, void *data) +@@ -1905,6 +1905,9 @@ static int show_dsts(struct seq_file *m, void *data) int err; u32 retval = -1; - -+ if (kernel_is_locked_down()) + ++ if (kernel_is_locked_down("Asus WMI")) + return -EPERM; + err = asus_wmi_get_devstate(asus, asus->debug.dev_id, &retval); - + if (err < 0) -@@ -1914,6 +1917,9 @@ static int show_devs(struct seq_file *m, void *data) +@@ -1921,6 +1924,9 @@ static int show_devs(struct seq_file *m, void *data) int err; u32 retval = -1; - -+ if (kernel_is_locked_down()) + ++ if (kernel_is_locked_down("Asus WMI")) + return -EPERM; + err = asus_wmi_set_devstate(asus->debug.dev_id, asus->debug.ctrl_param, &retval); - -@@ -1938,6 +1944,9 @@ static int show_call(struct seq_file *m, void *data) + +@@ -1945,6 +1951,9 @@ static int show_call(struct seq_file *m, void *data) union acpi_object *obj; acpi_status status; - -+ if (kernel_is_locked_down()) + ++ if (kernel_is_locked_down("Asus WMI")) + return -EPERM; + status = wmi_evaluate_method(ASUS_WMI_MGMT_GUID, - 1, asus->debug.method_id, + 0, asus->debug.method_id, &input, &output); -- -2.7.4 +2.13.6 -From 31f493d03dde1854fa9e540f87a751fbeeb41cb9 Mon Sep 17 00:00:00 2001 +From 6dda2a4dbc8bb80efaa55aba6d54382e986305c5 Mon Sep 17 00:00:00 2001 From: Matthew Garrett <matthew.garrett@nebula.com> -Date: Tue, 22 Nov 2016 08:46:16 +0000 -Subject: [PATCH 23/32] ACPI: Limit access to custom_method when the kernel is +Date: Wed, 24 May 2017 14:56:04 +0100 +Subject: [PATCH 14/26] ACPI: Limit access to custom_method when the kernel is locked down custom_method effectively allows arbitrary access to system memory, making @@ -1038,63 +996,68 @@ Disable it if the kernel is locked down. Signed-off-by: Matthew Garrett <matthew.garrett@nebula.com> Signed-off-by: David Howells <dhowells@redhat.com> +Reviewed-by: "Lee, Chun-Yi" <jlee@suse.com> +cc: linux-acpi@vger.kernel.org --- drivers/acpi/custom_method.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/acpi/custom_method.c b/drivers/acpi/custom_method.c -index c68e724..e4d721c 100644 +index c68e72414a67..b33fba70ec51 100644 --- a/drivers/acpi/custom_method.c +++ b/drivers/acpi/custom_method.c @@ -29,6 +29,9 @@ static ssize_t cm_write(struct file *file, const char __user * user_buf, struct acpi_table_header table; acpi_status status; - -+ if (kernel_is_locked_down()) + ++ if (kernel_is_locked_down("ACPI custom methods")) + return -EPERM; + if (!(*ppos)) { /* parse the table header to get the table length */ if (count <= sizeof(struct acpi_table_header)) -- -2.7.4 +2.13.6 -From 1dec5dc62c78f78b9efe44aac3d6119d97b67017 Mon Sep 17 00:00:00 2001 +From 64caa33410f85663cf0a65e4c09b8b8d28a219ad Mon Sep 17 00:00:00 2001 From: Josh Boyer <jwboyer@redhat.com> -Date: Tue, 22 Nov 2016 08:46:16 +0000 -Subject: [PATCH 24/32] acpi: Ignore acpi_rsdp kernel param when the kernel has +Date: Wed, 24 May 2017 14:56:05 +0100 +Subject: [PATCH 15/26] acpi: Ignore acpi_rsdp kernel param when the kernel has been locked down This option allows userspace to pass the RSDP address to the kernel, which -makes it possible for a user to circumvent any restrictions imposed on -loading modules. Ignore the option when the kernel is locked down. +makes it possible for a user to modify the workings of hardware . Reject +the option when the kernel is locked down. Signed-off-by: Josh Boyer <jwboyer@redhat.com> Signed-off-by: David Howells <dhowells@redhat.com> +Reviewed-by: "Lee, Chun-Yi" <jlee@suse.com> +cc: Dave Young <dyoung@redhat.com> +cc: linux-acpi@vger.kernel.org --- drivers/acpi/osl.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/acpi/osl.c b/drivers/acpi/osl.c -index db78d35..d4d4ba3 100644 +index db78d353bab1..36c6527c1b0a 100644 --- a/drivers/acpi/osl.c +++ b/drivers/acpi/osl.c @@ -192,7 +192,7 @@ acpi_physical_address __init acpi_os_get_root_pointer(void) acpi_physical_address pa = 0; - + #ifdef CONFIG_KEXEC - if (acpi_rsdp) -+ if (acpi_rsdp && !kernel_is_locked_down()) ++ if (acpi_rsdp && !kernel_is_locked_down("ACPI RSDP specification")) return acpi_rsdp; #endif - + -- -2.7.4 +2.13.6 -From 96eaf04100d7365d93f898013175351c7d2702a6 Mon Sep 17 00:00:00 2001 +From d87ce06969f2d4da0c864e8a4cf6c820d950cd1f Mon Sep 17 00:00:00 2001 From: Linn Crosetto <linn@hpe.com> -Date: Wed, 23 Nov 2016 13:32:27 +0000 -Subject: [PATCH 25/32] acpi: Disable ACPI table override if the kernel is +Date: Wed, 24 May 2017 14:56:05 +0100 +Subject: [PATCH 16/26] acpi: Disable ACPI table override if the kernel is locked down From the kernel documentation (initrd_table_override.txt): @@ -1109,19 +1072,21 @@ so do not allow ACPI tables to be overridden if the kernel is locked down. Signed-off-by: Linn Crosetto <linn@hpe.com> Signed-off-by: David Howells <dhowells@redhat.com> +Reviewed-by: "Lee, Chun-Yi" <jlee@suse.com> +cc: linux-acpi@vger.kernel.org --- drivers/acpi/tables.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/acpi/tables.c b/drivers/acpi/tables.c -index 2604189..601096d 100644 +index 80ce2a7d224b..5cc13c42daf9 100644 --- a/drivers/acpi/tables.c +++ b/drivers/acpi/tables.c -@@ -542,6 +542,11 @@ void __init acpi_table_upgrade(void) +@@ -526,6 +526,11 @@ void __init acpi_table_upgrade(void) if (table_nr == 0) return; - -+ if (kernel_is_locked_down()) { + ++ if (kernel_is_locked_down("ACPI table override")) { + pr_notice("kernel is locked down, ignoring table override\n"); + return; + } @@ -1130,12 +1095,12 @@ index 2604189..601096d 100644 memblock_find_in_range(0, ACPI_TABLE_UPGRADE_MAX_PHYS, all_tables_size, PAGE_SIZE); -- -2.7.4 +2.13.6 -From 521979b819b853f7578ba8edef8b33bc2077026d Mon Sep 17 00:00:00 2001 +From 547e2ca9cbfd420a15dd70e1c1c24b7040f88058 Mon Sep 17 00:00:00 2001 From: Linn Crosetto <linn@hpe.com> -Date: Wed, 23 Nov 2016 13:39:41 +0000 -Subject: [PATCH 26/32] acpi: Disable APEI error injection if the kernel is +Date: Wed, 24 May 2017 14:56:05 +0100 +Subject: [PATCH 17/26] acpi: Disable APEI error injection if the kernel is locked down ACPI provides an error injection mechanism, EINJ, for debugging and testing @@ -1155,146 +1120,33 @@ the kernel is locked down. Signed-off-by: Linn Crosetto <linn@hpe.com> Signed-off-by: David Howells <dhowells@redhat.com> +Reviewed-by: "Lee, Chun-Yi" <jlee@suse.com> +cc: linux-acpi@vger.kernel.org --- drivers/acpi/apei/einj.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/acpi/apei/einj.c b/drivers/acpi/apei/einj.c -index ec50c32..e082718 100644 +index b38737c83a24..6d71e1e97b20 100644 --- a/drivers/acpi/apei/einj.c +++ b/drivers/acpi/apei/einj.c @@ -518,6 +518,9 @@ static int einj_error_inject(u32 type, u32 flags, u64 param1, u64 param2, int rc; u64 base_addr, size; - -+ if (kernel_is_locked_down()) + ++ if (kernel_is_locked_down("ACPI error injection")) + return -EPERM; + /* If user manually set "flags", make sure it is legal */ if (flags && (flags & ~(SETWA_FLAGS_APICID|SETWA_FLAGS_MEM|SETWA_FLAGS_PCIE_SBDF))) -- -2.7.4 - -From fe597dad1cba83345d62c4079c0d8861c426698c Mon Sep 17 00:00:00 2001 -From: Matthew Garrett <mjg59@coreos.com> -Date: Wed, 23 Nov 2016 13:41:23 +0000 -Subject: [PATCH 27/32] Enable cold boot attack mitigation - ---- - arch/x86/boot/compressed/eboot.c | 28 ++++++++++++++++++++++++++++ - 1 file changed, 28 insertions(+) - -diff --git a/arch/x86/boot/compressed/eboot.c b/arch/x86/boot/compressed/eboot.c -index 801c7a1..ef9409b 100644 ---- a/arch/x86/boot/compressed/eboot.c -+++ b/arch/x86/boot/compressed/eboot.c -@@ -604,6 +604,31 @@ void setup_graphics(struct boot_params *boot_params) - } - } - -+#define MEMORY_ONLY_RESET_CONTROL_GUID \ -+ EFI_GUID (0xe20939be, 0x32d4, 0x41be, 0xa1, 0x50, 0x89, 0x7f, 0x85, 0xd4, 0x98, 0x29) -+ -+static void enable_reset_attack_mitigation(void) -+{ -+ static const efi_guid_t var_guid = MEMORY_ONLY_RESET_CONTROL_GUID; -+ static const efi_char16_t MemoryOverwriteRequestControl_name[] = { -+ 'M', 'e', 'm', 'o', 'r', 'y', -+ 'O', 'v', 'e', 'r', 'w', 'r', 'i', 't', 'e', -+ 'R', 'e', 'q', 'u', 'e', 's', 't', -+ 'C', 'o', 'n', 't', 'r', 'o', 'l', -+ 0 -+ }; -+ u8 val = 1; -+ -+ /* Ignore the return value here - there's not really a lot we can do */ -+ efi_call_runtime(set_variable, -+ (efi_char16_t *)MemoryOverwriteRequestControl_name, -+ (efi_guid_t *)&var_guid, -+ EFI_VARIABLE_NON_VOLATILE | -+ EFI_VARIABLE_BOOTSERVICE_ACCESS | -+ EFI_VARIABLE_RUNTIME_ACCESS, -+ sizeof(val), val); -+} -+ - /* - * Because the x86 boot code expects to be passed a boot_params we - * need to create one ourselves (usually the bootloader would create -@@ -988,6 +1013,9 @@ struct boot_params *efi_main(struct efi_config *c, - else - setup_boot_services32(efi_early); - -+ /* Ask the firmware to clear memory if we don't have a clean shutdown */ -+ enable_reset_attack_mitigation(); -+ - /* - * If the boot loader gave us a value for secure_boot then we use that, - * otherwise we ask the BIOS. --- -2.7.4 - -From 04fac895731801bc6cb26a6061f1c353c80a866c Mon Sep 17 00:00:00 2001 -From: "Lee, Chun-Yi" <jlee@suse.com> -Date: Wed, 23 Nov 2016 13:52:16 +0000 -Subject: [PATCH 28/32] bpf: Restrict kernel image access functions when the - kernel is locked down - -There are some bpf functions can be used to read kernel memory: -bpf_probe_read, bpf_probe_write_user and bpf_trace_printk. These allow -private keys in kernel memory (e.g. the hibernation image signing key) to -be read by an eBPF program. Prohibit those functions when the kernel is -locked down. - -Signed-off-by: Lee, Chun-Yi <jlee@suse.com> -Signed-off-by: David Howells <dhowells@redhat.com> ---- - kernel/trace/bpf_trace.c | 11 +++++++++++ - 1 file changed, 11 insertions(+) - -diff --git a/kernel/trace/bpf_trace.c b/kernel/trace/bpf_trace.c -index cee9802..7fde851 100644 ---- a/kernel/trace/bpf_trace.c -+++ b/kernel/trace/bpf_trace.c -@@ -65,6 +65,11 @@ BPF_CALL_3(bpf_probe_read, void *, dst, u32, size, const void *, unsafe_ptr) - { - int ret; - -+ if (kernel_is_locked_down()) { -+ memset(dst, 0, size); -+ return -EPERM; -+ } -+ - ret = probe_kernel_read(dst, unsafe_ptr, size); - if (unlikely(ret < 0)) - memset(dst, 0, size); -@@ -84,6 +89,9 @@ static const struct bpf_func_proto bpf_probe_read_proto = { - BPF_CALL_3(bpf_probe_write_user, void *, unsafe_ptr, const void *, src, - u32, size) - { -+ if (kernel_is_locked_down()) -+ return -EPERM; -+ - /* - * Ensure we're in user context which is safe for the helper to - * run. This helper has no business in a kthread. -@@ -143,6 +151,9 @@ BPF_CALL_5(bpf_trace_printk, char *, fmt, u32, fmt_size, u64, arg1, - if (fmt[--fmt_size] != 0) - return -EINVAL; - -+ if (kernel_is_locked_down()) -+ return __trace_printk(1, fmt, 0, 0, 0); -+ - /* check format string for allowed specifiers */ - for (i = 0; i < fmt_size; i++) { - if ((!isprint(fmt[i]) && !isspace(fmt[i])) || !isascii(fmt[i])) --- -2.7.4 +2.13.6 -From 707d0e14c2c0d6c3139ff4bcb16ee22c462b4304 Mon Sep 17 00:00:00 2001 +From abbf8de44feab5f50b316d6491926d8d9029cb49 Mon Sep 17 00:00:00 2001 From: David Howells <dhowells@redhat.com> -Date: Tue, 22 Nov 2016 10:10:34 +0000 -Subject: [PATCH 29/32] scsi: Lock down the eata driver +Date: Wed, 24 May 2017 14:56:06 +0100 +Subject: [PATCH 18/26] scsi: Lock down the eata driver When the kernel is running in secure boot mode, we lock down the kernel to prevent userspace from modifying the running kernel image. Whilst this @@ -1306,75 +1158,73 @@ The eata driver takes a single string parameter that contains a slew of settings, including hardware resource configuration. Prohibit use of the parameter if the kernel is locked down. -Suggested-by: One Thousand Gnomes <gnomes@lxorguk.ukuu.org.uk> +Suggested-by: Alan Cox <gnomes@lxorguk.ukuu.org.uk> Signed-off-by: David Howells <dhowells@redhat.com> cc: Dario Ballabio <ballabio_dario@emc.com> cc: "James E.J. Bottomley" <jejb@linux.vnet.ibm.com> cc: "Martin K. Petersen" <martin.petersen@oracle.com> cc: linux-scsi@vger.kernel.org --- - drivers/scsi/eata.c | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) + drivers/scsi/eata.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/scsi/eata.c b/drivers/scsi/eata.c -index 227dd2c..5c036d10 100644 +index 6501c330d8c8..72fceaa8f3da 100644 --- a/drivers/scsi/eata.c +++ b/drivers/scsi/eata.c -@@ -1552,8 +1552,13 @@ static int eata2x_detect(struct scsi_host_template *tpnt) - +@@ -1552,8 +1552,11 @@ static int eata2x_detect(struct scsi_host_template *tpnt) + tpnt->proc_name = "eata2x"; - + - if (strlen(boot_options)) + if (strlen(boot_options)) { -+ if (kernel_is_locked_down()) { -+ pr_err("Command line-specified device addresses, irqs and dma channels are not permitted when the kernel is locked down\n"); ++ if (kernel_is_locked_down("Command line-specified device addresses, irqs and dma channels")) + return -EPERM; -+ } option_setup(boot_options); + } - + #if defined(MODULE) /* io_port could have been modified when loading as a module */ -- -2.7.4 +2.13.6 -From 07e05e0b7d806a05eba55092630bb75a92311344 Mon Sep 17 00:00:00 2001 +From 116b02dff661d497c10099862b8b86e6cd2262ae Mon Sep 17 00:00:00 2001 From: David Howells <dhowells@redhat.com> -Date: Fri, 25 Nov 2016 14:37:45 +0000 -Subject: [PATCH 30/32] Prohibit PCMCIA CIS storage when the kernel is locked +Date: Wed, 24 May 2017 14:56:06 +0100 +Subject: [PATCH 19/26] Prohibit PCMCIA CIS storage when the kernel is locked down Prohibit replacement of the PCMCIA Card Information Structure when the kernel is locked down. +Suggested-by: Dominik Brodowski <linux@dominikbrodowski.net> Signed-off-by: David Howells <dhowells@redhat.com> +cc: linux-pcmcia@lists.infradead.org --- - drivers/pcmcia/cistpl.c | 5 +++++ - 1 file changed, 5 insertions(+) + drivers/pcmcia/cistpl.c | 3 +++ + 1 file changed, 3 insertions(+) diff --git a/drivers/pcmcia/cistpl.c b/drivers/pcmcia/cistpl.c -index 55ef7d1..193e4f7 100644 +index 55ef7d1fd8da..b7a0e42eeb25 100644 --- a/drivers/pcmcia/cistpl.c +++ b/drivers/pcmcia/cistpl.c -@@ -1578,6 +1578,11 @@ static ssize_t pccard_store_cis(struct file *filp, struct kobject *kobj, +@@ -1578,6 +1578,9 @@ static ssize_t pccard_store_cis(struct file *filp, struct kobject *kobj, struct pcmcia_socket *s; int error; - -+ if (kernel_is_locked_down()) { -+ pr_err("Direct CIS storage isn't permitted when the kernel is locked down\n"); + ++ if (kernel_is_locked_down("Direct PCMCIA CIS storage")) + return -EPERM; -+ } + s = to_socket(container_of(kobj, struct device, kobj)); - + if (off) -- -2.7.4 +2.13.6 -From cf1e877adbe35c5f72a9d85570b494aa3f35be6a Mon Sep 17 00:00:00 2001 +From f3dc03aa368cfde123bc1b60bda287091c9d43b4 Mon Sep 17 00:00:00 2001 From: David Howells <dhowells@redhat.com> -Date: Wed, 7 Dec 2016 10:28:39 +0000 -Subject: [PATCH 31/32] Lock down TIOCSSERIAL +Date: Wed, 24 May 2017 14:56:06 +0100 +Subject: [PATCH 20/26] Lock down TIOCSSERIAL Lock down TIOCSSERIAL as that can be used to change the ioport and irq settings on a serial port. This only appears to be an issue for the serial @@ -1383,20 +1233,21 @@ ignore attempts to change port/irq or give an error. Reported-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: David Howells <dhowells@redhat.com> +cc: Jiri Slaby <jslaby@suse.com> --- drivers/tty/serial/serial_core.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/tty/serial/serial_core.c b/drivers/tty/serial/serial_core.c -index 9939c3d..7c040e2 100644 +index 3a14cccbd7ff..41f0922ad842 100644 --- a/drivers/tty/serial/serial_core.c +++ b/drivers/tty/serial/serial_core.c -@@ -820,6 +820,12 @@ static int uart_set_info(struct tty_struct *tty, struct tty_port *port, - new_flags = new_info->flags; +@@ -842,6 +842,12 @@ static int uart_set_info(struct tty_struct *tty, struct tty_port *port, + new_flags = (__force upf_t)new_info->flags; old_custom_divisor = uport->custom_divisor; - -+ if ((change_port || change_irq) && kernel_is_locked_down()) { -+ pr_err("Using TIOCSSERIAL to change device addresses, irqs and dma channels is not permitted when the kernel is locked down\n"); + ++ if ((change_port || change_irq) && ++ kernel_is_locked_down("Using TIOCSSERIAL to change device addresses, irqs and dma channels")) { + retval = -EPERM; + goto exit; + } @@ -1405,5 +1256,457 @@ index 9939c3d..7c040e2 100644 retval = -EPERM; if (change_irq || change_port || -- -2.7.4 +2.13.6 + +From 9d266defc89a73c6dcca3b67ad70b95ac99b8e53 Mon Sep 17 00:00:00 2001 +From: David Howells <dhowells@redhat.com> +Date: Wed, 24 May 2017 14:56:06 +0100 +Subject: [PATCH 21/26] Lock down module params that specify hardware + parameters (eg. ioport) + +Provided an annotation for module parameters that specify hardware +parameters (such as io ports, iomem addresses, irqs, dma channels, fixed +dma buffers and other types). + +Suggested-by: Alan Cox <gnomes@lxorguk.ukuu.org.uk> +Signed-off-by: David Howells <dhowells@redhat.com> +--- + kernel/params.c | 26 +++++++++++++++++++++----- + 1 file changed, 21 insertions(+), 5 deletions(-) + +diff --git a/kernel/params.c b/kernel/params.c +index 60b2d8101355..422979adb60a 100644 +--- a/kernel/params.c ++++ b/kernel/params.c +@@ -108,13 +108,19 @@ bool parameq(const char *a, const char *b) + return parameqn(a, b, strlen(a)+1); + } + +-static void param_check_unsafe(const struct kernel_param *kp) ++static bool param_check_unsafe(const struct kernel_param *kp, ++ const char *doing) + { + if (kp->flags & KERNEL_PARAM_FL_UNSAFE) { + pr_warn("Setting dangerous option %s - tainting kernel\n", + kp->name); + add_taint(TAINT_USER, LOCKDEP_STILL_OK); + } ++ ++ if (kp->flags & KERNEL_PARAM_FL_HWPARAM && ++ kernel_is_locked_down("Command line-specified device addresses, irqs and dma channels")) ++ return false; ++ return true; + } + + static int parse_one(char *param, +@@ -144,8 +150,10 @@ static int parse_one(char *param, + pr_debug("handling %s with %p\n", param, + params[i].ops->set); + kernel_param_lock(params[i].mod); +- param_check_unsafe(¶ms[i]); +- err = params[i].ops->set(val, ¶ms[i]); ++ if (param_check_unsafe(¶ms[i], doing)) ++ err = params[i].ops->set(val, ¶ms[i]); ++ else ++ err = -EPERM; + kernel_param_unlock(params[i].mod); + return err; + } +@@ -556,6 +564,12 @@ static ssize_t param_attr_show(struct module_attribute *mattr, + return count; + } + ++#ifdef CONFIG_MODULES ++#define mod_name(mod) (mod)->name ++#else ++#define mod_name(mod) "unknown" ++#endif ++ + /* sysfs always hands a nul-terminated string in buf. We rely on that. */ + static ssize_t param_attr_store(struct module_attribute *mattr, + struct module_kobject *mk, +@@ -568,8 +582,10 @@ static ssize_t param_attr_store(struct module_attribute *mattr, + return -EPERM; + + kernel_param_lock(mk->mod); +- param_check_unsafe(attribute->param); +- err = attribute->param->ops->set(buf, attribute->param); ++ if (param_check_unsafe(attribute->param, mod_name(mk->mod))) ++ err = attribute->param->ops->set(buf, attribute->param); ++ else ++ err = -EPERM; + kernel_param_unlock(mk->mod); + if (!err) + return len; +-- +2.13.6 + +From 17a8caed6507846edd0a7016cdcd97fe46cca263 Mon Sep 17 00:00:00 2001 +From: David Howells <dhowells@redhat.com> +Date: Wed, 24 May 2017 14:56:07 +0100 +Subject: [PATCH 22/26] x86/mmiotrace: Lock down the testmmiotrace module + +The testmmiotrace module shouldn't be permitted when the kernel is locked +down as it can be used to arbitrarily read and write MMIO space. + +Suggested-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: David Howells <dhowells@redhat.com +cc: Thomas Gleixner <tglx@linutronix.de> +cc: Steven Rostedt <rostedt@goodmis.org> +cc: Ingo Molnar <mingo@kernel.org> +cc: "H. Peter Anvin" <hpa@zytor.com> +cc: x86@kernel.org +--- + arch/x86/mm/testmmiotrace.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/arch/x86/mm/testmmiotrace.c b/arch/x86/mm/testmmiotrace.c +index f6ae6830b341..bbaad357f5d7 100644 +--- a/arch/x86/mm/testmmiotrace.c ++++ b/arch/x86/mm/testmmiotrace.c +@@ -115,6 +115,9 @@ static int __init init(void) + { + unsigned long size = (read_far) ? (8 << 20) : (16 << 10); + ++ if (kernel_is_locked_down("MMIO trace testing")) ++ return -EPERM; ++ + if (mmio_address == 0) { + pr_err("you have to use the module argument mmio_address.\n"); + pr_err("DO NOT LOAD THIS MODULE UNLESS YOU REALLY KNOW WHAT YOU ARE DOING!\n"); +-- +2.13.6 + +From 79ae67bf5f7eda526abaa80b01b19e08c1ed3558 Mon Sep 17 00:00:00 2001 +From: David Howells <dhowells@redhat.com> +Date: Wed, 18 Oct 2017 17:28:02 +0100 +Subject: [PATCH 23/26] debugfs: Disallow use of debugfs files when the kernel + is locked down + +Disallow opening of debugfs files when the kernel is locked down as various +drivers give raw access to hardware through debugfs. + +Accesses to tracefs should use /sys/kernel/tracing/ rather than +/sys/kernel/debug/tracing/. Possibly a symlink should be emplaced. + +Normal device interaction should be done through configfs or a miscdev, not +debugfs. + +Note that this makes it unnecessary to specifically lock down show_dsts(), +show_devs() and show_call() in the asus-wmi driver. + +Signed-off-by: David Howells <dhowells@redhat.com> +cc: Andy Shevchenko <andy.shevchenko@gmail.com> +cc: acpi4asus-user@lists.sourceforge.net +cc: platform-driver-x86@vger.kernel.org +cc: Matthew Garrett <matthew.garrett@nebula.com> +cc: Thomas Gleixner <tglx@linutronix.de> +--- + fs/debugfs/file.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/fs/debugfs/file.c b/fs/debugfs/file.c +index 6dabc4a10396..32b5168a7e91 100644 +--- a/fs/debugfs/file.c ++++ b/fs/debugfs/file.c +@@ -103,6 +103,9 @@ static int open_proxy_open(struct inode *inode, struct file *filp) + const struct file_operations *real_fops = NULL; + int srcu_idx, r; + ++ if (kernel_is_locked_down("debugfs")) ++ return -EPERM; ++ + r = debugfs_use_file_start(dentry, &srcu_idx); + if (r) { + r = -ENOENT; +@@ -232,6 +235,9 @@ static int full_proxy_open(struct inode *inode, struct file *filp) + struct file_operations *proxy_fops = NULL; + int srcu_idx, r; + ++ if (kernel_is_locked_down("debugfs")) ++ return -EPERM; ++ + r = debugfs_use_file_start(dentry, &srcu_idx); + if (r) { + r = -ENOENT; +-- +2.13.6 + +From 87ed5c02f0946c855730420cbf1daa6a2dfc54d7 Mon Sep 17 00:00:00 2001 +From: David Howells <dhowells@redhat.com> +Date: Thu, 19 Oct 2017 13:58:19 +0100 +Subject: [PATCH 24/26] Lock down /proc/kcore + +Disallow access to /proc/kcore when the kernel is locked down to prevent +access to cryptographic data. + +Signed-off-by: David Howells <dhowells@redhat.com> +Reviewed-by: James Morris <james.l.morris@oracle.com> +--- + fs/proc/kcore.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/fs/proc/kcore.c b/fs/proc/kcore.c +index 45629f4b5402..176cf749e650 100644 +--- a/fs/proc/kcore.c ++++ b/fs/proc/kcore.c +@@ -549,6 +549,8 @@ read_kcore(struct file *file, char __user *buffer, size_t buflen, loff_t *fpos) + + static int open_kcore(struct inode *inode, struct file *filp) + { ++ if (kernel_is_locked_down("/proc/kcore")) ++ return -EPERM; + if (!capable(CAP_SYS_RAWIO)) + return -EPERM; + +-- +2.13.6 + +From 2bce9ca3a24e0b35dcf665e6ba082f0a796c6aad Mon Sep 17 00:00:00 2001 +From: David Howells <dhowells@redhat.com> +Date: Thu, 19 Oct 2017 14:18:53 +0100 +Subject: [PATCH 25/26] efi: Add an EFI_SECURE_BOOT flag to indicate secure + boot mode + +UEFI machines can be booted in Secure Boot mode. Add an EFI_SECURE_BOOT +flag that can be passed to efi_enabled() to find out whether secure boot is +enabled. + +Move the switch-statement in x86's setup_arch() that inteprets the +secure_boot boot parameter to generic code and set the bit there. + +Suggested-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> +Signed-off-by: David Howells <dhowells@redhat.com> +Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> +cc: linux-efi@vger.kernel.org +--- + arch/x86/kernel/setup.c | 14 +------------- + drivers/firmware/efi/Makefile | 1 + + drivers/firmware/efi/secureboot.c | 38 ++++++++++++++++++++++++++++++++++++++ + include/linux/efi.h | 16 ++++++++++------ + 4 files changed, 50 insertions(+), 19 deletions(-) + create mode 100644 drivers/firmware/efi/secureboot.c + +diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c +index 0957dd73d127..7c2162f9e769 100644 +--- a/arch/x86/kernel/setup.c ++++ b/arch/x86/kernel/setup.c +@@ -1197,19 +1197,7 @@ void __init setup_arch(char **cmdline_p) + /* Allocate bigger log buffer */ + setup_log_buf(1); + +- if (efi_enabled(EFI_BOOT)) { +- switch (boot_params.secure_boot) { +- case efi_secureboot_mode_disabled: +- pr_info("Secure boot disabled\n"); +- break; +- case efi_secureboot_mode_enabled: +- pr_info("Secure boot enabled\n"); +- break; +- default: +- pr_info("Secure boot could not be determined\n"); +- break; +- } +- } ++ efi_set_secure_boot(boot_params.secure_boot); + + reserve_initrd(); + +diff --git a/drivers/firmware/efi/Makefile b/drivers/firmware/efi/Makefile +index 0329d319d89a..883f9f7eefc6 100644 +--- a/drivers/firmware/efi/Makefile ++++ b/drivers/firmware/efi/Makefile +@@ -23,6 +23,7 @@ obj-$(CONFIG_EFI_FAKE_MEMMAP) += fake_mem.o + obj-$(CONFIG_EFI_BOOTLOADER_CONTROL) += efibc.o + obj-$(CONFIG_EFI_TEST) += test/ + obj-$(CONFIG_EFI_DEV_PATH_PARSER) += dev-path-parser.o ++obj-$(CONFIG_EFI) += secureboot.o + obj-$(CONFIG_APPLE_PROPERTIES) += apple-properties.o + + arm-obj-$(CONFIG_EFI) := arm-init.o arm-runtime.o +diff --git a/drivers/firmware/efi/secureboot.c b/drivers/firmware/efi/secureboot.c +new file mode 100644 +index 000000000000..9070055de0a1 +--- /dev/null ++++ b/drivers/firmware/efi/secureboot.c +@@ -0,0 +1,38 @@ ++/* Core kernel secure boot support. ++ * ++ * Copyright (C) 2017 Red Hat, Inc. All Rights Reserved. ++ * Written by David Howells (dhowells@redhat.com) ++ * ++ * This program is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU General Public Licence ++ * as published by the Free Software Foundation; either version ++ * 2 of the Licence, or (at your option) any later version. ++ */ ++ ++#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt ++ ++#include <linux/efi.h> ++#include <linux/kernel.h> ++#include <linux/printk.h> ++ ++/* ++ * Decide what to do when UEFI secure boot mode is enabled. ++ */ ++void __init efi_set_secure_boot(enum efi_secureboot_mode mode) ++{ ++ if (efi_enabled(EFI_BOOT)) { ++ switch (mode) { ++ case efi_secureboot_mode_disabled: ++ pr_info("Secure boot disabled\n"); ++ break; ++ case efi_secureboot_mode_enabled: ++ set_bit(EFI_SECURE_BOOT, &efi.flags); ++ pr_info("Secure boot enabled\n"); ++ break; ++ default: ++ pr_warning("Secure boot could not be determined (mode %u)\n", ++ mode); ++ break; ++ } ++ } ++} +diff --git a/include/linux/efi.h b/include/linux/efi.h +index 66f4a4e79f4b..7c7a7e33e4d1 100644 +--- a/include/linux/efi.h ++++ b/include/linux/efi.h +@@ -1103,6 +1103,14 @@ extern int __init efi_setup_pcdp_console(char *); + #define EFI_DBG 8 /* Print additional debug info at runtime */ + #define EFI_NX_PE_DATA 9 /* Can runtime data regions be mapped non-executable? */ + #define EFI_MEM_ATTR 10 /* Did firmware publish an EFI_MEMORY_ATTRIBUTES table? */ ++#define EFI_SECURE_BOOT 11 /* Are we in Secure Boot mode? */ ++ ++enum efi_secureboot_mode { ++ efi_secureboot_mode_unset, ++ efi_secureboot_mode_unknown, ++ efi_secureboot_mode_disabled, ++ efi_secureboot_mode_enabled, ++}; + + #ifdef CONFIG_EFI + /* +@@ -1115,6 +1123,7 @@ static inline bool efi_enabled(int feature) + extern void efi_reboot(enum reboot_mode reboot_mode, const char *__unused); + + extern bool efi_is_table_address(unsigned long phys_addr); ++extern void __init efi_set_secure_boot(enum efi_secureboot_mode mode); + #else + static inline bool efi_enabled(int feature) + { +@@ -1133,6 +1142,7 @@ static inline bool efi_is_table_address(unsigned long phys_addr) + { + return false; + } ++static inline void efi_set_secure_boot(enum efi_secureboot_mode mode) {} + #endif + + extern int efi_status_to_err(efi_status_t status); +@@ -1518,12 +1528,6 @@ efi_status_t efi_setup_gop(efi_system_table_t *sys_table_arg, + bool efi_runtime_disabled(void); + extern void efi_call_virt_check_flags(unsigned long flags, const char *call); + +-enum efi_secureboot_mode { +- efi_secureboot_mode_unset, +- efi_secureboot_mode_unknown, +- efi_secureboot_mode_disabled, +- efi_secureboot_mode_enabled, +-}; + enum efi_secureboot_mode efi_get_secureboot(efi_system_table_t *sys_table); + + #ifdef CONFIG_RESET_ATTACK_MITIGATION +-- +2.13.6 + +From 163d6a313399a4d50c5c7e42e3dd642ca8d495d7 Mon Sep 17 00:00:00 2001 +From: David Howells <dhowells@redhat.com> +Date: Thu, 19 Oct 2017 14:05:02 +0100 +Subject: [PATCH 26/26] efi: Lock down the kernel if booted in secure boot mode + +UEFI Secure Boot provides a mechanism for ensuring that the firmware will +only load signed bootloaders and kernels. Certain use cases may also +require that all kernel modules also be signed. Add a configuration option +that to lock down the kernel - which includes requiring validly signed +modules - if the kernel is secure-booted. + +Signed-off-by: David Howells <dhowells@redhat.com> +Acked-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> +cc: linux-efi@vger.kernel.org +--- + arch/x86/kernel/setup.c | 6 ++++-- + security/Kconfig | 14 ++++++++++++++ + security/lock_down.c | 1 + + 3 files changed, 19 insertions(+), 2 deletions(-) + +diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c +index 7c2162f9e769..4e38327efb2e 100644 +--- a/arch/x86/kernel/setup.c ++++ b/arch/x86/kernel/setup.c +@@ -64,6 +64,7 @@ + #include <linux/dma-mapping.h> + #include <linux/ctype.h> + #include <linux/uaccess.h> ++#include <linux/security.h> + + #include <linux/percpu.h> + #include <linux/crash_dump.h> +@@ -1039,6 +1040,9 @@ void __init setup_arch(char **cmdline_p) + if (efi_enabled(EFI_BOOT)) + efi_init(); + ++ efi_set_secure_boot(boot_params.secure_boot); ++ init_lockdown(); ++ + dmi_scan_machine(); + dmi_memdev_walk(); + dmi_set_dump_stack_arch_desc(); +@@ -1197,8 +1201,6 @@ void __init setup_arch(char **cmdline_p) + /* Allocate bigger log buffer */ + setup_log_buf(1); + +- efi_set_secure_boot(boot_params.secure_boot); +- + reserve_initrd(); + + acpi_table_upgrade(); +diff --git a/security/Kconfig b/security/Kconfig +index 453cc89c198a..974731ac4f85 100644 +--- a/security/Kconfig ++++ b/security/Kconfig +@@ -220,6 +220,20 @@ config ALLOW_LOCKDOWN_LIFT_BY_SYSRQ + Allow the lockdown on a kernel to be lifted, by pressing a SysRq key + combination on a wired keyboard. + ++config LOCK_DOWN_IN_EFI_SECURE_BOOT ++ bool "Lock down the kernel in EFI Secure Boot mode" ++ default n ++ select LOCK_DOWN_KERNEL ++ depends on EFI ++ help ++ UEFI Secure Boot provides a mechanism for ensuring that the firmware ++ will only load signed bootloaders and kernels. Secure boot mode may ++ be determined from EFI variables provided by the system firmware if ++ not indicated by the boot parameters. ++ ++ Enabling this option turns on results in kernel lockdown being ++ triggered if EFI Secure Boot is set. ++ + + source security/selinux/Kconfig + source security/smack/Kconfig +diff --git a/security/lock_down.c b/security/lock_down.c +index 2c6b00f0c229..527f7e51dc8d 100644 +--- a/security/lock_down.c ++++ b/security/lock_down.c +@@ -12,6 +12,7 @@ + #include <linux/security.h> + #include <linux/export.h> + #include <linux/sysrq.h> ++#include <linux/efi.h> + #include <asm/setup.h> + + #ifdef CONFIG_ALLOW_LOCKDOWN_LIFT_BY_SYSRQ +-- +2.13.6 diff --git a/freed-ora/current/f26/filter-armv7hl.sh b/freed-ora/current/f26/filter-armv7hl.sh index 89a170e58..254893398 100644 --- a/freed-ora/current/f26/filter-armv7hl.sh +++ b/freed-ora/current/f26/filter-armv7hl.sh @@ -15,4 +15,4 @@ ethdrvs="3com adaptec alteon altera amd atheros broadcom cadence chelsio cisco d drmdrvs="amd armada bridge ast exynos etnaviv hisilicon i2c imx meson mgag200 msm omapdrm panel nouveau radeon rockchip sti sun4i tegra tilcdc tinydrm via vc4" -singlemods="ntb_netdev iscsi_ibft iscsi_boot_sysfs megaraid pmcraid qedi qla1280 9pnet_rdma rpcrdma nvmet-rdma nvme-rdma hid-picolcd hid-prodikeys hwa-hc hwpoison-inject target_core_user sbp_target cxgbit iw_cxgb3 iw_cxgb4 cxgb3i cxgb3i cxgb3i_ddp cxgb4i chcr" +singlemods="ntb_netdev iscsi_ibft iscsi_boot_sysfs megaraid pmcraid qedi qla1280 9pnet_rdma rpcrdma nvmet-rdma nvme-rdma hid-picolcd hid-prodikeys hwa-hc hwpoison-inject target_core_user sbp_target cxgbit iw_cxgb3 iw_cxgb4 cxgb3i cxgb3i cxgb3i_ddp cxgb4i chcr bq27xxx_battery_hdq" diff --git a/freed-ora/current/f26/filter-modules.sh b/freed-ora/current/f26/filter-modules.sh index fb84c6839..972372411 100755 --- a/freed-ora/current/f26/filter-modules.sh +++ b/freed-ora/current/f26/filter-modules.sh @@ -20,7 +20,7 @@ chardrvs="mwave pcmcia" netdrvs="appletalk can dsa hamradio ieee802154 irda ppp slip usb wireless" -ethdrvs="3com adaptec alteon amd atheros broadcom cadence calxeda chelsio cisco dec dlink emulex icplus marvell mellanox neterion nvidia oki-semi packetengines qlogic rdc renesas sfc silan sis smsc stmicro sun tehuti ti wiznet xircom" +ethdrvs="3com adaptec alteon amd aquantia atheros broadcom cadence calxeda chelsio cisco dec dlink emulex icplus marvell mellanox neterion nvidia oki-semi packetengines qlogic rdc renesas sfc silan sis smsc stmicro sun tehuti ti wiznet xircom" inputdrvs="gameport tablet touchscreen" diff --git a/freed-ora/current/f26/filter-ppc64p7.sh b/freed-ora/current/f26/filter-ppc64p7.sh deleted file mode 100644 index 0d42b4741..000000000 --- a/freed-ora/current/f26/filter-ppc64p7.sh +++ /dev/null @@ -1,14 +0,0 @@ -#! /bin/bash - -# This is the ppc64p7 override file for the core/drivers package split. The -# module directories listed here and in the generic list in filter-modules.sh -# will be moved to the resulting kernel-modules package for this arch. -# Anything not listed in those files will be in the kernel-core package. -# -# Please review the default list in filter-modules.sh before making -# modifications to the overrides below. If something should be removed across -# all arches, remove it in the default instead of per-arch. - -driverdirs="atm auxdisplay bcma bluetooth firewire fmc infiniband isdn leds media memstick message mmc mtd mwave nfc ntb pcmcia platform power ssb staging tty uio uwb w1" - -singlemods="ntb_netdev iscsi_ibft iscsi_boot_sysfs megaraid pmcraid qedi qla1280 9pnet_rdma rpcrdma nvmet-rdma nvme-rdma hid-picolcd hid-prodikeys hwa-hc hwpoison-inject target_core_user sbp_target cxgbit iw_cxgb3 iw_cxgb4 cxgb3i cxgb3i cxgb3i_ddp cxgb4i chcr" diff --git a/freed-ora/current/f26/kernel-aarch64-debug.config b/freed-ora/current/f26/kernel-aarch64-debug.config index a67a72db5..4515cc1d1 100644 --- a/freed-ora/current/f26/kernel-aarch64-debug.config +++ b/freed-ora/current/f26/kernel-aarch64-debug.config @@ -178,7 +178,9 @@ CONFIG_AK8975=m CONFIG_ALI_FIR=m CONFIG_ALIM1535_WDT=m CONFIG_ALIM7101_WDT=m +CONFIG_ALLOW_LOCKDOWN_LIFT_BY_SYSRQ=y # CONFIG_ALTERA_MBOX is not set +CONFIG_ALTERA_MSGDMA=m CONFIG_ALTERA_STAPL=m CONFIG_ALTERA_TSE=m CONFIG_ALX=m @@ -232,14 +234,13 @@ CONFIG_ARCH_SEATTLE=y # CONFIG_ARCH_STRATIX10 is not set CONFIG_ARCH_SUNXI=y CONFIG_ARCH_TEGRA_132_SOC=y -# CONFIG_ARCH_TEGRA_186_SOC is not set +CONFIG_ARCH_TEGRA_186_SOC=y CONFIG_ARCH_TEGRA_210_SOC=y CONFIG_ARCH_TEGRA=y CONFIG_ARCH_THUNDER2=y CONFIG_ARCH_THUNDER=y # CONFIG_ARCH_UNIPHIER is not set CONFIG_ARCH_VEXPRESS=y -# CONFIG_ARCH_VULCAN is not set CONFIG_ARCH_XGENE=y # CONFIG_ARCH_ZX is not set # CONFIG_ARCH_ZYNQMP is not set @@ -258,6 +259,7 @@ CONFIG_ARM64_ERRATUM_858921=y CONFIG_ARM64_HW_AFDBM=y CONFIG_ARM64_LSE_ATOMICS=y CONFIG_ARM64_PAN=y +# CONFIG_ARM64_PMEM is not set CONFIG_ARM64_PTDUMP_DEBUGFS=y CONFIG_ARM64_PTDUMP=y # CONFIG_ARM64_RANDOMIZE_TEXT_OFFSET is not set @@ -304,6 +306,7 @@ CONFIG_ARM_SMMU_V3=y CONFIG_ARM_SMMU=y CONFIG_ARM_SP805_WATCHDOG=m CONFIG_ARM_TEGRA124_CPUFREQ=m +CONFIG_ARM_TEGRA186_CPUFREQ=m # CONFIG_ARM_TEGRA20_CPUFREQ is not set CONFIG_ARM_TEGRA_DEVFREQ=m CONFIG_ARM_TIMER_SP804=y @@ -330,6 +333,7 @@ CONFIG_ATH10K=m CONFIG_ATH10K_PCI=m CONFIG_ATH10K_SDIO=m # CONFIG_ATH10K_TRACING is not set +CONFIG_ATH10K_USB=m CONFIG_ATH5K_DEBUG=y CONFIG_ATH5K=m # CONFIG_ATH5K_TRACER is not set @@ -470,6 +474,7 @@ CONFIG_BATTERY_AXP20X=m # CONFIG_BATTERY_LEGO_EV3 is not set # CONFIG_BATTERY_MAX17040 is not set # CONFIG_BATTERY_MAX17042 is not set +# CONFIG_BATTERY_MAX1721X is not set # CONFIG_BATTERY_SBS is not set CONFIG_BAYCOM_EPP=m CONFIG_BAYCOM_PAR=m @@ -519,7 +524,6 @@ CONFIG_BINFMT_MISC=m CONFIG_BINFMT_SCRIPT=y CONFIG_BLK_CGROUP=y # CONFIG_BLK_CMDLINE_PARSER is not set -CONFIG_BLK_CPQ_CISS_DA=m CONFIG_BLK_DEBUG_FS=y # CONFIG_BLK_DEV_3W_XXXX_RAID is not set CONFIG_BLK_DEV_BSGLIB=y @@ -555,7 +559,6 @@ CONFIG_BLK_DEV_SR=y CONFIG_BLK_DEV_SX8=m # CONFIG_BLK_DEV_THROTTLING_LOW is not set CONFIG_BLK_DEV_THROTTLING=y -# CONFIG_BLK_DEV_UB is not set CONFIG_BLK_DEV_UMEM=m CONFIG_BLK_DEV=y CONFIG_BLK_DEV_ZONED=y @@ -578,6 +581,7 @@ CONFIG_BNX2=m CONFIG_BNX2X=m CONFIG_BNX2X_SRIOV=y CONFIG_BNXT_DCB=y +CONFIG_BNXT_FLOWER_OFFLOAD=y CONFIG_BNXT=m CONFIG_BNXT_SRIOV=y CONFIG_BONDING=m @@ -589,6 +593,7 @@ CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 CONFIG_BOOT_PRINTK_DELAY=y CONFIG_BOUNCE=y CONFIG_BPF_JIT=y +CONFIG_BPF_STREAM_PARSER=y CONFIG_BPF_SYSCALL=y CONFIG_BPQETHER=m # CONFIG_BRCMDBG is not set @@ -679,7 +684,6 @@ CONFIG_BT_RFCOMM_TTY=y CONFIG_BTRFS_FS=m CONFIG_BTRFS_FS_POSIX_ACL=y # CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set -CONFIG_BT_SCO=y # CONFIG_BT_SELFTEST is not set CONFIG_BTT=y CONFIG_BT_WILINK=m @@ -760,11 +764,13 @@ CONFIG_CB710_CORE=m # CONFIG_CB710_DEBUG is not set # CONFIG_CC10001_ADC is not set # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set +# CONFIG_CCS811 is not set # CONFIG_CC_STACKPROTECTOR is not set CONFIG_CC_STACKPROTECTOR_NONE=y CONFIG_CDROM_PKTCDVD_BUFFERS=8 CONFIG_CDROM_PKTCDVD=m # CONFIG_CDROM_PKTCDVD_WCACHE is not set +CONFIG_CEC_PIN=y CONFIG_CEC_PLATFORM_DRIVERS=y CONFIG_CEPH_FSCACHE=y CONFIG_CEPH_FS=m @@ -809,7 +815,7 @@ CONFIG_CHARGER_AXP20X=m # CONFIG_CHARGER_MANAGER is not set # CONFIG_CHARGER_MAX8903 is not set # CONFIG_CHARGER_PCF50633 is not set -# CONFIG_CHARGER_QCOM_SMBB is not set +CONFIG_CHARGER_QCOM_SMBB=m # CONFIG_CHARGER_RT9455 is not set # CONFIG_CHARGER_SBS is not set CONFIG_CHARGER_SMB347=m @@ -843,9 +849,9 @@ CONFIG_CIFS_STATS=y CONFIG_CIFS_UPCALL=y CONFIG_CIFS_WEAK_PW_HASH=y CONFIG_CIFS_XATTR=y -CONFIG_CISS_SCSI_TAPE=y CONFIG_CLEANCACHE=y CONFIG_CLKDEV_LOOKUP=y +# CONFIG_CLK_HSDK is not set # CONFIG_CLK_QORIQ is not set CONFIG_CLK_SP810=y CONFIG_CLKSRC_VERSATILE=y @@ -954,8 +960,8 @@ CONFIG_CRYPTO_AES_ARM64_BS=m CONFIG_CRYPTO_AES_ARM64_CE_BLK=y CONFIG_CRYPTO_AES_ARM64_CE_CCM=y CONFIG_CRYPTO_AES_ARM64_CE=y -CONFIG_CRYPTO_AES_ARM64=m CONFIG_CRYPTO_AES_ARM64_NEON_BLK=y +CONFIG_CRYPTO_AES_ARM64=y CONFIG_CRYPTO_AES_ARM_BS=y CONFIG_CRYPTO_AES_ARM=y CONFIG_CRYPTO_AES_TI=m @@ -1002,6 +1008,8 @@ CONFIG_CRYPTO_DEV_NITROX_CNN55XX=m CONFIG_CRYPTO_DEV_QCE=m CONFIG_CRYPTO_DEV_ROCKCHIP=m CONFIG_CRYPTO_DEV_SAFEXCEL=m +# CONFIG_CRYPTO_DEV_SP_CCP is not set +CONFIG_CRYPTO_DEV_SUN4I_SS_PRNG=y CONFIG_CRYPTO_DEV_VIRTIO=m CONFIG_CRYPTO_DH=y CONFIG_CRYPTO_DRBG_CTR=y @@ -1049,7 +1057,7 @@ CONFIG_CRYPTO_SHA1_ARM64_CE=y CONFIG_CRYPTO_SHA1_ARM_NEON=y CONFIG_CRYPTO_SHA1_ARM=y CONFIG_CRYPTO_SHA1=y -CONFIG_CRYPTO_SHA256_ARM64=m +CONFIG_CRYPTO_SHA256_ARM64=y CONFIG_CRYPTO_SHA256_ARM=y CONFIG_CRYPTO_SHA256=y CONFIG_CRYPTO_SHA2_ARM64_CE=y @@ -1257,6 +1265,7 @@ CONFIG_DRM_CIRRUS_QEMU=m CONFIG_DRM_DP_AUX_CHARDEV=y CONFIG_DRM_DUMB_VGA_DAC=m CONFIG_DRM_DW_HDMI_AHB_AUDIO=m +CONFIG_DRM_DW_HDMI_CEC=m CONFIG_DRM_DW_HDMI_I2S_AUDIO=m CONFIG_DRM_DW_HDMI=m CONFIG_DRM_FBDEV_EMULATION=y @@ -1320,7 +1329,6 @@ CONFIG_DRM_ROCKCHIP=m CONFIG_DRM_SIL_SII8620=m # CONFIG_DRM_SIS is not set # CONFIG_DRM_STM is not set -CONFIG_DRM_SUN4I_BACKEND=m CONFIG_DRM_SUN8I_MIXER=m # CONFIG_DRM_TDFX is not set # CONFIG_DRM_TEGRA_DEBUG is not set @@ -1331,6 +1339,7 @@ CONFIG_DRM_TI_TFP410=m CONFIG_DRM_TOSHIBA_TC358767=m CONFIG_DRM_UDL=m # CONFIG_DRM_VBOXVIDEO is not set +CONFIG_DRM_VC4_HDMI_CEC=y CONFIG_DRM_VC4=m CONFIG_DRM_VGEM=m CONFIG_DRM_VIA=m @@ -1362,6 +1371,7 @@ CONFIG_DVB_BUDGET_PATCH=m CONFIG_DVB_CORE=m # CONFIG_DVB_CXD2099 is not set CONFIG_DVB_DDBRIDGE=m +# CONFIG_DVB_DDBRIDGE_MSIENABLE is not set # CONFIG_DVB_DEMUX_SECTION_LOSS_LOG is not set CONFIG_DVB_DM1105=m CONFIG_DVB_DYNAMIC_MINORS=y @@ -1441,7 +1451,7 @@ CONFIG_E1000E=m CONFIG_E1000=m CONFIG_E100=m CONFIG_EARLY_PRINTK_DBGP=y -# CONFIG_EARLY_PRINTK_USB_XDBC is not set +CONFIG_EARLY_PRINTK_USB_XDBC=y CONFIG_EARLY_PRINTK=y # CONFIG_EBC_C384_WDT is not set CONFIG_ECHO=m @@ -1495,7 +1505,6 @@ CONFIG_ETHOC=m # CONFIG_EVM is not set # CONFIG_EXOFS_DEBUG is not set # CONFIG_EXOFS_FS is not set -CONFIG_EXPERIMENTAL=y # CONFIG_EXPERT is not set CONFIG_EXPORTFS=y # CONFIG_EXT2_FS is not set @@ -1513,6 +1522,7 @@ CONFIG_EXTCON_GPIO=m CONFIG_EXTCON_QCOM_SPMI_MISC=m # CONFIG_EXTCON_RT8973A is not set # CONFIG_EXTCON_SM5502 is not set +CONFIG_EXTCON_USBC_CROS_EC=m CONFIG_EXTCON_USB_GPIO=m CONFIG_EXTCON=y CONFIG_EXTRA_FIRMWARE="" @@ -1725,6 +1735,7 @@ CONFIG_GIRBIL_DONGLE=m # CONFIG_GPIO_ALTERA is not set # CONFIG_GPIO_AMDPT is not set CONFIG_GPIO_AXP209=m +CONFIG_GPIO_BD9571MWV=m # CONFIG_GPIO_BT8XX is not set CONFIG_GPIO_DEVRES=y CONFIG_GPIO_DWAPB=m @@ -1733,7 +1744,7 @@ CONFIG_GPIO_EXAR=m CONFIG_GPIO_GENERIC_PLATFORM=y CONFIG_GPIO_GENERIC=y # CONFIG_GPIO_GRGPIO is not set -CONFIG_GPIO_IT87=m +# CONFIG_GPIO_IT87 is not set CONFIG_GPIOLIB=y # CONFIG_GPIO_MAX7300 is not set # CONFIG_GPIO_MAX7301 is not set @@ -1757,7 +1768,9 @@ CONFIG_GPIO_PL061=y # CONFIG_GPIO_SYSCON is not set # CONFIG_GPIO_SYSFS is not set CONFIG_GPIO_TEGRA=y +CONFIG_GPIO_THUNDERX=m # CONFIG_GPIO_TPIC2810 is not set +CONFIG_GPIO_TPS68470=y # CONFIG_GPIO_TS4900 is not set # CONFIG_GPIO_TS5500 is not set CONFIG_GPIO_VIPERBOARD=m @@ -1807,7 +1820,7 @@ CONFIG_HID_CHERRY=m CONFIG_HID_CHICONY=m CONFIG_HID_CMEDIA=m CONFIG_HID_CORSAIR=m -# CONFIG_HID_CP2112 is not set +CONFIG_HID_CP2112=m CONFIG_HID_CYPRESS=m CONFIG_HID_DRAGONRISE=m CONFIG_HID_ELECOM=m @@ -1968,6 +1981,7 @@ CONFIG_HWPOISON_INJECT=m CONFIG_HW_RANDOM_BCM2835=m CONFIG_HW_RANDOM_CAVIUM=m CONFIG_HW_RANDOM_HISI=m +CONFIG_HW_RANDOM_IMX_RNGC=m CONFIG_HW_RANDOM_MESON=m CONFIG_HW_RANDOM_MSM=m CONFIG_HW_RANDOM_OMAP=m @@ -2006,10 +2020,10 @@ CONFIG_I2C_CROS_EC_TUNNEL=m # CONFIG_I2C_DEBUG_BUS is not set # CONFIG_I2C_DEBUG_CORE is not set # CONFIG_I2C_DEMUX_PINCTRL is not set -CONFIG_I2C_DESIGNWARE_CORE=m +CONFIG_I2C_DESIGNWARE_CORE=y # CONFIG_I2C_DESIGNWARE is not set CONFIG_I2C_DESIGNWARE_PCI=m -CONFIG_I2C_DESIGNWARE_PLATFORM=m +CONFIG_I2C_DESIGNWARE_PLATFORM=y CONFIG_I2C_DESIGNWARE_SLAVE=y CONFIG_I2C_DIOLAN_U2C=m # CONFIG_I2C_EG20T is not set @@ -2036,8 +2050,7 @@ CONFIG_I2C_NFORCE2=m # CONFIG_I2C_NFORCE2_S4985 is not set # CONFIG_I2C_NOMADIK is not set # CONFIG_I2C_OCORES is not set -CONFIG_I2C_PARPORT_LIGHT=m -CONFIG_I2C_PARPORT=m +# CONFIG_I2C_PARPORT_LIGHT is not set CONFIG_I2C_PCA_PLATFORM=m # CONFIG_I2C_PIIX4 is not set CONFIG_I2C_PXA=m @@ -2164,6 +2177,7 @@ CONFIG_INET=y # CONFIG_INFINIBAND_CXGB3_DEBUG is not set CONFIG_INFINIBAND_CXGB3=m CONFIG_INFINIBAND_CXGB4=m +# CONFIG_INFINIBAND_EXP_USER_ACCESS is not set CONFIG_INFINIBAND_I40IW=m CONFIG_INFINIBAND_IPOIB_CM=y CONFIG_INFINIBAND_IPOIB_DEBUG_DATA=y @@ -2190,7 +2204,6 @@ CONFIG_INFINIBAND_USNIC=m # CONFIG_INFTL is not set CONFIG_INITRAMFS_SOURCE="" CONFIG_INOTIFY_USER=y -CONFIG_INOTIFY=y # CONFIG_INPUT_AD714X is not set # CONFIG_INPUT_ADXL34X is not set CONFIG_INPUT_APANEL=m @@ -2242,8 +2255,10 @@ CONFIG_INPUT_PMIC8XXX_PWRKEY=m CONFIG_INPUT_POLLDEV=m CONFIG_INPUT_POWERMATE=m CONFIG_INPUT_PWM_BEEPER=m +# CONFIG_INPUT_PWM_VIBRA is not set # CONFIG_INPUT_REGULATOR_HAPTIC is not set CONFIG_INPUT_RETU_PWRBUTTON=m +CONFIG_INPUT_RK805_PWRKEY=m CONFIG_INPUT_SOC_BUTTON_ARRAY=m CONFIG_INPUT_SPARSEKMAP=m CONFIG_INPUT_TABLET=y @@ -2262,6 +2277,7 @@ CONFIG_INTEL_XWAY_PHY=m # CONFIG_INV_MPU6050_I2C is not set # CONFIG_INV_MPU6050_IIO is not set # CONFIG_INV_MPU6050_SPI is not set +CONFIG_IOMMU_DMA=y # CONFIG_IOMMU_IO_PGTABLE_ARMV7S is not set # CONFIG_IOMMU_IO_PGTABLE_LPAE_SELFTEST is not set CONFIG_IOMMU_IO_PGTABLE_LPAE=y @@ -2425,6 +2441,7 @@ CONFIG_IRDA=m CONFIG_IR_ENE=m CONFIG_IR_FINTEK=m CONFIG_IR_GPIO_CIR=m +CONFIG_IR_GPIO_TX=m CONFIG_IR_HIX5HD2=m CONFIG_IR_IGORPLUGUSB=m CONFIG_IR_IGUANA=m @@ -2440,6 +2457,7 @@ CONFIG_IR_MESON=m CONFIG_IR_NEC_DECODER=m CONFIG_IRNET=m CONFIG_IR_NUVOTON=m +CONFIG_IR_PWM_TX=m # CONFIG_IRQ_DOMAIN_DEBUG is not set # CONFIG_IRQSOFF_TRACER is not set CONFIG_IRQ_TIME_ACCOUNTING=y @@ -2672,6 +2690,7 @@ CONFIG_LCD_PLATFORM=m # CONFIG_LDM_DEBUG is not set CONFIG_LDM_PARTITION=y # CONFIG_LEDS_AAT1290 is not set +CONFIG_LEDS_AS3645A=m # CONFIG_LEDS_BCM6328 is not set # CONFIG_LEDS_BCM6358 is not set # CONFIG_LEDS_BD2802 is not set @@ -2771,6 +2790,7 @@ CONFIG_LMP91000=m CONFIG_LOCALVERSION="" # CONFIG_LOCALVERSION_AUTO is not set CONFIG_LOCKD=m +# CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT is not set # CONFIG_LOCK_DOWN_KERNEL is not set CONFIG_LOCKD_V4=y # CONFIG_LOCK_STAT is not set @@ -2796,6 +2816,7 @@ CONFIG_LPFC_NVME_INITIATOR=y CONFIG_LPFC_NVME_TARGET=y CONFIG_LSI_ET1011C_PHY=m CONFIG_LSM_MMAP_MIN_ADDR=65536 +# CONFIG_LTC2471 is not set # CONFIG_LTC2485 is not set # CONFIG_LTC2497 is not set # CONFIG_LTC2632 is not set @@ -2876,6 +2897,7 @@ CONFIG_MDIO_BUS_MUX=m CONFIG_MDIO_BUS_MUX_MMIOREG=m CONFIG_MDIO_GPIO=m CONFIG_MDIO_HISI_FEMAC=m +CONFIG_MDIO_I2C=m # CONFIG_MDIO_OCTEON is not set # CONFIG_MDIO_SUN4I is not set CONFIG_MDIO_THUNDER=m @@ -2930,6 +2952,7 @@ CONFIG_MEMSTICK_TIFM_MS=m CONFIG_MESON_EFUSE=m CONFIG_MESON_GXBB_WATCHDOG=m CONFIG_MESON_GXL_PHY=m +CONFIG_MESON_GX_SOCINFO=y CONFIG_MESON_SARADC=m CONFIG_MESON_SM=y # CONFIG_MESON_WATCHDOG is not set @@ -2952,6 +2975,7 @@ CONFIG_MFD_AXP20X_I2C=y CONFIG_MFD_AXP20X_RSB=m CONFIG_MFD_AXP20X=y # CONFIG_MFD_BCM590XX is not set +CONFIG_MFD_BD9571MWV=m CONFIG_MFD_CORE=y # CONFIG_MFD_CPCAP is not set CONFIG_MFD_CROS_EC_I2C=m @@ -3025,6 +3049,7 @@ CONFIG_MFD_SYSCON=y # CONFIG_MFD_TPS65912_I2C is not set # CONFIG_MFD_TPS65912 is not set # CONFIG_MFD_TPS65912_SPI is not set +CONFIG_MFD_TPS68470=y # CONFIG_MFD_TPS80031 is not set CONFIG_MFD_VEXPRESS_SYSREG=y CONFIG_MFD_VIPERBOARD=m @@ -3069,8 +3094,10 @@ CONFIG_MLX5_CORE_EN=y CONFIG_MLX5_CORE_IPOIB=y CONFIG_MLX5_CORE=m # CONFIG_MLX5_EN_IPSEC is not set +CONFIG_MLX5_ESWITCH=y # CONFIG_MLX5_FPGA is not set CONFIG_MLX5_INFINIBAND=m +CONFIG_MLX5_MPFS=y # CONFIG_MLX90614 is not set CONFIG_MLX_CPLD_PLATFORM=m CONFIG_MLXFW=m @@ -3093,7 +3120,6 @@ CONFIG_MMA7660=m # CONFIG_MMC35240 is not set CONFIG_MMC_ARMMMCI=m CONFIG_MMC_BCM2835=m -CONFIG_MMC_BLOCK_BOUNCE=y CONFIG_MMC_BLOCK=m CONFIG_MMC_BLOCK_MINORS=8 CONFIG_MMC_CAVIUM_THUNDERX=m @@ -3108,7 +3134,7 @@ CONFIG_MMC_DW_ROCKCHIP=m CONFIG_MMC_MESON_GX=m # CONFIG_MMC_MTK is not set CONFIG_MMC_MVSDIO=m -CONFIG_MMC_QCOM_DML=m +CONFIG_MMC_QCOM_DML=y CONFIG_MMC_REALTEK_PCI=m CONFIG_MMC_REALTEK_USB=m CONFIG_MMC_RICOH_MMC=y @@ -3240,6 +3266,7 @@ CONFIG_MTD_MAP_BANK_WIDTH_4=y # CONFIG_MTD_NAND is not set # CONFIG_MTD_NAND_OMAP2 is not set # CONFIG_MTD_NAND_OXNAS is not set +CONFIG_MTD_NAND_PXA3xx=m CONFIG_MTD_OF_PARTS=m # CONFIG_MTD_ONENAND is not set # CONFIG_MTD_OOPS is not set @@ -3479,6 +3506,7 @@ CONFIG_NETLABEL=y CONFIG_NETLINK_DIAG=m CONFIG_NET_MPLS_GSO=m CONFIG_NET_NCSI=y +CONFIG_NET_NSH=m CONFIG_NET_NS=y CONFIG_NET_PACKET_ENGINE=y CONFIG_NET_PKTGEN=m @@ -3549,6 +3577,7 @@ CONFIG_NET_VENDOR_EMULEX=y # CONFIG_NET_VENDOR_FUJITSU is not set # CONFIG_NET_VENDOR_HISILICON is not set # CONFIG_NET_VENDOR_HP is not set +# CONFIG_NET_VENDOR_HUAWEI is not set # CONFIG_NET_VENDOR_I825XX is not set CONFIG_NET_VENDOR_INTEL=y CONFIG_NET_VENDOR_MARVELL=y @@ -3571,6 +3600,7 @@ CONFIG_NET_VENDOR_ROCKER=y CONFIG_NET_VENDOR_SILAN=y CONFIG_NET_VENDOR_SIS=y CONFIG_NET_VENDOR_SMSC=y +CONFIG_NET_VENDOR_SNI=y # CONFIG_NET_VENDOR_SOLARFLARE is not set CONFIG_NET_VENDOR_STMICRO=y # CONFIG_NET_VENDOR_SUN is not set @@ -3709,6 +3739,7 @@ CONFIG_NFT_EXTHDR=m CONFIG_NFT_FIB_INET=m CONFIG_NFT_FIB_IPV4=m CONFIG_NFT_FIB_IPV6=m +CONFIG_NFT_FIB_NETDEV=m CONFIG_NFT_FWD_NETDEV=m CONFIG_NFT_HASH=m CONFIG_NFT_LIMIT=m @@ -3881,14 +3912,8 @@ CONFIG_PARAVIRT_TIME_ACCOUNTING=y CONFIG_PARAVIRT=y # CONFIG_PARIDE is not set CONFIG_PARMAN=m -CONFIG_PARPORT_1284=y -# CONFIG_PARPORT_AX88796 is not set # CONFIG_PARPORT is not set -# CONFIG_PARPORT_PC_FIFO is not set # CONFIG_PARPORT_PC is not set -CONFIG_PARPORT_PC_PCMCIA=m -# CONFIG_PARPORT_PC_SUPERIO is not set -CONFIG_PARPORT_SERIAL=m CONFIG_PARTITION_ADVANCED=y CONFIG_PATA_ACPI=m CONFIG_PATA_ALI=m @@ -3920,7 +3945,6 @@ CONFIG_PATA_NETCELL=m CONFIG_PATA_NINJA32=m CONFIG_PATA_NS87410=m CONFIG_PATA_NS87415=m -CONFIG_PATA_OF_PLATFORM=m CONFIG_PATA_OLDPIIX=m CONFIG_PATA_OPTIDMA=m CONFIG_PATA_OPTI=m @@ -3955,6 +3979,7 @@ CONFIG_PCIE_ARMADA_8K=y # CONFIG_PCIEASPM_DEBUG is not set CONFIG_PCIEASPM=y CONFIG_PCIE_DPC=y +CONFIG_PCIE_DW_HOST_ECAM=y CONFIG_PCIE_DW_HOST=y # CONFIG_PCIE_DW_PLAT is not set CONFIG_PCIE_DW=y @@ -4017,8 +4042,10 @@ CONFIG_PERSISTENT_KEYRINGS=y # CONFIG_PHY_CPCAP_USB is not set CONFIG_PHY_HI6220_USB=m CONFIG_PHYLIB=y +CONFIG_PHYLINK=m CONFIG_PHY_MESON8B_USB2=m # CONFIG_PHY_MESON_GXL_USB2 is not set +CONFIG_PHY_MVEBU_CP110_COMPHY=m CONFIG_PHY_MVEBU_SATA=y # CONFIG_PHY_PXA_28NM_HSIC is not set # CONFIG_PHY_PXA_28NM_USB2 is not set @@ -4043,6 +4070,7 @@ CONFIG_PHY_SUN4I_USB=m CONFIG_PHY_TEGRA_XUSB=m # CONFIG_PHY_TUSB1210 is not set CONFIG_PHY_XGENE=y +# CONFIG_PI433 is not set # CONFIG_PID_IN_CONTEXTIDR is not set CONFIG_PID_NS=y CONFIG_PINCONF=y @@ -4071,7 +4099,10 @@ CONFIG_PINCTRL_MVEBU=y CONFIG_PINCTRL_QCOM_SPMI_PMIC=y # CONFIG_PINCTRL_QCOM_SSBI_PMIC is not set CONFIG_PINCTRL_QDF2XXX=y +CONFIG_PINCTRL_RK805=m CONFIG_PINCTRL_SINGLE=y +# CONFIG_PINCTRL_SPRD is not set +# CONFIG_PINCTRL_SPRD_SC9860 is not set # CONFIG_PINCTRL_SUNRISEPOINT is not set # CONFIG_PINCTRL_SX150X is not set CONFIG_PINCTRL=y @@ -4139,7 +4170,6 @@ CONFIG_PPP_SYNC_TTY=m CONFIG_PPS_CLIENT_GPIO=m # CONFIG_PPS_CLIENT_KTIMER is not set CONFIG_PPS_CLIENT_LDISC=m -CONFIG_PPS_CLIENT_PARPORT=m # CONFIG_PPS_DEBUG is not set CONFIG_PPS_GENERATOR_PARPORT=m CONFIG_PPS=m @@ -4199,6 +4229,7 @@ CONFIG_QCOM_COINCELL=m CONFIG_QCOM_EMAC=m # CONFIG_QCOM_FALKOR_ERRATUM_1003 is not set CONFIG_QCOM_FALKOR_ERRATUM_1009=y +# CONFIG_QCOM_GLINK_SSR is not set CONFIG_QCOM_GSBI=y CONFIG_QCOM_HIDMA=m CONFIG_QCOM_HIDMA_MGMT=m @@ -4250,6 +4281,7 @@ CONFIG_R8169=m # CONFIG_R8188EU is not set CONFIG_R8712U=m CONFIG_R8723AU=m # Jes Sorensen maintains this (rhbz 1100162) +CONFIG_R8822BE=m CONFIG_RADIO_ADAPTERS=y CONFIG_RADIO_AZTECH=m CONFIG_RADIO_CADET=m @@ -4271,11 +4303,11 @@ CONFIG_RADIO_TERRATEC=m CONFIG_RADIO_TRUST=m CONFIG_RADIO_TYPHOON=m CONFIG_RADIO_WL1273=m -CONFIG_RADIO_WL128X=m CONFIG_RADIO_ZOLTRIX=m CONFIG_RAID_ATTRS=m # CONFIG_RANDOM32_SELFTEST is not set -# CONFIG_RANDOMIZE_BASE is not set +CONFIG_RANDOMIZE_BASE=y +CONFIG_RANDOMIZE_MODULE_REGION_FULL=y CONFIG_RAS_CEC=y CONFIG_RASPBERRYPI_FIRMWARE=y CONFIG_RASPBERRYPI_POWER=y @@ -4325,6 +4357,7 @@ CONFIG_REGULATOR_ACT8865=m # CONFIG_REGULATOR_AD5398 is not set # CONFIG_REGULATOR_ANATOP is not set CONFIG_REGULATOR_AXP20X=m +CONFIG_REGULATOR_BD9571MWV=m # CONFIG_REGULATOR_DA9210 is not set # CONFIG_REGULATOR_DA9211 is not set # CONFIG_REGULATOR_DEBUG is not set @@ -4376,12 +4409,14 @@ CONFIG_REISERFS_FS_SECURITY=y CONFIG_REISERFS_FS_XATTR=y CONFIG_REISERFS_PROC_INFO=y CONFIG_RELAY=y -# CONFIG_RELOCATABLE is not set # CONFIG_RELOCATABLE_TEST is not set +CONFIG_RELOCATABLE=y CONFIG_REMOTEPROC=m +CONFIG_RESET_ATTACK_MITIGATION=y CONFIG_RESET_CONTROLLER=y CONFIG_RESET_GPIO=y CONFIG_RESET_HISI=y +# CONFIG_RESET_HSDK_V1 is not set # CONFIG_RESET_TI_SCI is not set # CONFIG_RESET_TI_SYSCON is not set # CONFIG_RFD_FTL is not set @@ -4402,6 +4437,7 @@ CONFIG_RMI4_F55=y CONFIG_RMI4_I2C=m CONFIG_RMI4_SMB=m CONFIG_RMI4_SPI=m +# CONFIG_RMNET is not set CONFIG_ROCKCHIP_ANALOGIX_DP=y CONFIG_ROCKCHIP_CDN_DP=y CONFIG_ROCKCHIP_DW_HDMI=y @@ -4411,6 +4447,7 @@ CONFIG_ROCKCHIP_INNO_HDMI=y CONFIG_ROCKCHIP_IODOMAIN=m CONFIG_ROCKCHIP_IOMMU=y CONFIG_ROCKCHIP_MBOX=y +CONFIG_ROCKCHIP_PHY=m CONFIG_ROCKCHIP_PM_DOMAINS=y CONFIG_ROCKCHIP_SARADC=m CONFIG_ROCKCHIP_THERMAL=m @@ -4422,6 +4459,7 @@ CONFIG_RPCSEC_GSS_KRB5=m # CONFIG_RPMSG_CHAR is not set CONFIG_RPMSG=m CONFIG_RPMSG_QCOM_GLINK_RPM=m +# CONFIG_RPMSG_QCOM_GLINK_SMEM is not set CONFIG_RPMSG_QCOM_SMD=m CONFIG_RPR0521=m CONFIG_RSI_91X=m @@ -4798,6 +4836,7 @@ CONFIG_SENSORS_HDAPS=m # CONFIG_SENSORS_HMC5843_SPI is not set # CONFIG_SENSORS_I5K_AMB is not set CONFIG_SENSORS_IBMAEM=m +# CONFIG_SENSORS_IBM_CFFPS is not set CONFIG_SENSORS_IBMPEX=m CONFIG_SENSORS_IIO_HWMON=m CONFIG_SENSORS_INA209=m @@ -4888,6 +4927,7 @@ CONFIG_SENSORS_TMP108=m CONFIG_SENSORS_TMP401=m CONFIG_SENSORS_TMP421=m CONFIG_SENSORS_TPS40422=m +CONFIG_SENSORS_TPS53679=m CONFIG_SENSORS_TSL2550=m # CONFIG_SENSORS_TSL2563 is not set CONFIG_SENSORS_UCD9000=m @@ -4972,6 +5012,7 @@ CONFIG_SERIO_AMBAKMI=m # CONFIG_SERIO_APBPS2 is not set CONFIG_SERIO_ARC_PS2=m # CONFIG_SERIO_CT82C710 is not set +# CONFIG_SERIO_GPIO_PS2 is not set CONFIG_SERIO_I8042=y CONFIG_SERIO_LIBPS2=y # CONFIG_SERIO_OLPC_APSP is not set @@ -4985,6 +5026,7 @@ CONFIG_SERIO=y CONFIG_SFC_FALCON=m CONFIG_SFC_FALCON_MTD=y # CONFIG_SFC is not set +CONFIG_SFP=m # CONFIG_SGI_IOC4 is not set CONFIG_SGI_PARTITION=y CONFIG_SH_ETH=m @@ -5003,6 +5045,7 @@ CONFIG_SKGE_GENESIS=y CONFIG_SKGE=m # CONFIG_SKY2_DEBUG is not set CONFIG_SKY2=m +CONFIG_SLAB_FREELIST_HARDENED=y CONFIG_SLAB_FREELIST_RANDOM=y CONFIG_SLAB_MERGE_DEFAULT=y # CONFIG_SLICOSS is not set @@ -5112,7 +5155,7 @@ CONFIG_SND_HDA_INPUT_BEEP_MODE=0 CONFIG_SND_HDA_INPUT_BEEP=y CONFIG_SND_HDA_INTEL=m CONFIG_SND_HDA_PATCH_LOADER=y -CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0 +CONFIG_SND_HDA_POWER_SAVE_DEFAULT=1 CONFIG_SND_HDA_POWER_SAVE=y CONFIG_SND_HDA_PREALLOC_SIZE=4096 CONFIG_SND_HDA_RECONFIG=y @@ -5205,6 +5248,7 @@ CONFIG_SND_SOC_CS42L42=m # CONFIG_SND_SOC_CS42L56 is not set # CONFIG_SND_SOC_CS42L73 is not set # CONFIG_SND_SOC_CS42XX8_I2C is not set +CONFIG_SND_SOC_CS43130=m # CONFIG_SND_SOC_CS4349 is not set # CONFIG_SND_SOC_CS53L30 is not set CONFIG_SND_SOC_DIO2125=m @@ -5271,6 +5315,12 @@ CONFIG_SND_SOC_SPDIF=m # CONFIG_SND_SOC_TAS5086 is not set # CONFIG_SND_SOC_TAS571X is not set # CONFIG_SND_SOC_TAS5720 is not set +CONFIG_SND_SOC_TEGRA20_AC97=m +CONFIG_SND_SOC_TEGRA20_DAS=m +CONFIG_SND_SOC_TEGRA20_I2S=m +CONFIG_SND_SOC_TEGRA20_SPDIF=m +CONFIG_SND_SOC_TEGRA30_AHUB=m +CONFIG_SND_SOC_TEGRA30_I2S=m # CONFIG_SND_SOC_TEGRA_ALC5632 is not set CONFIG_SND_SOC_TEGRA=m CONFIG_SND_SOC_TEGRA_MAX98090=m @@ -5290,6 +5340,7 @@ CONFIG_SND_SOC_TPA6130A2=m CONFIG_SND_SOC_TS3A227E=m # CONFIG_SND_SOC_WM8510 is not set # CONFIG_SND_SOC_WM8523 is not set +CONFIG_SND_SOC_WM8524=m # CONFIG_SND_SOC_WM8580 is not set # CONFIG_SND_SOC_WM8711 is not set # CONFIG_SND_SOC_WM8728 is not set @@ -5341,8 +5392,10 @@ CONFIG_SND_VIRMIDI=m CONFIG_SND_VIRTUOSO=m CONFIG_SND_VX222=m CONFIG_SND_YMFPCI=m +CONFIG_SNI_NETSEC=m # CONFIG_SOC_BRCMSTB is not set # CONFIG_SOC_CAMERA is not set +CONFIG_SOCIONEXT_SYNQUACER_PREITS=y CONFIG_SOC_TEGRA_FLOWCTRL=y # CONFIG_SOC_TI is not set # CONFIG_SOC_ZTE is not set @@ -5413,6 +5466,7 @@ CONFIG_SQUASHFS=m CONFIG_SQUASHFS_XATTR=y CONFIG_SQUASHFS_XZ=y CONFIG_SQUASHFS_ZLIB=y +CONFIG_SQUASHFS_ZSTD=y CONFIG_SRAM=y # CONFIG_SRF04 is not set # CONFIG_SRF08 is not set @@ -5446,6 +5500,7 @@ CONFIG_STMMAC_ETH=m CONFIG_STMMAC_PLATFORM=m # CONFIG_STM_SOURCE_CONSOLE is not set CONFIG_STRICT_DEVMEM=y +# CONFIG_STRING_SELFTEST is not set CONFIG_STRIP_ASM_SYMS=y # CONFIG_STRIP is not set CONFIG_STUB_CLK_HI6220=y @@ -5467,6 +5522,7 @@ CONFIG_SUNRPC=m CONFIG_SUNRPC_XPRT_RDMA=m CONFIG_SUNXI_CCU=y CONFIG_SUNXI_RSB=m +CONFIG_SUNXI_SRAM=y CONFIG_SUNXI_WATCHDOG=m CONFIG_SURFACE_3_BUTTON=m CONFIG_SURFACE3_WMI=m @@ -5632,13 +5688,14 @@ CONFIG_TIGON3=m # CONFIG_TIMER_STATS is not set CONFIG_TINYDRM_MI0283QT=m CONFIG_TINYDRM_MIPI_DBI=m +# CONFIG_TINYDRM_REPAPER is not set +# CONFIG_TINYDRM_ST7586 is not set CONFIG_TIPC=m # CONFIG_TIPC_MEDIA_IB is not set CONFIG_TIPC_MEDIA_UDP=y # CONFIG_TI_SCI_CLK is not set CONFIG_TI_SCI_PROTOCOL=m -CONFIG_TI_ST=m -# CONFIG_TI_SYSCON_RESET is not set +# CONFIG_TI_ST is not set # CONFIG_TI_TLC4541 is not set # CONFIG_TLAN is not set CONFIG_TLS=m @@ -5963,7 +6020,6 @@ CONFIG_USB_KEENE=m CONFIG_USB_LAN78XX=m CONFIG_USB_LCD=m CONFIG_USB_LD=m -CONFIG_USB_LED=m CONFIG_USB_LEDS_TRIGGER_USBPORT=m CONFIG_USB_LED_TRIG=y CONFIG_USB_LEGOTOWER=m @@ -6079,7 +6135,6 @@ CONFIG_USB_SERIAL_KLSI=m CONFIG_USB_SERIAL_KOBIL_SCT=m CONFIG_USB_SERIAL_MCT_U232=m # CONFIG_USB_SERIAL_METRO is not set -CONFIG_USB_SERIAL_MOS7715_PARPORT=y CONFIG_USB_SERIAL_MOS7720=m CONFIG_USB_SERIAL_MOS7840=m # CONFIG_USB_SERIAL_MXUPORT is not set @@ -6257,6 +6312,7 @@ CONFIG_VIDEO_HEXIUM_ORION=m CONFIG_VIDEO_IVTV=m # CONFIG_VIDEO_M5MOLS is not set # CONFIG_VIDEO_MEM2MEM_DEINTERLACE is not set +CONFIG_VIDEO_MESON_AO_CEC=m CONFIG_VIDEO_MEYE=m CONFIG_VIDEO_MXB=m CONFIG_VIDEO_NOON010PC30=m @@ -6265,8 +6321,8 @@ CONFIG_VIDEO_NOON010PC30=m CONFIG_VIDEO_PVRUSB2_DVB=y CONFIG_VIDEO_PVRUSB2=m CONFIG_VIDEO_PVRUSB2_SYSFS=y +CONFIG_VIDEO_QCOM_CAMSS=m CONFIG_VIDEO_QCOM_VENUS=m -# CONFIG_VIDEO_RENESAS_VSP1 is not set CONFIG_VIDEO_SAA6588=m CONFIG_VIDEO_SAA7134_ALSA=m CONFIG_VIDEO_SAA7134_DVB=m @@ -6327,6 +6383,7 @@ CONFIG_VLAN_8021Q_GVRP=y CONFIG_VLAN_8021Q=m CONFIG_VLAN_8021Q_MVRP=y CONFIG_VLSI_FIR=m +CONFIG_VMAP_STACK=y # CONFIG_VME_BUS is not set # CONFIG_VMXNET3 is not set CONFIG_VORTEX=m @@ -6363,6 +6420,7 @@ CONFIG_W1_SLAVE_DS2438=m CONFIG_W1_SLAVE_DS2760=m CONFIG_W1_SLAVE_DS2780=m CONFIG_W1_SLAVE_DS2781=m +CONFIG_W1_SLAVE_DS2805=m CONFIG_W1_SLAVE_DS28E04=m CONFIG_W1_SLAVE_SMEM=m CONFIG_W1_SLAVE_THERM=m @@ -6382,6 +6440,7 @@ CONFIG_WATCHDOG=y CONFIG_WCN36XX=m CONFIG_WDAT_WDT=m CONFIG_WDTPCI=m +CONFIG_WIL6210_DEBUGFS=y CONFIG_WIL6210_ISR_COR=y CONFIG_WIL6210=m # CONFIG_WIL6210_TRACING is not set @@ -6476,6 +6535,7 @@ CONFIG_ZLIB_DEFLATE=y CONFIG_ZLIB_INFLATE=y # CONFIG_ZPA2326 is not set CONFIG_ZRAM=m +# CONFIG_ZRAM_WRITEBACK is not set # CONFIG_ZSMALLOC_STAT is not set CONFIG_ZSMALLOC=y CONFIG_ZSWAP=y diff --git a/freed-ora/current/f26/kernel-aarch64.config b/freed-ora/current/f26/kernel-aarch64.config index 2da9dfb19..ccf162a8b 100644 --- a/freed-ora/current/f26/kernel-aarch64.config +++ b/freed-ora/current/f26/kernel-aarch64.config @@ -178,7 +178,9 @@ CONFIG_AK8975=m CONFIG_ALI_FIR=m CONFIG_ALIM1535_WDT=m CONFIG_ALIM7101_WDT=m +CONFIG_ALLOW_LOCKDOWN_LIFT_BY_SYSRQ=y # CONFIG_ALTERA_MBOX is not set +CONFIG_ALTERA_MSGDMA=m CONFIG_ALTERA_STAPL=m CONFIG_ALTERA_TSE=m CONFIG_ALX=m @@ -232,14 +234,13 @@ CONFIG_ARCH_SEATTLE=y # CONFIG_ARCH_STRATIX10 is not set CONFIG_ARCH_SUNXI=y CONFIG_ARCH_TEGRA_132_SOC=y -# CONFIG_ARCH_TEGRA_186_SOC is not set +CONFIG_ARCH_TEGRA_186_SOC=y CONFIG_ARCH_TEGRA_210_SOC=y CONFIG_ARCH_TEGRA=y CONFIG_ARCH_THUNDER2=y CONFIG_ARCH_THUNDER=y # CONFIG_ARCH_UNIPHIER is not set CONFIG_ARCH_VEXPRESS=y -# CONFIG_ARCH_VULCAN is not set CONFIG_ARCH_XGENE=y # CONFIG_ARCH_ZX is not set # CONFIG_ARCH_ZYNQMP is not set @@ -258,6 +259,7 @@ CONFIG_ARM64_ERRATUM_858921=y CONFIG_ARM64_HW_AFDBM=y CONFIG_ARM64_LSE_ATOMICS=y CONFIG_ARM64_PAN=y +# CONFIG_ARM64_PMEM is not set CONFIG_ARM64_PTDUMP_DEBUGFS=y # CONFIG_ARM64_PTDUMP is not set # CONFIG_ARM64_RANDOMIZE_TEXT_OFFSET is not set @@ -304,6 +306,7 @@ CONFIG_ARM_SMMU_V3=y CONFIG_ARM_SMMU=y CONFIG_ARM_SP805_WATCHDOG=m CONFIG_ARM_TEGRA124_CPUFREQ=m +CONFIG_ARM_TEGRA186_CPUFREQ=m # CONFIG_ARM_TEGRA20_CPUFREQ is not set CONFIG_ARM_TEGRA_DEVFREQ=m CONFIG_ARM_TIMER_SP804=y @@ -330,6 +333,7 @@ CONFIG_ATH10K=m CONFIG_ATH10K_PCI=m CONFIG_ATH10K_SDIO=m # CONFIG_ATH10K_TRACING is not set +CONFIG_ATH10K_USB=m CONFIG_ATH5K_DEBUG=y CONFIG_ATH5K=m # CONFIG_ATH5K_TRACER is not set @@ -470,6 +474,7 @@ CONFIG_BATTERY_AXP20X=m # CONFIG_BATTERY_LEGO_EV3 is not set # CONFIG_BATTERY_MAX17040 is not set # CONFIG_BATTERY_MAX17042 is not set +# CONFIG_BATTERY_MAX1721X is not set # CONFIG_BATTERY_SBS is not set CONFIG_BAYCOM_EPP=m CONFIG_BAYCOM_PAR=m @@ -519,7 +524,6 @@ CONFIG_BINFMT_MISC=m CONFIG_BINFMT_SCRIPT=y CONFIG_BLK_CGROUP=y # CONFIG_BLK_CMDLINE_PARSER is not set -CONFIG_BLK_CPQ_CISS_DA=m CONFIG_BLK_DEBUG_FS=y # CONFIG_BLK_DEV_3W_XXXX_RAID is not set CONFIG_BLK_DEV_BSGLIB=y @@ -555,7 +559,6 @@ CONFIG_BLK_DEV_SR=y CONFIG_BLK_DEV_SX8=m # CONFIG_BLK_DEV_THROTTLING_LOW is not set CONFIG_BLK_DEV_THROTTLING=y -# CONFIG_BLK_DEV_UB is not set CONFIG_BLK_DEV_UMEM=m CONFIG_BLK_DEV=y CONFIG_BLK_DEV_ZONED=y @@ -578,6 +581,7 @@ CONFIG_BNX2=m CONFIG_BNX2X=m CONFIG_BNX2X_SRIOV=y CONFIG_BNXT_DCB=y +CONFIG_BNXT_FLOWER_OFFLOAD=y CONFIG_BNXT=m CONFIG_BNXT_SRIOV=y CONFIG_BONDING=m @@ -589,6 +593,7 @@ CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 CONFIG_BOOT_PRINTK_DELAY=y CONFIG_BOUNCE=y CONFIG_BPF_JIT=y +CONFIG_BPF_STREAM_PARSER=y CONFIG_BPF_SYSCALL=y CONFIG_BPQETHER=m # CONFIG_BRCMDBG is not set @@ -679,7 +684,6 @@ CONFIG_BT_RFCOMM_TTY=y CONFIG_BTRFS_FS=m CONFIG_BTRFS_FS_POSIX_ACL=y # CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set -CONFIG_BT_SCO=y # CONFIG_BT_SELFTEST is not set CONFIG_BTT=y CONFIG_BT_WILINK=m @@ -760,11 +764,13 @@ CONFIG_CB710_CORE=m # CONFIG_CB710_DEBUG is not set # CONFIG_CC10001_ADC is not set # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set +# CONFIG_CCS811 is not set # CONFIG_CC_STACKPROTECTOR is not set CONFIG_CC_STACKPROTECTOR_NONE=y CONFIG_CDROM_PKTCDVD_BUFFERS=8 CONFIG_CDROM_PKTCDVD=m # CONFIG_CDROM_PKTCDVD_WCACHE is not set +CONFIG_CEC_PIN=y CONFIG_CEC_PLATFORM_DRIVERS=y CONFIG_CEPH_FSCACHE=y CONFIG_CEPH_FS=m @@ -809,7 +815,7 @@ CONFIG_CHARGER_AXP20X=m # CONFIG_CHARGER_MANAGER is not set # CONFIG_CHARGER_MAX8903 is not set # CONFIG_CHARGER_PCF50633 is not set -# CONFIG_CHARGER_QCOM_SMBB is not set +CONFIG_CHARGER_QCOM_SMBB=m # CONFIG_CHARGER_RT9455 is not set # CONFIG_CHARGER_SBS is not set CONFIG_CHARGER_SMB347=m @@ -843,9 +849,9 @@ CONFIG_CIFS_STATS=y CONFIG_CIFS_UPCALL=y CONFIG_CIFS_WEAK_PW_HASH=y CONFIG_CIFS_XATTR=y -CONFIG_CISS_SCSI_TAPE=y CONFIG_CLEANCACHE=y CONFIG_CLKDEV_LOOKUP=y +# CONFIG_CLK_HSDK is not set # CONFIG_CLK_QORIQ is not set CONFIG_CLK_SP810=y CONFIG_CLKSRC_VERSATILE=y @@ -953,8 +959,8 @@ CONFIG_CRYPTO_AES_ARM64_BS=m CONFIG_CRYPTO_AES_ARM64_CE_BLK=y CONFIG_CRYPTO_AES_ARM64_CE_CCM=y CONFIG_CRYPTO_AES_ARM64_CE=y -CONFIG_CRYPTO_AES_ARM64=m CONFIG_CRYPTO_AES_ARM64_NEON_BLK=y +CONFIG_CRYPTO_AES_ARM64=y CONFIG_CRYPTO_AES_ARM_BS=y CONFIG_CRYPTO_AES_ARM=y CONFIG_CRYPTO_AES_TI=m @@ -1001,6 +1007,8 @@ CONFIG_CRYPTO_DEV_NITROX_CNN55XX=m CONFIG_CRYPTO_DEV_QCE=m CONFIG_CRYPTO_DEV_ROCKCHIP=m CONFIG_CRYPTO_DEV_SAFEXCEL=m +# CONFIG_CRYPTO_DEV_SP_CCP is not set +CONFIG_CRYPTO_DEV_SUN4I_SS_PRNG=y CONFIG_CRYPTO_DEV_VIRTIO=m CONFIG_CRYPTO_DH=y CONFIG_CRYPTO_DRBG_CTR=y @@ -1048,7 +1056,7 @@ CONFIG_CRYPTO_SHA1_ARM64_CE=y CONFIG_CRYPTO_SHA1_ARM_NEON=y CONFIG_CRYPTO_SHA1_ARM=y CONFIG_CRYPTO_SHA1=y -CONFIG_CRYPTO_SHA256_ARM64=m +CONFIG_CRYPTO_SHA256_ARM64=y CONFIG_CRYPTO_SHA256_ARM=y CONFIG_CRYPTO_SHA256=y CONFIG_CRYPTO_SHA2_ARM64_CE=y @@ -1247,6 +1255,7 @@ CONFIG_DRM_CIRRUS_QEMU=m CONFIG_DRM_DP_AUX_CHARDEV=y CONFIG_DRM_DUMB_VGA_DAC=m CONFIG_DRM_DW_HDMI_AHB_AUDIO=m +CONFIG_DRM_DW_HDMI_CEC=m CONFIG_DRM_DW_HDMI_I2S_AUDIO=m CONFIG_DRM_DW_HDMI=m CONFIG_DRM_FBDEV_EMULATION=y @@ -1310,7 +1319,6 @@ CONFIG_DRM_ROCKCHIP=m CONFIG_DRM_SIL_SII8620=m # CONFIG_DRM_SIS is not set # CONFIG_DRM_STM is not set -CONFIG_DRM_SUN4I_BACKEND=m CONFIG_DRM_SUN8I_MIXER=m # CONFIG_DRM_TDFX is not set # CONFIG_DRM_TEGRA_DEBUG is not set @@ -1321,6 +1329,7 @@ CONFIG_DRM_TI_TFP410=m CONFIG_DRM_TOSHIBA_TC358767=m CONFIG_DRM_UDL=m # CONFIG_DRM_VBOXVIDEO is not set +CONFIG_DRM_VC4_HDMI_CEC=y CONFIG_DRM_VC4=m CONFIG_DRM_VGEM=m CONFIG_DRM_VIA=m @@ -1352,6 +1361,7 @@ CONFIG_DVB_BUDGET_PATCH=m CONFIG_DVB_CORE=m # CONFIG_DVB_CXD2099 is not set CONFIG_DVB_DDBRIDGE=m +# CONFIG_DVB_DDBRIDGE_MSIENABLE is not set # CONFIG_DVB_DEMUX_SECTION_LOSS_LOG is not set CONFIG_DVB_DM1105=m CONFIG_DVB_DYNAMIC_MINORS=y @@ -1431,7 +1441,7 @@ CONFIG_E1000E=m CONFIG_E1000=m CONFIG_E100=m CONFIG_EARLY_PRINTK_DBGP=y -# CONFIG_EARLY_PRINTK_USB_XDBC is not set +CONFIG_EARLY_PRINTK_USB_XDBC=y CONFIG_EARLY_PRINTK=y # CONFIG_EBC_C384_WDT is not set CONFIG_ECHO=m @@ -1485,7 +1495,6 @@ CONFIG_ETHOC=m # CONFIG_EVM is not set # CONFIG_EXOFS_DEBUG is not set # CONFIG_EXOFS_FS is not set -CONFIG_EXPERIMENTAL=y # CONFIG_EXPERT is not set CONFIG_EXPORTFS=y # CONFIG_EXT2_FS is not set @@ -1503,6 +1512,7 @@ CONFIG_EXTCON_GPIO=m CONFIG_EXTCON_QCOM_SPMI_MISC=m # CONFIG_EXTCON_RT8973A is not set # CONFIG_EXTCON_SM5502 is not set +CONFIG_EXTCON_USBC_CROS_EC=m CONFIG_EXTCON_USB_GPIO=m CONFIG_EXTCON=y CONFIG_EXTRA_FIRMWARE="" @@ -1708,6 +1718,7 @@ CONFIG_GIRBIL_DONGLE=m # CONFIG_GPIO_ALTERA is not set # CONFIG_GPIO_AMDPT is not set CONFIG_GPIO_AXP209=m +CONFIG_GPIO_BD9571MWV=m # CONFIG_GPIO_BT8XX is not set CONFIG_GPIO_DEVRES=y CONFIG_GPIO_DWAPB=m @@ -1716,7 +1727,7 @@ CONFIG_GPIO_EXAR=m CONFIG_GPIO_GENERIC_PLATFORM=y CONFIG_GPIO_GENERIC=y # CONFIG_GPIO_GRGPIO is not set -CONFIG_GPIO_IT87=m +# CONFIG_GPIO_IT87 is not set CONFIG_GPIOLIB=y # CONFIG_GPIO_MAX7300 is not set # CONFIG_GPIO_MAX7301 is not set @@ -1740,7 +1751,9 @@ CONFIG_GPIO_PL061=y # CONFIG_GPIO_SYSCON is not set # CONFIG_GPIO_SYSFS is not set CONFIG_GPIO_TEGRA=y +CONFIG_GPIO_THUNDERX=m # CONFIG_GPIO_TPIC2810 is not set +CONFIG_GPIO_TPS68470=y # CONFIG_GPIO_TS4900 is not set # CONFIG_GPIO_TS5500 is not set CONFIG_GPIO_VIPERBOARD=m @@ -1790,7 +1803,7 @@ CONFIG_HID_CHERRY=m CONFIG_HID_CHICONY=m CONFIG_HID_CMEDIA=m CONFIG_HID_CORSAIR=m -# CONFIG_HID_CP2112 is not set +CONFIG_HID_CP2112=m CONFIG_HID_CYPRESS=m CONFIG_HID_DRAGONRISE=m CONFIG_HID_ELECOM=m @@ -1951,6 +1964,7 @@ CONFIG_HWPOISON_INJECT=m CONFIG_HW_RANDOM_BCM2835=m CONFIG_HW_RANDOM_CAVIUM=m CONFIG_HW_RANDOM_HISI=m +CONFIG_HW_RANDOM_IMX_RNGC=m CONFIG_HW_RANDOM_MESON=m CONFIG_HW_RANDOM_MSM=m CONFIG_HW_RANDOM_OMAP=m @@ -1989,10 +2003,10 @@ CONFIG_I2C_CROS_EC_TUNNEL=m # CONFIG_I2C_DEBUG_BUS is not set # CONFIG_I2C_DEBUG_CORE is not set # CONFIG_I2C_DEMUX_PINCTRL is not set -CONFIG_I2C_DESIGNWARE_CORE=m +CONFIG_I2C_DESIGNWARE_CORE=y # CONFIG_I2C_DESIGNWARE is not set CONFIG_I2C_DESIGNWARE_PCI=m -CONFIG_I2C_DESIGNWARE_PLATFORM=m +CONFIG_I2C_DESIGNWARE_PLATFORM=y CONFIG_I2C_DESIGNWARE_SLAVE=y CONFIG_I2C_DIOLAN_U2C=m # CONFIG_I2C_EG20T is not set @@ -2019,8 +2033,7 @@ CONFIG_I2C_NFORCE2=m # CONFIG_I2C_NFORCE2_S4985 is not set # CONFIG_I2C_NOMADIK is not set # CONFIG_I2C_OCORES is not set -CONFIG_I2C_PARPORT_LIGHT=m -CONFIG_I2C_PARPORT=m +# CONFIG_I2C_PARPORT_LIGHT is not set CONFIG_I2C_PCA_PLATFORM=m # CONFIG_I2C_PIIX4 is not set CONFIG_I2C_PXA=m @@ -2147,6 +2160,7 @@ CONFIG_INET=y # CONFIG_INFINIBAND_CXGB3_DEBUG is not set CONFIG_INFINIBAND_CXGB3=m CONFIG_INFINIBAND_CXGB4=m +# CONFIG_INFINIBAND_EXP_USER_ACCESS is not set CONFIG_INFINIBAND_I40IW=m CONFIG_INFINIBAND_IPOIB_CM=y CONFIG_INFINIBAND_IPOIB_DEBUG_DATA=y @@ -2173,7 +2187,6 @@ CONFIG_INFINIBAND_USNIC=m # CONFIG_INFTL is not set CONFIG_INITRAMFS_SOURCE="" CONFIG_INOTIFY_USER=y -CONFIG_INOTIFY=y # CONFIG_INPUT_AD714X is not set # CONFIG_INPUT_ADXL34X is not set CONFIG_INPUT_APANEL=m @@ -2225,8 +2238,10 @@ CONFIG_INPUT_PMIC8XXX_PWRKEY=m CONFIG_INPUT_POLLDEV=m CONFIG_INPUT_POWERMATE=m CONFIG_INPUT_PWM_BEEPER=m +# CONFIG_INPUT_PWM_VIBRA is not set # CONFIG_INPUT_REGULATOR_HAPTIC is not set CONFIG_INPUT_RETU_PWRBUTTON=m +CONFIG_INPUT_RK805_PWRKEY=m CONFIG_INPUT_SOC_BUTTON_ARRAY=m CONFIG_INPUT_SPARSEKMAP=m CONFIG_INPUT_TABLET=y @@ -2245,6 +2260,7 @@ CONFIG_INTEL_XWAY_PHY=m # CONFIG_INV_MPU6050_I2C is not set # CONFIG_INV_MPU6050_IIO is not set # CONFIG_INV_MPU6050_SPI is not set +CONFIG_IOMMU_DMA=y # CONFIG_IOMMU_IO_PGTABLE_ARMV7S is not set # CONFIG_IOMMU_IO_PGTABLE_LPAE_SELFTEST is not set CONFIG_IOMMU_IO_PGTABLE_LPAE=y @@ -2408,6 +2424,7 @@ CONFIG_IRDA=m CONFIG_IR_ENE=m CONFIG_IR_FINTEK=m CONFIG_IR_GPIO_CIR=m +CONFIG_IR_GPIO_TX=m CONFIG_IR_HIX5HD2=m CONFIG_IR_IGORPLUGUSB=m CONFIG_IR_IGUANA=m @@ -2423,6 +2440,7 @@ CONFIG_IR_MESON=m CONFIG_IR_NEC_DECODER=m CONFIG_IRNET=m CONFIG_IR_NUVOTON=m +CONFIG_IR_PWM_TX=m # CONFIG_IRQ_DOMAIN_DEBUG is not set # CONFIG_IRQSOFF_TRACER is not set CONFIG_IRQ_TIME_ACCOUNTING=y @@ -2653,6 +2671,7 @@ CONFIG_LCD_PLATFORM=m # CONFIG_LDM_DEBUG is not set CONFIG_LDM_PARTITION=y # CONFIG_LEDS_AAT1290 is not set +CONFIG_LEDS_AS3645A=m # CONFIG_LEDS_BCM6328 is not set # CONFIG_LEDS_BCM6358 is not set # CONFIG_LEDS_BD2802 is not set @@ -2752,6 +2771,7 @@ CONFIG_LMP91000=m CONFIG_LOCALVERSION="" # CONFIG_LOCALVERSION_AUTO is not set CONFIG_LOCKD=m +# CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT is not set # CONFIG_LOCK_DOWN_KERNEL is not set CONFIG_LOCKD_V4=y # CONFIG_LOCK_STAT is not set @@ -2777,6 +2797,7 @@ CONFIG_LPFC_NVME_INITIATOR=y CONFIG_LPFC_NVME_TARGET=y CONFIG_LSI_ET1011C_PHY=m CONFIG_LSM_MMAP_MIN_ADDR=65536 +# CONFIG_LTC2471 is not set # CONFIG_LTC2485 is not set # CONFIG_LTC2497 is not set # CONFIG_LTC2632 is not set @@ -2856,6 +2877,7 @@ CONFIG_MDIO_BUS_MUX=m CONFIG_MDIO_BUS_MUX_MMIOREG=m CONFIG_MDIO_GPIO=m CONFIG_MDIO_HISI_FEMAC=m +CONFIG_MDIO_I2C=m # CONFIG_MDIO_OCTEON is not set # CONFIG_MDIO_SUN4I is not set CONFIG_MDIO_THUNDER=m @@ -2910,6 +2932,7 @@ CONFIG_MEMSTICK_TIFM_MS=m CONFIG_MESON_EFUSE=m CONFIG_MESON_GXBB_WATCHDOG=m CONFIG_MESON_GXL_PHY=m +CONFIG_MESON_GX_SOCINFO=y CONFIG_MESON_SARADC=m CONFIG_MESON_SM=y # CONFIG_MESON_WATCHDOG is not set @@ -2932,6 +2955,7 @@ CONFIG_MFD_AXP20X_I2C=y CONFIG_MFD_AXP20X_RSB=m CONFIG_MFD_AXP20X=y # CONFIG_MFD_BCM590XX is not set +CONFIG_MFD_BD9571MWV=m CONFIG_MFD_CORE=y # CONFIG_MFD_CPCAP is not set CONFIG_MFD_CROS_EC_I2C=m @@ -3005,6 +3029,7 @@ CONFIG_MFD_SYSCON=y # CONFIG_MFD_TPS65912_I2C is not set # CONFIG_MFD_TPS65912 is not set # CONFIG_MFD_TPS65912_SPI is not set +CONFIG_MFD_TPS68470=y # CONFIG_MFD_TPS80031 is not set CONFIG_MFD_VEXPRESS_SYSREG=y CONFIG_MFD_VIPERBOARD=m @@ -3049,8 +3074,10 @@ CONFIG_MLX5_CORE_EN=y CONFIG_MLX5_CORE_IPOIB=y CONFIG_MLX5_CORE=m # CONFIG_MLX5_EN_IPSEC is not set +CONFIG_MLX5_ESWITCH=y # CONFIG_MLX5_FPGA is not set CONFIG_MLX5_INFINIBAND=m +CONFIG_MLX5_MPFS=y # CONFIG_MLX90614 is not set CONFIG_MLX_CPLD_PLATFORM=m CONFIG_MLXFW=m @@ -3073,7 +3100,6 @@ CONFIG_MMA7660=m # CONFIG_MMC35240 is not set CONFIG_MMC_ARMMMCI=m CONFIG_MMC_BCM2835=m -CONFIG_MMC_BLOCK_BOUNCE=y CONFIG_MMC_BLOCK=m CONFIG_MMC_BLOCK_MINORS=8 CONFIG_MMC_CAVIUM_THUNDERX=m @@ -3088,7 +3114,7 @@ CONFIG_MMC_DW_ROCKCHIP=m CONFIG_MMC_MESON_GX=m # CONFIG_MMC_MTK is not set CONFIG_MMC_MVSDIO=m -CONFIG_MMC_QCOM_DML=m +CONFIG_MMC_QCOM_DML=y CONFIG_MMC_REALTEK_PCI=m CONFIG_MMC_REALTEK_USB=m CONFIG_MMC_RICOH_MMC=y @@ -3219,6 +3245,7 @@ CONFIG_MTD_MAP_BANK_WIDTH_4=y # CONFIG_MTD_NAND is not set # CONFIG_MTD_NAND_OMAP2 is not set # CONFIG_MTD_NAND_OXNAS is not set +CONFIG_MTD_NAND_PXA3xx=m CONFIG_MTD_OF_PARTS=m # CONFIG_MTD_ONENAND is not set # CONFIG_MTD_OOPS is not set @@ -3458,6 +3485,7 @@ CONFIG_NETLABEL=y CONFIG_NETLINK_DIAG=m CONFIG_NET_MPLS_GSO=m CONFIG_NET_NCSI=y +CONFIG_NET_NSH=m CONFIG_NET_NS=y CONFIG_NET_PACKET_ENGINE=y CONFIG_NET_PKTGEN=m @@ -3528,6 +3556,7 @@ CONFIG_NET_VENDOR_EMULEX=y # CONFIG_NET_VENDOR_FUJITSU is not set # CONFIG_NET_VENDOR_HISILICON is not set # CONFIG_NET_VENDOR_HP is not set +# CONFIG_NET_VENDOR_HUAWEI is not set # CONFIG_NET_VENDOR_I825XX is not set CONFIG_NET_VENDOR_INTEL=y CONFIG_NET_VENDOR_MARVELL=y @@ -3550,6 +3579,7 @@ CONFIG_NET_VENDOR_ROCKER=y CONFIG_NET_VENDOR_SILAN=y CONFIG_NET_VENDOR_SIS=y CONFIG_NET_VENDOR_SMSC=y +CONFIG_NET_VENDOR_SNI=y # CONFIG_NET_VENDOR_SOLARFLARE is not set CONFIG_NET_VENDOR_STMICRO=y # CONFIG_NET_VENDOR_SUN is not set @@ -3688,6 +3718,7 @@ CONFIG_NFT_EXTHDR=m CONFIG_NFT_FIB_INET=m CONFIG_NFT_FIB_IPV4=m CONFIG_NFT_FIB_IPV6=m +CONFIG_NFT_FIB_NETDEV=m CONFIG_NFT_FWD_NETDEV=m CONFIG_NFT_HASH=m CONFIG_NFT_LIMIT=m @@ -3860,14 +3891,8 @@ CONFIG_PARAVIRT_TIME_ACCOUNTING=y CONFIG_PARAVIRT=y # CONFIG_PARIDE is not set CONFIG_PARMAN=m -CONFIG_PARPORT_1284=y -# CONFIG_PARPORT_AX88796 is not set # CONFIG_PARPORT is not set -# CONFIG_PARPORT_PC_FIFO is not set # CONFIG_PARPORT_PC is not set -CONFIG_PARPORT_PC_PCMCIA=m -# CONFIG_PARPORT_PC_SUPERIO is not set -CONFIG_PARPORT_SERIAL=m CONFIG_PARTITION_ADVANCED=y CONFIG_PATA_ACPI=m CONFIG_PATA_ALI=m @@ -3899,7 +3924,6 @@ CONFIG_PATA_NETCELL=m CONFIG_PATA_NINJA32=m CONFIG_PATA_NS87410=m CONFIG_PATA_NS87415=m -CONFIG_PATA_OF_PLATFORM=m CONFIG_PATA_OLDPIIX=m CONFIG_PATA_OPTIDMA=m CONFIG_PATA_OPTI=m @@ -3934,6 +3958,7 @@ CONFIG_PCIE_ARMADA_8K=y # CONFIG_PCIEASPM_DEBUG is not set CONFIG_PCIEASPM=y CONFIG_PCIE_DPC=y +CONFIG_PCIE_DW_HOST_ECAM=y CONFIG_PCIE_DW_HOST=y # CONFIG_PCIE_DW_PLAT is not set CONFIG_PCIE_DW=y @@ -3996,8 +4021,10 @@ CONFIG_PERSISTENT_KEYRINGS=y # CONFIG_PHY_CPCAP_USB is not set CONFIG_PHY_HI6220_USB=m CONFIG_PHYLIB=y +CONFIG_PHYLINK=m CONFIG_PHY_MESON8B_USB2=m # CONFIG_PHY_MESON_GXL_USB2 is not set +CONFIG_PHY_MVEBU_CP110_COMPHY=m CONFIG_PHY_MVEBU_SATA=y # CONFIG_PHY_PXA_28NM_HSIC is not set # CONFIG_PHY_PXA_28NM_USB2 is not set @@ -4022,6 +4049,7 @@ CONFIG_PHY_SUN4I_USB=m CONFIG_PHY_TEGRA_XUSB=m # CONFIG_PHY_TUSB1210 is not set CONFIG_PHY_XGENE=y +# CONFIG_PI433 is not set # CONFIG_PID_IN_CONTEXTIDR is not set CONFIG_PID_NS=y CONFIG_PINCONF=y @@ -4050,7 +4078,10 @@ CONFIG_PINCTRL_MVEBU=y CONFIG_PINCTRL_QCOM_SPMI_PMIC=y # CONFIG_PINCTRL_QCOM_SSBI_PMIC is not set CONFIG_PINCTRL_QDF2XXX=y +CONFIG_PINCTRL_RK805=m CONFIG_PINCTRL_SINGLE=y +# CONFIG_PINCTRL_SPRD is not set +# CONFIG_PINCTRL_SPRD_SC9860 is not set # CONFIG_PINCTRL_SUNRISEPOINT is not set # CONFIG_PINCTRL_SX150X is not set CONFIG_PINCTRL=y @@ -4118,7 +4149,6 @@ CONFIG_PPP_SYNC_TTY=m CONFIG_PPS_CLIENT_GPIO=m # CONFIG_PPS_CLIENT_KTIMER is not set CONFIG_PPS_CLIENT_LDISC=m -CONFIG_PPS_CLIENT_PARPORT=m # CONFIG_PPS_DEBUG is not set CONFIG_PPS_GENERATOR_PARPORT=m CONFIG_PPS=m @@ -4177,6 +4207,7 @@ CONFIG_QCOM_COINCELL=m CONFIG_QCOM_EMAC=m # CONFIG_QCOM_FALKOR_ERRATUM_1003 is not set CONFIG_QCOM_FALKOR_ERRATUM_1009=y +# CONFIG_QCOM_GLINK_SSR is not set CONFIG_QCOM_GSBI=y CONFIG_QCOM_HIDMA=m CONFIG_QCOM_HIDMA_MGMT=m @@ -4228,6 +4259,7 @@ CONFIG_R8169=m # CONFIG_R8188EU is not set CONFIG_R8712U=m CONFIG_R8723AU=m # Jes Sorensen maintains this (rhbz 1100162) +CONFIG_R8822BE=m CONFIG_RADIO_ADAPTERS=y CONFIG_RADIO_AZTECH=m CONFIG_RADIO_CADET=m @@ -4249,11 +4281,11 @@ CONFIG_RADIO_TERRATEC=m CONFIG_RADIO_TRUST=m CONFIG_RADIO_TYPHOON=m CONFIG_RADIO_WL1273=m -CONFIG_RADIO_WL128X=m CONFIG_RADIO_ZOLTRIX=m CONFIG_RAID_ATTRS=m # CONFIG_RANDOM32_SELFTEST is not set -# CONFIG_RANDOMIZE_BASE is not set +CONFIG_RANDOMIZE_BASE=y +CONFIG_RANDOMIZE_MODULE_REGION_FULL=y CONFIG_RAS_CEC=y CONFIG_RASPBERRYPI_FIRMWARE=y CONFIG_RASPBERRYPI_POWER=y @@ -4303,6 +4335,7 @@ CONFIG_REGULATOR_ACT8865=m # CONFIG_REGULATOR_AD5398 is not set # CONFIG_REGULATOR_ANATOP is not set CONFIG_REGULATOR_AXP20X=m +CONFIG_REGULATOR_BD9571MWV=m # CONFIG_REGULATOR_DA9210 is not set # CONFIG_REGULATOR_DA9211 is not set # CONFIG_REGULATOR_DEBUG is not set @@ -4354,12 +4387,14 @@ CONFIG_REISERFS_FS_SECURITY=y CONFIG_REISERFS_FS_XATTR=y CONFIG_REISERFS_PROC_INFO=y CONFIG_RELAY=y -# CONFIG_RELOCATABLE is not set # CONFIG_RELOCATABLE_TEST is not set +CONFIG_RELOCATABLE=y CONFIG_REMOTEPROC=m +CONFIG_RESET_ATTACK_MITIGATION=y CONFIG_RESET_CONTROLLER=y CONFIG_RESET_GPIO=y CONFIG_RESET_HISI=y +# CONFIG_RESET_HSDK_V1 is not set # CONFIG_RESET_TI_SCI is not set # CONFIG_RESET_TI_SYSCON is not set # CONFIG_RFD_FTL is not set @@ -4380,6 +4415,7 @@ CONFIG_RMI4_F55=y CONFIG_RMI4_I2C=m CONFIG_RMI4_SMB=m CONFIG_RMI4_SPI=m +# CONFIG_RMNET is not set CONFIG_ROCKCHIP_ANALOGIX_DP=y CONFIG_ROCKCHIP_CDN_DP=y CONFIG_ROCKCHIP_DW_HDMI=y @@ -4389,6 +4425,7 @@ CONFIG_ROCKCHIP_INNO_HDMI=y CONFIG_ROCKCHIP_IODOMAIN=m CONFIG_ROCKCHIP_IOMMU=y CONFIG_ROCKCHIP_MBOX=y +CONFIG_ROCKCHIP_PHY=m CONFIG_ROCKCHIP_PM_DOMAINS=y CONFIG_ROCKCHIP_SARADC=m CONFIG_ROCKCHIP_THERMAL=m @@ -4400,6 +4437,7 @@ CONFIG_RPCSEC_GSS_KRB5=m # CONFIG_RPMSG_CHAR is not set CONFIG_RPMSG=m CONFIG_RPMSG_QCOM_GLINK_RPM=m +# CONFIG_RPMSG_QCOM_GLINK_SMEM is not set CONFIG_RPMSG_QCOM_SMD=m CONFIG_RPR0521=m CONFIG_RSI_91X=m @@ -4776,6 +4814,7 @@ CONFIG_SENSORS_HDAPS=m # CONFIG_SENSORS_HMC5843_SPI is not set # CONFIG_SENSORS_I5K_AMB is not set CONFIG_SENSORS_IBMAEM=m +# CONFIG_SENSORS_IBM_CFFPS is not set CONFIG_SENSORS_IBMPEX=m CONFIG_SENSORS_IIO_HWMON=m CONFIG_SENSORS_INA209=m @@ -4866,6 +4905,7 @@ CONFIG_SENSORS_TMP108=m CONFIG_SENSORS_TMP401=m CONFIG_SENSORS_TMP421=m CONFIG_SENSORS_TPS40422=m +CONFIG_SENSORS_TPS53679=m CONFIG_SENSORS_TSL2550=m # CONFIG_SENSORS_TSL2563 is not set CONFIG_SENSORS_UCD9000=m @@ -4950,6 +4990,7 @@ CONFIG_SERIO_AMBAKMI=m # CONFIG_SERIO_APBPS2 is not set CONFIG_SERIO_ARC_PS2=m # CONFIG_SERIO_CT82C710 is not set +# CONFIG_SERIO_GPIO_PS2 is not set CONFIG_SERIO_I8042=y CONFIG_SERIO_LIBPS2=y # CONFIG_SERIO_OLPC_APSP is not set @@ -4963,6 +5004,7 @@ CONFIG_SERIO=y CONFIG_SFC_FALCON=m CONFIG_SFC_FALCON_MTD=y # CONFIG_SFC is not set +CONFIG_SFP=m # CONFIG_SGI_IOC4 is not set CONFIG_SGI_PARTITION=y CONFIG_SH_ETH=m @@ -4981,6 +5023,7 @@ CONFIG_SKGE_GENESIS=y CONFIG_SKGE=m # CONFIG_SKY2_DEBUG is not set CONFIG_SKY2=m +CONFIG_SLAB_FREELIST_HARDENED=y CONFIG_SLAB_FREELIST_RANDOM=y CONFIG_SLAB_MERGE_DEFAULT=y # CONFIG_SLICOSS is not set @@ -5090,7 +5133,7 @@ CONFIG_SND_HDA_INPUT_BEEP_MODE=0 CONFIG_SND_HDA_INPUT_BEEP=y CONFIG_SND_HDA_INTEL=m CONFIG_SND_HDA_PATCH_LOADER=y -CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0 +CONFIG_SND_HDA_POWER_SAVE_DEFAULT=1 CONFIG_SND_HDA_POWER_SAVE=y CONFIG_SND_HDA_PREALLOC_SIZE=4096 CONFIG_SND_HDA_RECONFIG=y @@ -5182,6 +5225,7 @@ CONFIG_SND_SOC_CS42L42=m # CONFIG_SND_SOC_CS42L56 is not set # CONFIG_SND_SOC_CS42L73 is not set # CONFIG_SND_SOC_CS42XX8_I2C is not set +CONFIG_SND_SOC_CS43130=m # CONFIG_SND_SOC_CS4349 is not set # CONFIG_SND_SOC_CS53L30 is not set CONFIG_SND_SOC_DIO2125=m @@ -5248,6 +5292,12 @@ CONFIG_SND_SOC_SPDIF=m # CONFIG_SND_SOC_TAS5086 is not set # CONFIG_SND_SOC_TAS571X is not set # CONFIG_SND_SOC_TAS5720 is not set +CONFIG_SND_SOC_TEGRA20_AC97=m +CONFIG_SND_SOC_TEGRA20_DAS=m +CONFIG_SND_SOC_TEGRA20_I2S=m +CONFIG_SND_SOC_TEGRA20_SPDIF=m +CONFIG_SND_SOC_TEGRA30_AHUB=m +CONFIG_SND_SOC_TEGRA30_I2S=m # CONFIG_SND_SOC_TEGRA_ALC5632 is not set CONFIG_SND_SOC_TEGRA=m CONFIG_SND_SOC_TEGRA_MAX98090=m @@ -5267,6 +5317,7 @@ CONFIG_SND_SOC_TPA6130A2=m CONFIG_SND_SOC_TS3A227E=m # CONFIG_SND_SOC_WM8510 is not set # CONFIG_SND_SOC_WM8523 is not set +CONFIG_SND_SOC_WM8524=m # CONFIG_SND_SOC_WM8580 is not set # CONFIG_SND_SOC_WM8711 is not set # CONFIG_SND_SOC_WM8728 is not set @@ -5318,8 +5369,10 @@ CONFIG_SND_VIRMIDI=m CONFIG_SND_VIRTUOSO=m CONFIG_SND_VX222=m CONFIG_SND_YMFPCI=m +CONFIG_SNI_NETSEC=m # CONFIG_SOC_BRCMSTB is not set # CONFIG_SOC_CAMERA is not set +CONFIG_SOCIONEXT_SYNQUACER_PREITS=y CONFIG_SOC_TEGRA_FLOWCTRL=y # CONFIG_SOC_TI is not set # CONFIG_SOC_ZTE is not set @@ -5390,6 +5443,7 @@ CONFIG_SQUASHFS=m CONFIG_SQUASHFS_XATTR=y CONFIG_SQUASHFS_XZ=y CONFIG_SQUASHFS_ZLIB=y +CONFIG_SQUASHFS_ZSTD=y CONFIG_SRAM=y # CONFIG_SRF04 is not set # CONFIG_SRF08 is not set @@ -5423,6 +5477,7 @@ CONFIG_STMMAC_ETH=m CONFIG_STMMAC_PLATFORM=m # CONFIG_STM_SOURCE_CONSOLE is not set CONFIG_STRICT_DEVMEM=y +# CONFIG_STRING_SELFTEST is not set CONFIG_STRIP_ASM_SYMS=y # CONFIG_STRIP is not set CONFIG_STUB_CLK_HI6220=y @@ -5444,6 +5499,7 @@ CONFIG_SUNRPC=m CONFIG_SUNRPC_XPRT_RDMA=m CONFIG_SUNXI_CCU=y CONFIG_SUNXI_RSB=m +CONFIG_SUNXI_SRAM=y CONFIG_SUNXI_WATCHDOG=m CONFIG_SURFACE_3_BUTTON=m CONFIG_SURFACE3_WMI=m @@ -5609,13 +5665,14 @@ CONFIG_TIGON3=m # CONFIG_TIMER_STATS is not set CONFIG_TINYDRM_MI0283QT=m CONFIG_TINYDRM_MIPI_DBI=m +# CONFIG_TINYDRM_REPAPER is not set +# CONFIG_TINYDRM_ST7586 is not set CONFIG_TIPC=m # CONFIG_TIPC_MEDIA_IB is not set CONFIG_TIPC_MEDIA_UDP=y # CONFIG_TI_SCI_CLK is not set CONFIG_TI_SCI_PROTOCOL=m -CONFIG_TI_ST=m -# CONFIG_TI_SYSCON_RESET is not set +# CONFIG_TI_ST is not set # CONFIG_TI_TLC4541 is not set # CONFIG_TLAN is not set CONFIG_TLS=m @@ -5940,7 +5997,6 @@ CONFIG_USB_KEENE=m CONFIG_USB_LAN78XX=m CONFIG_USB_LCD=m CONFIG_USB_LD=m -CONFIG_USB_LED=m CONFIG_USB_LEDS_TRIGGER_USBPORT=m CONFIG_USB_LED_TRIG=y CONFIG_USB_LEGOTOWER=m @@ -6056,7 +6112,6 @@ CONFIG_USB_SERIAL_KLSI=m CONFIG_USB_SERIAL_KOBIL_SCT=m CONFIG_USB_SERIAL_MCT_U232=m # CONFIG_USB_SERIAL_METRO is not set -CONFIG_USB_SERIAL_MOS7715_PARPORT=y CONFIG_USB_SERIAL_MOS7720=m CONFIG_USB_SERIAL_MOS7840=m # CONFIG_USB_SERIAL_MXUPORT is not set @@ -6234,6 +6289,7 @@ CONFIG_VIDEO_HEXIUM_ORION=m CONFIG_VIDEO_IVTV=m # CONFIG_VIDEO_M5MOLS is not set # CONFIG_VIDEO_MEM2MEM_DEINTERLACE is not set +CONFIG_VIDEO_MESON_AO_CEC=m CONFIG_VIDEO_MEYE=m CONFIG_VIDEO_MXB=m CONFIG_VIDEO_NOON010PC30=m @@ -6242,8 +6298,8 @@ CONFIG_VIDEO_NOON010PC30=m CONFIG_VIDEO_PVRUSB2_DVB=y CONFIG_VIDEO_PVRUSB2=m CONFIG_VIDEO_PVRUSB2_SYSFS=y +CONFIG_VIDEO_QCOM_CAMSS=m CONFIG_VIDEO_QCOM_VENUS=m -# CONFIG_VIDEO_RENESAS_VSP1 is not set CONFIG_VIDEO_SAA6588=m CONFIG_VIDEO_SAA7134_ALSA=m CONFIG_VIDEO_SAA7134_DVB=m @@ -6304,6 +6360,7 @@ CONFIG_VLAN_8021Q_GVRP=y CONFIG_VLAN_8021Q=m CONFIG_VLAN_8021Q_MVRP=y CONFIG_VLSI_FIR=m +CONFIG_VMAP_STACK=y # CONFIG_VME_BUS is not set # CONFIG_VMXNET3 is not set CONFIG_VORTEX=m @@ -6340,6 +6397,7 @@ CONFIG_W1_SLAVE_DS2438=m CONFIG_W1_SLAVE_DS2760=m CONFIG_W1_SLAVE_DS2780=m CONFIG_W1_SLAVE_DS2781=m +CONFIG_W1_SLAVE_DS2805=m CONFIG_W1_SLAVE_DS28E04=m CONFIG_W1_SLAVE_SMEM=m CONFIG_W1_SLAVE_THERM=m @@ -6359,6 +6417,7 @@ CONFIG_WATCHDOG=y CONFIG_WCN36XX=m CONFIG_WDAT_WDT=m CONFIG_WDTPCI=m +CONFIG_WIL6210_DEBUGFS=y CONFIG_WIL6210_ISR_COR=y CONFIG_WIL6210=m # CONFIG_WIL6210_TRACING is not set @@ -6453,6 +6512,7 @@ CONFIG_ZLIB_DEFLATE=y CONFIG_ZLIB_INFLATE=y # CONFIG_ZPA2326 is not set CONFIG_ZRAM=m +# CONFIG_ZRAM_WRITEBACK is not set # CONFIG_ZSMALLOC_STAT is not set CONFIG_ZSMALLOC=y CONFIG_ZSWAP=y diff --git a/freed-ora/current/f26/kernel-armv7hl-debug.config b/freed-ora/current/f26/kernel-armv7hl-debug.config index a09016b16..f544a6039 100644 --- a/freed-ora/current/f26/kernel-armv7hl-debug.config +++ b/freed-ora/current/f26/kernel-armv7hl-debug.config @@ -156,7 +156,9 @@ CONFIG_AK8975=m CONFIG_ALI_FIR=m CONFIG_ALIM1535_WDT=m CONFIG_ALIM7101_WDT=m +CONFIG_ALLOW_LOCKDOWN_LIFT_BY_SYSRQ=y # CONFIG_ALTERA_MBOX is not set +CONFIG_ALTERA_MSGDMA=m CONFIG_ALTERA_STAPL=m CONFIG_ALTERA_TSE=m CONFIG_ALX=m @@ -193,6 +195,7 @@ CONFIG_ARCH_BCM2835=y # CONFIG_ARCH_BCM_53573 is not set # CONFIG_ARCH_BCM_63XX is not set # CONFIG_ARCH_BCM_CYGNUS is not set +# CONFIG_ARCH_BCM_IPROC is not set # CONFIG_ARCH_BCM_NSP is not set CONFIG_ARCH_BCM=y # CONFIG_ARCH_BERLIN is not set @@ -361,6 +364,7 @@ CONFIG_ATH10K=m CONFIG_ATH10K_PCI=m CONFIG_ATH10K_SDIO=m # CONFIG_ATH10K_TRACING is not set +CONFIG_ATH10K_USB=m CONFIG_ATH5K_DEBUG=y CONFIG_ATH5K=m # CONFIG_ATH5K_TRACER is not set @@ -500,6 +504,7 @@ CONFIG_BATMAN_ADV_MCAST=y CONFIG_BATMAN_ADV_NC=y CONFIG_BATTERY_AXP20X=m # CONFIG_BATTERY_BQ27XXX_DT_UPDATES_NVM is not set +CONFIG_BATTERY_BQ27XXX_HDQ=m CONFIG_BATTERY_BQ27XXX_I2C=m CONFIG_BATTERY_BQ27XXX=m CONFIG_BATTERY_DA9052=m @@ -511,6 +516,7 @@ CONFIG_BATTERY_DA9052=m # CONFIG_BATTERY_LEGO_EV3 is not set # CONFIG_BATTERY_MAX17040 is not set # CONFIG_BATTERY_MAX17042 is not set +# CONFIG_BATTERY_MAX1721X is not set CONFIG_BATTERY_RX51=m CONFIG_BATTERY_SBS=m CONFIG_BATTERY_TWL4030_MADC=m @@ -560,7 +566,6 @@ CONFIG_BINFMT_MISC=m CONFIG_BINFMT_SCRIPT=y CONFIG_BLK_CGROUP=y # CONFIG_BLK_CMDLINE_PARSER is not set -CONFIG_BLK_CPQ_CISS_DA=m CONFIG_BLK_DEBUG_FS=y # CONFIG_BLK_DEV_3W_XXXX_RAID is not set CONFIG_BLK_DEV_BSGLIB=y @@ -596,7 +601,6 @@ CONFIG_BLK_DEV_SR=y CONFIG_BLK_DEV_SX8=m # CONFIG_BLK_DEV_THROTTLING_LOW is not set CONFIG_BLK_DEV_THROTTLING=y -# CONFIG_BLK_DEV_UB is not set CONFIG_BLK_DEV_UMEM=m CONFIG_BLK_DEV=y CONFIG_BLK_DEV_ZONED=y @@ -621,6 +625,7 @@ CONFIG_BNX2=m CONFIG_BNX2X=m CONFIG_BNX2X_SRIOV=y CONFIG_BNXT_DCB=y +CONFIG_BNXT_FLOWER_OFFLOAD=y CONFIG_BNXT=m CONFIG_BNXT_SRIOV=y CONFIG_BONDING=m @@ -631,6 +636,7 @@ CONFIG_BONDING=m CONFIG_BOOT_PRINTK_DELAY=y CONFIG_BOUNCE=y CONFIG_BPF_JIT=y +CONFIG_BPF_STREAM_PARSER=y CONFIG_BPF_SYSCALL=y CONFIG_BPQETHER=m # CONFIG_BRCMDBG is not set @@ -720,7 +726,6 @@ CONFIG_BT_RFCOMM_TTY=y CONFIG_BTRFS_FS=m CONFIG_BTRFS_FS_POSIX_ACL=y # CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set -CONFIG_BT_SCO=y # CONFIG_BT_SELFTEST is not set # CONFIG_BTT is not set CONFIG_BT_WILINK=m @@ -801,11 +806,13 @@ CONFIG_CB710_CORE=m # CONFIG_CB710_DEBUG is not set # CONFIG_CC10001_ADC is not set CONFIG_CC_OPTIMIZE_FOR_SIZE=y +# CONFIG_CCS811 is not set # CONFIG_CC_STACKPROTECTOR is not set CONFIG_CC_STACKPROTECTOR_NONE=y CONFIG_CDROM_PKTCDVD_BUFFERS=8 CONFIG_CDROM_PKTCDVD=m # CONFIG_CDROM_PKTCDVD_WCACHE is not set +CONFIG_CEC_PIN=y CONFIG_CEC_PLATFORM_DRIVERS=y CONFIG_CEPH_FSCACHE=y CONFIG_CEPH_FS=m @@ -851,7 +858,7 @@ CONFIG_CHARGER_MANAGER=y # CONFIG_CHARGER_MAX8903 is not set CONFIG_CHARGER_MAX8997=m # CONFIG_CHARGER_PCF50633 is not set -# CONFIG_CHARGER_QCOM_SMBB is not set +CONFIG_CHARGER_QCOM_SMBB=m # CONFIG_CHARGER_RT9455 is not set # CONFIG_CHARGER_SBS is not set CONFIG_CHARGER_SMB347=m @@ -888,8 +895,8 @@ CONFIG_CIFS_STATS=y CONFIG_CIFS_UPCALL=y CONFIG_CIFS_WEAK_PW_HASH=y CONFIG_CIFS_XATTR=y -CONFIG_CISS_SCSI_TAPE=y CONFIG_CLEANCACHE=y +# CONFIG_CLK_HSDK is not set # CONFIG_CLK_QORIQ is not set CONFIG_CLK_SP810=y CONFIG_CLKSRC_VERSATILE=y @@ -1055,7 +1062,9 @@ CONFIG_CRYPTO_DEV_QCE=m CONFIG_CRYPTO_DEV_ROCKCHIP=m CONFIG_CRYPTO_DEV_S5P=m CONFIG_CRYPTO_DEV_SAHARA=m +# CONFIG_CRYPTO_DEV_SP_CCP is not set CONFIG_CRYPTO_DEV_SUN4I_SS=m +CONFIG_CRYPTO_DEV_SUN4I_SS_PRNG=y CONFIG_CRYPTO_DEV_VIRTIO=m CONFIG_CRYPTO_DH=y CONFIG_CRYPTO_DRBG_CTR=y @@ -1102,7 +1111,7 @@ CONFIG_CRYPTO_SERPENT=m CONFIG_CRYPTO_SHA1_ARM_NEON=y CONFIG_CRYPTO_SHA1_ARM=y CONFIG_CRYPTO_SHA1=y -CONFIG_CRYPTO_SHA256_ARM64=m +CONFIG_CRYPTO_SHA256_ARM64=y CONFIG_CRYPTO_SHA256_ARM=y CONFIG_CRYPTO_SHA256=y # CONFIG_CRYPTO_SHA2_ARM_CE is not set @@ -1321,6 +1330,7 @@ CONFIG_DRM_CIRRUS_QEMU=m CONFIG_DRM_DP_AUX_CHARDEV=y CONFIG_DRM_DUMB_VGA_DAC=m CONFIG_DRM_DW_HDMI_AHB_AUDIO=m +CONFIG_DRM_DW_HDMI_CEC=m CONFIG_DRM_DW_HDMI_I2S_AUDIO=m CONFIG_DRM_DW_HDMI=m CONFIG_DRM_ETNAVIV=m @@ -1427,6 +1437,7 @@ CONFIG_DRM_SIL_SII8620=m CONFIG_DRM_STI=m # CONFIG_DRM_STM is not set CONFIG_DRM_SUN4I_BACKEND=m +# CONFIG_DRM_SUN4I_HDMI_CEC is not set CONFIG_DRM_SUN4I_HDMI=m CONFIG_DRM_SUN4I=m CONFIG_DRM_SUN8I_MIXER=m @@ -1441,6 +1452,7 @@ CONFIG_DRM_TI_TFP410=m CONFIG_DRM_TOSHIBA_TC358767=m CONFIG_DRM_UDL=m # CONFIG_DRM_VBOXVIDEO is not set +CONFIG_DRM_VC4_HDMI_CEC=y CONFIG_DRM_VC4=m CONFIG_DRM_VGEM=m CONFIG_DRM_VIA=m @@ -1472,6 +1484,7 @@ CONFIG_DVB_BUDGET_PATCH=m CONFIG_DVB_CORE=m # CONFIG_DVB_CXD2099 is not set CONFIG_DVB_DDBRIDGE=m +# CONFIG_DVB_DDBRIDGE_MSIENABLE is not set # CONFIG_DVB_DEMUX_SECTION_LOSS_LOG is not set CONFIG_DVB_DM1105=m CONFIG_DVB_DYNAMIC_MINORS=y @@ -1552,7 +1565,7 @@ CONFIG_E1000E=m CONFIG_E1000=m CONFIG_E100=m CONFIG_EARLY_PRINTK_DBGP=y -# CONFIG_EARLY_PRINTK_USB_XDBC is not set +CONFIG_EARLY_PRINTK_USB_XDBC=y CONFIG_EARLY_PRINTK=y # CONFIG_EBC_C384_WDT is not set CONFIG_ECHO=m @@ -1607,7 +1620,6 @@ CONFIG_ETHOC=m # CONFIG_EVM is not set # CONFIG_EXOFS_DEBUG is not set # CONFIG_EXOFS_FS is not set -CONFIG_EXPERIMENTAL=y # CONFIG_EXPERT is not set CONFIG_EXPORTFS=y # CONFIG_EXT2_FS is not set @@ -1627,6 +1639,7 @@ CONFIG_EXTCON_PALMAS=m CONFIG_EXTCON_QCOM_SPMI_MISC=m # CONFIG_EXTCON_RT8973A is not set # CONFIG_EXTCON_SM5502 is not set +CONFIG_EXTCON_USBC_CROS_EC=m CONFIG_EXTCON_USB_GPIO=m CONFIG_EXTCON=y CONFIG_EXTRA_FIRMWARE="" @@ -1849,6 +1862,7 @@ CONFIG_GPIO_74X164=m # CONFIG_GPIO_ALTERA is not set # CONFIG_GPIO_AMDPT is not set CONFIG_GPIO_AXP209=m +CONFIG_GPIO_BD9571MWV=m # CONFIG_GPIO_BT8XX is not set CONFIG_GPIO_DA9052=m CONFIG_GPIO_DA9055=m @@ -1859,7 +1873,7 @@ CONFIG_GPIO_EXAR=m CONFIG_GPIO_GENERIC_PLATFORM=y CONFIG_GPIO_GENERIC=y # CONFIG_GPIO_GRGPIO is not set -CONFIG_GPIO_IT87=m +# CONFIG_GPIO_IT87 is not set CONFIG_GPIOLIB=y # CONFIG_GPIO_MAX7300 is not set CONFIG_GPIO_MAX7301=m @@ -1890,6 +1904,7 @@ CONFIG_GPIO_TPS65218=m CONFIG_GPIO_TPS6586X=y CONFIG_GPIO_TPS65910=y CONFIG_GPIO_TPS65912=m +CONFIG_GPIO_TPS68470=y CONFIG_GPIO_TS4800=m # CONFIG_GPIO_TS4900 is not set # CONFIG_GPIO_TS5500 is not set @@ -1944,7 +1959,7 @@ CONFIG_HID_CHERRY=m CONFIG_HID_CHICONY=m CONFIG_HID_CMEDIA=m CONFIG_HID_CORSAIR=m -# CONFIG_HID_CP2112 is not set +CONFIG_HID_CP2112=m CONFIG_HID_CYPRESS=m CONFIG_HID_DRAGONRISE=m CONFIG_HID_ELECOM=m @@ -2101,6 +2116,7 @@ CONFIG_HWMON=y CONFIG_HW_PERF_EVENTS=y CONFIG_HWPOISON_INJECT=m CONFIG_HW_RANDOM_BCM2835=m +CONFIG_HW_RANDOM_IMX_RNGC=m CONFIG_HW_RANDOM_MESON=m CONFIG_HW_RANDOM_MSM=m CONFIG_HW_RANDOM_MXC_RNGA=m @@ -2140,10 +2156,10 @@ CONFIG_I2C_CROS_EC_TUNNEL=m # CONFIG_I2C_DEBUG_BUS is not set # CONFIG_I2C_DEBUG_CORE is not set # CONFIG_I2C_DEMUX_PINCTRL is not set -CONFIG_I2C_DESIGNWARE_CORE=m +CONFIG_I2C_DESIGNWARE_CORE=y # CONFIG_I2C_DESIGNWARE is not set CONFIG_I2C_DESIGNWARE_PCI=m -CONFIG_I2C_DESIGNWARE_PLATFORM=m +CONFIG_I2C_DESIGNWARE_PLATFORM=y CONFIG_I2C_DESIGNWARE_SLAVE=y CONFIG_I2C_DIOLAN_U2C=m # CONFIG_I2C_EG20T is not set @@ -2173,8 +2189,7 @@ CONFIG_I2C_NFORCE2=m # CONFIG_I2C_NOMADIK is not set # CONFIG_I2C_OCORES is not set CONFIG_I2C_OMAP=y -CONFIG_I2C_PARPORT_LIGHT=m -CONFIG_I2C_PARPORT=m +# CONFIG_I2C_PARPORT_LIGHT is not set CONFIG_I2C_PCA_PLATFORM=m # CONFIG_I2C_PIIX4 is not set CONFIG_I2C_PXA=m @@ -2279,6 +2294,7 @@ CONFIG_IMX7_PM_DOMAINS=y CONFIG_IMX_DMA=m CONFIG_IMX_GPCV2=y CONFIG_IMX_IPUV3_CORE=m +CONFIG_IMX_REMOTEPROC=m CONFIG_IMX_SDMA=m CONFIG_IMX_THERMAL=m CONFIG_IMX_WEIM=y @@ -2308,6 +2324,7 @@ CONFIG_INET=y # CONFIG_INFINIBAND_CXGB3_DEBUG is not set # CONFIG_INFINIBAND_CXGB3 is not set # CONFIG_INFINIBAND_CXGB4 is not set +# CONFIG_INFINIBAND_EXP_USER_ACCESS is not set # CONFIG_INFINIBAND_I40IW is not set # CONFIG_INFINIBAND_IPOIB_CM is not set # CONFIG_INFINIBAND_IPOIB_DEBUG_DATA is not set @@ -2334,7 +2351,6 @@ CONFIG_INET=y # CONFIG_INFTL is not set CONFIG_INITRAMFS_SOURCE="" CONFIG_INOTIFY_USER=y -CONFIG_INOTIFY=y CONFIG_INPUT_88PM80X_ONKEY=m # CONFIG_INPUT_AD714X is not set # CONFIG_INPUT_ADXL34X is not set @@ -2392,8 +2408,10 @@ CONFIG_INPUT_PMIC8XXX_PWRKEY=m CONFIG_INPUT_POLLDEV=m CONFIG_INPUT_POWERMATE=m CONFIG_INPUT_PWM_BEEPER=m +# CONFIG_INPUT_PWM_VIBRA is not set # CONFIG_INPUT_REGULATOR_HAPTIC is not set CONFIG_INPUT_RETU_PWRBUTTON=m +CONFIG_INPUT_RK805_PWRKEY=m CONFIG_INPUT_SOC_BUTTON_ARRAY=m CONFIG_INPUT_SPARSEKMAP=m CONFIG_INPUT_TABLET=y @@ -2416,6 +2434,7 @@ CONFIG_INTEL_XWAY_PHY=m # CONFIG_INV_MPU6050_I2C is not set # CONFIG_INV_MPU6050_IIO is not set # CONFIG_INV_MPU6050_SPI is not set +CONFIG_IOMMU_DMA=y # CONFIG_IOMMU_IO_PGTABLE_ARMV7S is not set # CONFIG_IOMMU_IO_PGTABLE_LPAE_SELFTEST is not set CONFIG_IOMMU_IO_PGTABLE_LPAE=y @@ -2579,6 +2598,7 @@ CONFIG_IRDA=m CONFIG_IR_ENE=m CONFIG_IR_FINTEK=m CONFIG_IR_GPIO_CIR=m +CONFIG_IR_GPIO_TX=m CONFIG_IR_HIX5HD2=m CONFIG_IR_IGORPLUGUSB=m CONFIG_IR_IGUANA=m @@ -2594,6 +2614,7 @@ CONFIG_IR_MESON=m CONFIG_IR_NEC_DECODER=m CONFIG_IRNET=m CONFIG_IR_NUVOTON=m +CONFIG_IR_PWM_TX=m CONFIG_IRQ_CROSSBAR=y # CONFIG_IRQ_DOMAIN_DEBUG is not set # CONFIG_IRQSOFF_TRACER is not set @@ -2847,6 +2868,7 @@ CONFIG_LCD_VGG2432A4=m # CONFIG_LDM_DEBUG is not set CONFIG_LDM_PARTITION=y # CONFIG_LEDS_AAT1290 is not set +CONFIG_LEDS_AS3645A=m # CONFIG_LEDS_BCM6328 is not set # CONFIG_LEDS_BCM6358 is not set # CONFIG_LEDS_BD2802 is not set @@ -2950,6 +2972,7 @@ CONFIG_LMP91000=m CONFIG_LOCALVERSION="" # CONFIG_LOCALVERSION_AUTO is not set CONFIG_LOCKD=m +# CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT is not set # CONFIG_LOCK_DOWN_KERNEL is not set CONFIG_LOCKD_V4=y # CONFIG_LOCK_STAT is not set @@ -2975,6 +2998,7 @@ CONFIG_LPFC_NVME_INITIATOR=y CONFIG_LPFC_NVME_TARGET=y CONFIG_LSI_ET1011C_PHY=m CONFIG_LSM_MMAP_MIN_ADDR=32768 +# CONFIG_LTC2471 is not set # CONFIG_LTC2485 is not set # CONFIG_LTC2497 is not set # CONFIG_LTC2632 is not set @@ -3076,6 +3100,7 @@ CONFIG_MDIO_BUS_MUX=m CONFIG_MDIO_BUS_MUX_MMIOREG=m CONFIG_MDIO_GPIO=m # CONFIG_MDIO_HISI_FEMAC is not set +CONFIG_MDIO_I2C=m # CONFIG_MDIO_OCTEON is not set CONFIG_MDIO_SUN4I=m # CONFIG_MDIO_THUNDER is not set @@ -3129,6 +3154,7 @@ CONFIG_MEMSTICK_TIFM_MS=m CONFIG_MESON_EFUSE=m # CONFIG_MESON_GXBB_WATCHDOG is not set # CONFIG_MESON_GXL_PHY is not set +CONFIG_MESON_GX_SOCINFO=y CONFIG_MESON_SARADC=m CONFIG_MESON_SM=y CONFIG_MESON_WATCHDOG=m @@ -3151,6 +3177,7 @@ CONFIG_MFD_AXP20X_I2C=y CONFIG_MFD_AXP20X_RSB=m CONFIG_MFD_AXP20X=y # CONFIG_MFD_BCM590XX is not set +CONFIG_MFD_BD9571MWV=m CONFIG_MFD_CORE=y # CONFIG_MFD_CPCAP is not set CONFIG_MFD_CROS_EC_I2C=m @@ -3226,6 +3253,7 @@ CONFIG_MFD_TPS65910=y CONFIG_MFD_TPS65912_I2C=y CONFIG_MFD_TPS65912_SPI=y CONFIG_MFD_TPS65912=y +CONFIG_MFD_TPS68470=y CONFIG_MFD_TPS80031=y CONFIG_MFD_VEXPRESS_SYSREG=y CONFIG_MFD_VIPERBOARD=m @@ -3271,8 +3299,10 @@ CONFIG_MLX5_CORE_EN=y CONFIG_MLX5_CORE_IPOIB=y CONFIG_MLX5_CORE=m # CONFIG_MLX5_EN_IPSEC is not set +CONFIG_MLX5_ESWITCH=y # CONFIG_MLX5_FPGA is not set # CONFIG_MLX5_INFINIBAND is not set +CONFIG_MLX5_MPFS=y # CONFIG_MLX90614 is not set CONFIG_MLX_CPLD_PLATFORM=m CONFIG_MLXFW=m @@ -3295,7 +3325,6 @@ CONFIG_MMA8452=m # CONFIG_MMC35240 is not set CONFIG_MMC_ARMMMCI=m CONFIG_MMC_BCM2835=m -CONFIG_MMC_BLOCK_BOUNCE=y CONFIG_MMC_BLOCK=m CONFIG_MMC_BLOCK_MINORS=8 CONFIG_MMC_CB710=m @@ -3312,7 +3341,7 @@ CONFIG_MMC_MVSDIO=m CONFIG_MMC_MXC=m CONFIG_MMC_OMAP_HS=m CONFIG_MMC_OMAP=m -CONFIG_MMC_QCOM_DML=m +CONFIG_MMC_QCOM_DML=y CONFIG_MMC_REALTEK_PCI=m CONFIG_MMC_REALTEK_USB=m CONFIG_MMC_RICOH_MMC=y @@ -3724,6 +3753,7 @@ CONFIG_NETLABEL=y CONFIG_NETLINK_DIAG=m CONFIG_NET_MPLS_GSO=m CONFIG_NET_NCSI=y +CONFIG_NET_NSH=m CONFIG_NET_NS=y CONFIG_NET_PACKET_ENGINE=y CONFIG_NET_PKTGEN=m @@ -3795,6 +3825,7 @@ CONFIG_NET_VENDOR_FREESCALE=y # CONFIG_NET_VENDOR_FUJITSU is not set # CONFIG_NET_VENDOR_HISILICON is not set # CONFIG_NET_VENDOR_HP is not set +# CONFIG_NET_VENDOR_HUAWEI is not set # CONFIG_NET_VENDOR_I825XX is not set CONFIG_NET_VENDOR_INTEL=y CONFIG_NET_VENDOR_MARVELL=y @@ -3817,6 +3848,7 @@ CONFIG_NET_VENDOR_ROCKER=y CONFIG_NET_VENDOR_SILAN=y CONFIG_NET_VENDOR_SIS=y CONFIG_NET_VENDOR_SMSC=y +# CONFIG_NET_VENDOR_SNI is not set # CONFIG_NET_VENDOR_SOLARFLARE is not set CONFIG_NET_VENDOR_STMICRO=y # CONFIG_NET_VENDOR_SUN is not set @@ -3955,6 +3987,7 @@ CONFIG_NFT_EXTHDR=m CONFIG_NFT_FIB_INET=m CONFIG_NFT_FIB_IPV4=m CONFIG_NFT_FIB_IPV6=m +CONFIG_NFT_FIB_NETDEV=m CONFIG_NFT_FWD_NETDEV=m CONFIG_NFT_HASH=m CONFIG_NFT_LIMIT=m @@ -4167,14 +4200,8 @@ CONFIG_PARAVIRT_TIME_ACCOUNTING=y CONFIG_PARAVIRT=y # CONFIG_PARIDE is not set CONFIG_PARMAN=m -CONFIG_PARPORT_1284=y -# CONFIG_PARPORT_AX88796 is not set # CONFIG_PARPORT is not set -# CONFIG_PARPORT_PC_FIFO is not set -CONFIG_PARPORT_PC=m -CONFIG_PARPORT_PC_PCMCIA=m -# CONFIG_PARPORT_PC_SUPERIO is not set -CONFIG_PARPORT_SERIAL=m +# CONFIG_PARPORT_PC is not set CONFIG_PARTITION_ADVANCED=y CONFIG_PATA_ACPI=m CONFIG_PATA_ALI=m @@ -4208,7 +4235,6 @@ CONFIG_PATA_NETCELL=m CONFIG_PATA_NINJA32=m CONFIG_PATA_NS87410=m CONFIG_PATA_NS87415=m -CONFIG_PATA_OF_PLATFORM=m CONFIG_PATA_OLDPIIX=m CONFIG_PATA_OPTIDMA=m CONFIG_PATA_OPTI=m @@ -4246,6 +4272,7 @@ CONFIG_PCIEAER=y # CONFIG_PCIEASPM_DEBUG is not set CONFIG_PCIEASPM=y CONFIG_PCIE_DPC=y +# CONFIG_PCIE_DW_HOST_ECAM is not set CONFIG_PCIE_DW_HOST=y # CONFIG_PCIE_DW_PLAT is not set CONFIG_PCIE_DW=y @@ -4311,10 +4338,12 @@ CONFIG_PHY_EXYNOS_DP_VIDEO=m CONFIG_PHY_EXYNOS_MIPI_VIDEO=m CONFIG_PHY_EXYNOS_PCIE=y CONFIG_PHYLIB=y +CONFIG_PHYLINK=m CONFIG_PHY_MESON8B_USB2=m # CONFIG_PHY_MESON_GXL_USB2 is not set CONFIG_PHY_MIPHY28LP=m # CONFIG_PHY_MIPHY365X is not set +# CONFIG_PHY_MVEBU_CP110_COMPHY is not set CONFIG_PHY_MVEBU_SATA=y # CONFIG_PHY_PXA_28NM_HSIC is not set # CONFIG_PHY_PXA_28NM_USB2 is not set @@ -4340,6 +4369,7 @@ CONFIG_PHY_SUN4I_USB=m CONFIG_PHY_SUN9I_USB=m CONFIG_PHY_TEGRA_XUSB=m # CONFIG_PHY_TUSB1210 is not set +# CONFIG_PI433 is not set # CONFIG_PID_IN_CONTEXTIDR is not set CONFIG_PID_NS=y CONFIG_PINCONF=y @@ -4350,13 +4380,11 @@ CONFIG_PINCTRL_ARMADA_370=y CONFIG_PINCTRL_ARMADA_XP=y CONFIG_PINCTRL_AS3722=y # CONFIG_PINCTRL_BAYTRAIL is not set -# CONFIG_PINCTRL_BCM281XX is not set # CONFIG_PINCTRL_BROXTON is not set # CONFIG_PINCTRL_CANNONLAKE is not set # CONFIG_PINCTRL_CHERRYVIEW is not set CONFIG_PINCTRL_DOVE=y # CONFIG_PINCTRL_GEMINILAKE is not set -# CONFIG_PINCTRL_IMX35 is not set CONFIG_PINCTRL_IMX6SL=y # CONFIG_PINCTRL_IPQ4019 is not set # CONFIG_PINCTRL_IPQ8064 is not set @@ -4373,8 +4401,11 @@ CONFIG_PINCTRL_MVEBU=y CONFIG_PINCTRL_PALMAS=y CONFIG_PINCTRL_QCOM_SPMI_PMIC=m CONFIG_PINCTRL_QCOM_SSBI_PMIC=m +CONFIG_PINCTRL_RK805=m CONFIG_PINCTRL_SAMSUNG=y CONFIG_PINCTRL_SINGLE=y +# CONFIG_PINCTRL_SPRD is not set +# CONFIG_PINCTRL_SPRD_SC9860 is not set # CONFIG_PINCTRL_SUNRISEPOINT is not set # CONFIG_PINCTRL_SX150X is not set CONFIG_PINCTRL=y @@ -4451,7 +4482,6 @@ CONFIG_PPP_SYNC_TTY=m CONFIG_PPS_CLIENT_GPIO=m # CONFIG_PPS_CLIENT_KTIMER is not set CONFIG_PPS_CLIENT_LDISC=m -CONFIG_PPS_CLIENT_PARPORT=m # CONFIG_PPS_DEBUG is not set CONFIG_PPS_GENERATOR_PARPORT=m CONFIG_PPS=m @@ -4520,6 +4550,7 @@ CONFIG_QCOM_CLK_SMD_RPM=m CONFIG_QCOM_COINCELL=m # CONFIG_QCOM_EBI2 is not set # CONFIG_QCOM_EMAC is not set +# CONFIG_QCOM_GLINK_SSR is not set CONFIG_QCOM_GSBI=m # CONFIG_QCOM_HIDMA is not set # CONFIG_QCOM_HIDMA_MGMT is not set @@ -4569,6 +4600,7 @@ CONFIG_R8169=m CONFIG_R8188EU=m CONFIG_R8712U=m CONFIG_R8723AU=m # Jes Sorensen maintains this (rhbz 1100162) +CONFIG_R8822BE=m CONFIG_RADIO_ADAPTERS=y CONFIG_RADIO_AZTECH=m CONFIG_RADIO_CADET=m @@ -4590,7 +4622,6 @@ CONFIG_RADIO_TERRATEC=m CONFIG_RADIO_TRUST=m CONFIG_RADIO_TYPHOON=m CONFIG_RADIO_WL1273=m -CONFIG_RADIO_WL128X=m CONFIG_RADIO_ZOLTRIX=m CONFIG_RAID_ATTRS=m # CONFIG_RANDOM32_SELFTEST is not set @@ -4649,6 +4680,7 @@ CONFIG_REGULATOR_AD5398=m CONFIG_REGULATOR_ANATOP=m CONFIG_REGULATOR_AS3722=m CONFIG_REGULATOR_AXP20X=m +CONFIG_REGULATOR_BD9571MWV=m CONFIG_REGULATOR_DA9052=m CONFIG_REGULATOR_DA9055=m CONFIG_REGULATOR_DA9210=m @@ -4721,8 +4753,10 @@ CONFIG_REISERFS_PROC_INFO=y CONFIG_RELAY=y # CONFIG_RELOCATABLE_TEST is not set CONFIG_REMOTEPROC=m +CONFIG_RESET_ATTACK_MITIGATION=y CONFIG_RESET_CONTROLLER=y CONFIG_RESET_GPIO=y +# CONFIG_RESET_HSDK_V1 is not set # CONFIG_RESET_TI_SCI is not set # CONFIG_RESET_TI_SYSCON is not set # CONFIG_RFD_FTL is not set @@ -4743,6 +4777,7 @@ CONFIG_RMI4_F55=y CONFIG_RMI4_I2C=m CONFIG_RMI4_SMB=m CONFIG_RMI4_SPI=m +# CONFIG_RMNET is not set CONFIG_ROCKCHIP_ANALOGIX_DP=y CONFIG_ROCKCHIP_CDN_DP=y CONFIG_ROCKCHIP_DW_HDMI=y @@ -4752,6 +4787,7 @@ CONFIG_ROCKCHIP_INNO_HDMI=y CONFIG_ROCKCHIP_IODOMAIN=m CONFIG_ROCKCHIP_IOMMU=y CONFIG_ROCKCHIP_MBOX=y +CONFIG_ROCKCHIP_PHY=m CONFIG_ROCKCHIP_PM_DOMAINS=y CONFIG_ROCKCHIP_SARADC=m CONFIG_ROCKCHIP_THERMAL=m @@ -4763,6 +4799,7 @@ CONFIG_RPCSEC_GSS_KRB5=m # CONFIG_RPMSG_CHAR is not set CONFIG_RPMSG=m CONFIG_RPMSG_QCOM_GLINK_RPM=m +# CONFIG_RPMSG_QCOM_GLINK_SMEM is not set CONFIG_RPMSG_QCOM_SMD=m CONFIG_RPR0521=m CONFIG_RSI_91X=m @@ -5160,6 +5197,7 @@ CONFIG_SENSORS_HDAPS=m # CONFIG_SENSORS_HMC5843_SPI is not set # CONFIG_SENSORS_I5K_AMB is not set CONFIG_SENSORS_IBMAEM=m +# CONFIG_SENSORS_IBM_CFFPS is not set CONFIG_SENSORS_IBMPEX=m CONFIG_SENSORS_IIO_HWMON=m CONFIG_SENSORS_INA209=m @@ -5251,6 +5289,7 @@ CONFIG_SENSORS_TMP108=m CONFIG_SENSORS_TMP401=m CONFIG_SENSORS_TMP421=m CONFIG_SENSORS_TPS40422=m +CONFIG_SENSORS_TPS53679=m CONFIG_SENSORS_TSL2550=m # CONFIG_SENSORS_TSL2563 is not set CONFIG_SENSORS_TWL4030_MADC=m @@ -5354,6 +5393,7 @@ CONFIG_SERIO_AMBAKMI=m # CONFIG_SERIO_APBPS2 is not set CONFIG_SERIO_ARC_PS2=m # CONFIG_SERIO_CT82C710 is not set +# CONFIG_SERIO_GPIO_PS2 is not set CONFIG_SERIO_I8042=y CONFIG_SERIO_LIBPS2=y CONFIG_SERIO_NVEC_PS2=y @@ -5368,6 +5408,7 @@ CONFIG_SERIO=y CONFIG_SFC_FALCON=m CONFIG_SFC_FALCON_MTD=y # CONFIG_SFC is not set +CONFIG_SFP=m # CONFIG_SGI_IOC4 is not set CONFIG_SGI_PARTITION=y CONFIG_SH_ETH=m @@ -5386,6 +5427,7 @@ CONFIG_SKGE_GENESIS=y CONFIG_SKGE=m # CONFIG_SKY2_DEBUG is not set CONFIG_SKY2=m +CONFIG_SLAB_FREELIST_HARDENED=y CONFIG_SLAB_FREELIST_RANDOM=y CONFIG_SLAB_MERGE_DEFAULT=y # CONFIG_SLICOSS is not set @@ -5504,7 +5546,7 @@ CONFIG_SND_HDA_INPUT_BEEP_MODE=0 CONFIG_SND_HDA_INPUT_BEEP=y CONFIG_SND_HDA_INTEL=m CONFIG_SND_HDA_PATCH_LOADER=y -CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0 +CONFIG_SND_HDA_POWER_SAVE_DEFAULT=1 CONFIG_SND_HDA_POWER_SAVE=y CONFIG_SND_HDA_PREALLOC_SIZE=4096 CONFIG_SND_HDA_RECONFIG=y @@ -5617,6 +5659,7 @@ CONFIG_SND_SOC_CS42L42=m # CONFIG_SND_SOC_CS42L56 is not set # CONFIG_SND_SOC_CS42L73 is not set CONFIG_SND_SOC_CS42XX8_I2C=m +CONFIG_SND_SOC_CS43130=m # CONFIG_SND_SOC_CS4349 is not set # CONFIG_SND_SOC_CS53L30 is not set CONFIG_SND_SOC_DIO2125=m @@ -5732,6 +5775,7 @@ CONFIG_SND_SOC_TWL4030=m CONFIG_SND_SOC_TWL6040=m # CONFIG_SND_SOC_WM8510 is not set # CONFIG_SND_SOC_WM8523 is not set +CONFIG_SND_SOC_WM8524=m # CONFIG_SND_SOC_WM8580 is not set # CONFIG_SND_SOC_WM8711 is not set # CONFIG_SND_SOC_WM8728 is not set @@ -5891,6 +5935,7 @@ CONFIG_SQUASHFS=m CONFIG_SQUASHFS_XATTR=y CONFIG_SQUASHFS_XZ=y CONFIG_SQUASHFS_ZLIB=y +CONFIG_SQUASHFS_ZSTD=y CONFIG_SRAM=y # CONFIG_SRF04 is not set # CONFIG_SRF08 is not set @@ -5932,11 +5977,13 @@ CONFIG_ST_REMOTEPROC=m CONFIG_STRICT_DEVMEM=y CONFIG_STRICT_KERNEL_RWX=y CONFIG_STRICT_MODULE_RWX=y +# CONFIG_STRING_SELFTEST is not set CONFIG_STRIP_ASM_SYMS=y # CONFIG_STRIP is not set CONFIG_ST_THERMAL=m CONFIG_ST_THERMAL_MEMMAP=m # CONFIG_ST_THERMAL_SYSCFG is not set +CONFIG_SUN4I_A10_CCU=y CONFIG_SUN4I_EMAC=m CONFIG_SUN4I_GPADC=m CONFIG_SUN5I_CCU=y @@ -5946,6 +5993,7 @@ CONFIG_SUN8I_A33_CCU=y CONFIG_SUN8I_A83T_CCU=y CONFIG_SUN8I_DE2_CCU=y CONFIG_SUN8I_H3_CCU=y +CONFIG_SUN8I_R40_CCU=y CONFIG_SUN8I_R_CCU=y CONFIG_SUN8I_V3S_CCU=y CONFIG_SUN9I_A80_CCU=y @@ -6133,6 +6181,8 @@ CONFIG_TIGON3=m # CONFIG_TIMER_STATS is not set CONFIG_TINYDRM_MI0283QT=m CONFIG_TINYDRM_MIPI_DBI=m +# CONFIG_TINYDRM_REPAPER is not set +# CONFIG_TINYDRM_ST7586 is not set CONFIG_TIPC=m # CONFIG_TIPC_MEDIA_IB is not set CONFIG_TIPC_MEDIA_UDP=y @@ -6140,8 +6190,7 @@ CONFIG_TI_PIPE3=m # CONFIG_TI_SCI_CLK is not set CONFIG_TI_SCI_PROTOCOL=m CONFIG_TI_SOC_THERMAL=m -CONFIG_TI_ST=m -CONFIG_TI_SYSCON_RESET=m +# CONFIG_TI_ST is not set CONFIG_TI_THERMAL=y # CONFIG_TI_TLC4541 is not set # CONFIG_TLAN is not set @@ -6487,7 +6536,6 @@ CONFIG_USB_KEENE=m CONFIG_USB_LAN78XX=m CONFIG_USB_LCD=m CONFIG_USB_LD=m -CONFIG_USB_LED=m CONFIG_USB_LEDS_TRIGGER_USBPORT=m CONFIG_USB_LED_TRIG=y CONFIG_USB_LEGOTOWER=m @@ -6610,7 +6658,6 @@ CONFIG_USB_SERIAL_KLSI=m CONFIG_USB_SERIAL_KOBIL_SCT=m CONFIG_USB_SERIAL_MCT_U232=m # CONFIG_USB_SERIAL_METRO is not set -CONFIG_USB_SERIAL_MOS7715_PARPORT=y CONFIG_USB_SERIAL_MOS7720=m CONFIG_USB_SERIAL_MOS7840=m # CONFIG_USB_SERIAL_MXUPORT is not set @@ -6802,6 +6849,7 @@ CONFIG_VIDEO_IMX_VDOA=m CONFIG_VIDEO_IVTV=m # CONFIG_VIDEO_M5MOLS is not set # CONFIG_VIDEO_MEM2MEM_DEINTERLACE is not set +CONFIG_VIDEO_MESON_AO_CEC=m CONFIG_VIDEO_MEYE=m CONFIG_VIDEO_MUX=m CONFIG_VIDEO_MXB=m @@ -6815,8 +6863,8 @@ CONFIG_VIDEO_OMAP3=m CONFIG_VIDEO_PVRUSB2_DVB=y CONFIG_VIDEO_PVRUSB2=m CONFIG_VIDEO_PVRUSB2_SYSFS=y +CONFIG_VIDEO_QCOM_CAMSS=m CONFIG_VIDEO_QCOM_VENUS=m -# CONFIG_VIDEO_RENESAS_VSP1 is not set CONFIG_VIDEO_S5P_FIMC=m CONFIG_VIDEO_S5P_MIPI_CSIS=m CONFIG_VIDEO_SAA6588=m @@ -6930,6 +6978,7 @@ CONFIG_W1_SLAVE_DS2438=m CONFIG_W1_SLAVE_DS2760=m CONFIG_W1_SLAVE_DS2780=m CONFIG_W1_SLAVE_DS2781=m +CONFIG_W1_SLAVE_DS2805=m CONFIG_W1_SLAVE_DS28E04=m CONFIG_W1_SLAVE_SMEM=m CONFIG_W1_SLAVE_THERM=m @@ -6949,6 +6998,7 @@ CONFIG_WATCHDOG=y CONFIG_WCN36XX=m CONFIG_WDAT_WDT=m CONFIG_WDTPCI=m +CONFIG_WIL6210_DEBUGFS=y CONFIG_WIL6210_ISR_COR=y CONFIG_WIL6210=m # CONFIG_WIL6210_TRACING is not set @@ -7047,6 +7097,7 @@ CONFIG_ZLIB_DEFLATE=y CONFIG_ZLIB_INFLATE=y # CONFIG_ZPA2326 is not set CONFIG_ZRAM=m +# CONFIG_ZRAM_WRITEBACK is not set # CONFIG_ZSMALLOC_STAT is not set CONFIG_ZSMALLOC=y CONFIG_ZSWAP=y diff --git a/freed-ora/current/f26/kernel-armv7hl-lpae-debug.config b/freed-ora/current/f26/kernel-armv7hl-lpae-debug.config index 068aeac2e..a475963cd 100644 --- a/freed-ora/current/f26/kernel-armv7hl-lpae-debug.config +++ b/freed-ora/current/f26/kernel-armv7hl-lpae-debug.config @@ -154,7 +154,9 @@ CONFIG_AK8975=m CONFIG_ALI_FIR=m CONFIG_ALIM1535_WDT=m CONFIG_ALIM7101_WDT=m +CONFIG_ALLOW_LOCKDOWN_LIFT_BY_SYSRQ=y # CONFIG_ALTERA_MBOX is not set +CONFIG_ALTERA_MSGDMA=m CONFIG_ALTERA_STAPL=m CONFIG_ALTERA_TSE=m CONFIG_ALX=m @@ -189,6 +191,7 @@ CONFIG_ARCH_BCM2835=y # CONFIG_ARCH_BCM_53573 is not set # CONFIG_ARCH_BCM_63XX is not set # CONFIG_ARCH_BCM_CYGNUS is not set +# CONFIG_ARCH_BCM_IPROC is not set # CONFIG_ARCH_BCM_NSP is not set CONFIG_ARCH_BCM=y # CONFIG_ARCH_BERLIN is not set @@ -347,6 +350,7 @@ CONFIG_ATH10K=m CONFIG_ATH10K_PCI=m CONFIG_ATH10K_SDIO=m # CONFIG_ATH10K_TRACING is not set +CONFIG_ATH10K_USB=m CONFIG_ATH5K_DEBUG=y CONFIG_ATH5K=m # CONFIG_ATH5K_TRACER is not set @@ -490,6 +494,7 @@ CONFIG_BATTERY_AXP20X=m # CONFIG_BATTERY_LEGO_EV3 is not set # CONFIG_BATTERY_MAX17040 is not set # CONFIG_BATTERY_MAX17042 is not set +# CONFIG_BATTERY_MAX1721X is not set CONFIG_BATTERY_SBS=m CONFIG_BAYCOM_EPP=m CONFIG_BAYCOM_PAR=m @@ -537,7 +542,6 @@ CONFIG_BINFMT_MISC=m CONFIG_BINFMT_SCRIPT=y CONFIG_BLK_CGROUP=y # CONFIG_BLK_CMDLINE_PARSER is not set -CONFIG_BLK_CPQ_CISS_DA=m CONFIG_BLK_DEBUG_FS=y # CONFIG_BLK_DEV_3W_XXXX_RAID is not set CONFIG_BLK_DEV_BSGLIB=y @@ -573,7 +577,6 @@ CONFIG_BLK_DEV_SR=y CONFIG_BLK_DEV_SX8=m # CONFIG_BLK_DEV_THROTTLING_LOW is not set CONFIG_BLK_DEV_THROTTLING=y -# CONFIG_BLK_DEV_UB is not set CONFIG_BLK_DEV_UMEM=m CONFIG_BLK_DEV=y CONFIG_BLK_DEV_ZONED=y @@ -598,6 +601,7 @@ CONFIG_BNX2=m CONFIG_BNX2X=m CONFIG_BNX2X_SRIOV=y CONFIG_BNXT_DCB=y +CONFIG_BNXT_FLOWER_OFFLOAD=y CONFIG_BNXT=m CONFIG_BNXT_SRIOV=y CONFIG_BONDING=m @@ -608,6 +612,7 @@ CONFIG_BONDING=m CONFIG_BOOT_PRINTK_DELAY=y CONFIG_BOUNCE=y CONFIG_BPF_JIT=y +CONFIG_BPF_STREAM_PARSER=y CONFIG_BPF_SYSCALL=y CONFIG_BPQETHER=m # CONFIG_BRCMDBG is not set @@ -696,7 +701,6 @@ CONFIG_BT_RFCOMM_TTY=y CONFIG_BTRFS_FS=m CONFIG_BTRFS_FS_POSIX_ACL=y # CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set -CONFIG_BT_SCO=y # CONFIG_BT_SELFTEST is not set # CONFIG_BTT is not set CONFIG_BT_WILINK=m @@ -777,11 +781,13 @@ CONFIG_CB710_CORE=m # CONFIG_CB710_DEBUG is not set # CONFIG_CC10001_ADC is not set CONFIG_CC_OPTIMIZE_FOR_SIZE=y +# CONFIG_CCS811 is not set # CONFIG_CC_STACKPROTECTOR is not set CONFIG_CC_STACKPROTECTOR_NONE=y CONFIG_CDROM_PKTCDVD_BUFFERS=8 CONFIG_CDROM_PKTCDVD=m # CONFIG_CDROM_PKTCDVD_WCACHE is not set +CONFIG_CEC_PIN=y CONFIG_CEC_PLATFORM_DRIVERS=y CONFIG_CEPH_FSCACHE=y CONFIG_CEPH_FS=m @@ -827,7 +833,6 @@ CONFIG_CHARGER_MANAGER=y # CONFIG_CHARGER_MAX8903 is not set CONFIG_CHARGER_MAX8997=m # CONFIG_CHARGER_PCF50633 is not set -# CONFIG_CHARGER_QCOM_SMBB is not set # CONFIG_CHARGER_RT9455 is not set # CONFIG_CHARGER_SBS is not set CONFIG_CHARGER_SMB347=m @@ -862,8 +867,8 @@ CONFIG_CIFS_STATS=y CONFIG_CIFS_UPCALL=y CONFIG_CIFS_WEAK_PW_HASH=y CONFIG_CIFS_XATTR=y -CONFIG_CISS_SCSI_TAPE=y CONFIG_CLEANCACHE=y +# CONFIG_CLK_HSDK is not set # CONFIG_CLK_QORIQ is not set CONFIG_CLK_SP810=y CONFIG_CLKSRC_VERSATILE=y @@ -1004,7 +1009,9 @@ CONFIG_CRYPTO_DEV_MV_CESA=m CONFIG_CRYPTO_DEV_NITROX_CNN55XX=m CONFIG_CRYPTO_DEV_ROCKCHIP=m CONFIG_CRYPTO_DEV_S5P=m +# CONFIG_CRYPTO_DEV_SP_CCP is not set CONFIG_CRYPTO_DEV_SUN4I_SS=m +CONFIG_CRYPTO_DEV_SUN4I_SS_PRNG=y CONFIG_CRYPTO_DEV_VIRTIO=m CONFIG_CRYPTO_DH=y CONFIG_CRYPTO_DRBG_CTR=y @@ -1051,7 +1058,7 @@ CONFIG_CRYPTO_SERPENT=m CONFIG_CRYPTO_SHA1_ARM_NEON=y CONFIG_CRYPTO_SHA1_ARM=y CONFIG_CRYPTO_SHA1=y -CONFIG_CRYPTO_SHA256_ARM64=m +CONFIG_CRYPTO_SHA256_ARM64=y CONFIG_CRYPTO_SHA256_ARM=y CONFIG_CRYPTO_SHA256=y # CONFIG_CRYPTO_SHA2_ARM_CE is not set @@ -1268,6 +1275,7 @@ CONFIG_DRM_CIRRUS_QEMU=m CONFIG_DRM_DP_AUX_CHARDEV=y CONFIG_DRM_DUMB_VGA_DAC=m CONFIG_DRM_DW_HDMI_AHB_AUDIO=m +CONFIG_DRM_DW_HDMI_CEC=m CONFIG_DRM_DW_HDMI_I2S_AUDIO=m CONFIG_DRM_DW_HDMI=m CONFIG_DRM_EXYNOS5433_DECON=y @@ -1343,6 +1351,7 @@ CONFIG_DRM_SIL_SII8620=m CONFIG_DRM_STI=m # CONFIG_DRM_STM is not set CONFIG_DRM_SUN4I_BACKEND=m +# CONFIG_DRM_SUN4I_HDMI_CEC is not set CONFIG_DRM_SUN4I_HDMI=m CONFIG_DRM_SUN4I=m CONFIG_DRM_SUN8I_MIXER=m @@ -1356,6 +1365,7 @@ CONFIG_DRM_TI_TFP410=m CONFIG_DRM_TOSHIBA_TC358767=m CONFIG_DRM_UDL=m # CONFIG_DRM_VBOXVIDEO is not set +CONFIG_DRM_VC4_HDMI_CEC=y CONFIG_DRM_VC4=m CONFIG_DRM_VGEM=m CONFIG_DRM_VIA=m @@ -1387,6 +1397,7 @@ CONFIG_DVB_BUDGET_PATCH=m CONFIG_DVB_CORE=m # CONFIG_DVB_CXD2099 is not set CONFIG_DVB_DDBRIDGE=m +# CONFIG_DVB_DDBRIDGE_MSIENABLE is not set # CONFIG_DVB_DEMUX_SECTION_LOSS_LOG is not set CONFIG_DVB_DM1105=m CONFIG_DVB_DYNAMIC_MINORS=y @@ -1465,7 +1476,7 @@ CONFIG_E1000E=m CONFIG_E1000=m CONFIG_E100=m CONFIG_EARLY_PRINTK_DBGP=y -# CONFIG_EARLY_PRINTK_USB_XDBC is not set +CONFIG_EARLY_PRINTK_USB_XDBC=y CONFIG_EARLY_PRINTK=y # CONFIG_EBC_C384_WDT is not set CONFIG_ECHO=m @@ -1519,7 +1530,6 @@ CONFIG_ETHOC=m # CONFIG_EVM is not set # CONFIG_EXOFS_DEBUG is not set # CONFIG_EXOFS_FS is not set -CONFIG_EXPERIMENTAL=y # CONFIG_EXPERT is not set CONFIG_EXPORTFS=y # CONFIG_EXT2_FS is not set @@ -1538,6 +1548,7 @@ CONFIG_EXTCON_MAX8997=m # CONFIG_EXTCON_QCOM_SPMI_MISC is not set # CONFIG_EXTCON_RT8973A is not set # CONFIG_EXTCON_SM5502 is not set +CONFIG_EXTCON_USBC_CROS_EC=m CONFIG_EXTCON_USB_GPIO=m CONFIG_EXTCON=y CONFIG_EXTRA_FIRMWARE="" @@ -1755,6 +1766,7 @@ CONFIG_GPIO_74X164=m # CONFIG_GPIO_ALTERA is not set # CONFIG_GPIO_AMDPT is not set CONFIG_GPIO_AXP209=m +CONFIG_GPIO_BD9571MWV=m # CONFIG_GPIO_BT8XX is not set CONFIG_GPIO_DAVINCI=y CONFIG_GPIO_DEVRES=y @@ -1764,7 +1776,7 @@ CONFIG_GPIO_EXAR=m CONFIG_GPIO_GENERIC_PLATFORM=y CONFIG_GPIO_GENERIC=y # CONFIG_GPIO_GRGPIO is not set -CONFIG_GPIO_IT87=m +# CONFIG_GPIO_IT87 is not set CONFIG_GPIOLIB=y # CONFIG_GPIO_MAX7300 is not set CONFIG_GPIO_MAX7301=m @@ -1790,6 +1802,7 @@ CONFIG_GPIO_TEGRA=y # CONFIG_GPIO_TPIC2810 is not set CONFIG_GPIO_TPS65910=y CONFIG_GPIO_TPS65912=m +CONFIG_GPIO_TPS68470=y # CONFIG_GPIO_TS4900 is not set # CONFIG_GPIO_TS5500 is not set CONFIG_GPIO_VIPERBOARD=m @@ -1840,7 +1853,7 @@ CONFIG_HID_CHERRY=m CONFIG_HID_CHICONY=m CONFIG_HID_CMEDIA=m CONFIG_HID_CORSAIR=m -# CONFIG_HID_CP2112 is not set +CONFIG_HID_CP2112=m CONFIG_HID_CYPRESS=m CONFIG_HID_DRAGONRISE=m CONFIG_HID_ELECOM=m @@ -1999,6 +2012,7 @@ CONFIG_HWMON=y CONFIG_HW_PERF_EVENTS=y CONFIG_HWPOISON_INJECT=m CONFIG_HW_RANDOM_BCM2835=m +CONFIG_HW_RANDOM_IMX_RNGC=m CONFIG_HW_RANDOM_MESON=m CONFIG_HW_RANDOM_OMAP=m CONFIG_HW_RANDOM_TIMERIOMEM=m @@ -2033,10 +2047,10 @@ CONFIG_I2C_CROS_EC_TUNNEL=m # CONFIG_I2C_DEBUG_BUS is not set # CONFIG_I2C_DEBUG_CORE is not set # CONFIG_I2C_DEMUX_PINCTRL is not set -CONFIG_I2C_DESIGNWARE_CORE=m +CONFIG_I2C_DESIGNWARE_CORE=y # CONFIG_I2C_DESIGNWARE is not set CONFIG_I2C_DESIGNWARE_PCI=m -CONFIG_I2C_DESIGNWARE_PLATFORM=m +CONFIG_I2C_DESIGNWARE_PLATFORM=y CONFIG_I2C_DESIGNWARE_SLAVE=y CONFIG_I2C_DIOLAN_U2C=m # CONFIG_I2C_EG20T is not set @@ -2063,8 +2077,7 @@ CONFIG_I2C_NFORCE2=m # CONFIG_I2C_NFORCE2_S4985 is not set # CONFIG_I2C_NOMADIK is not set # CONFIG_I2C_OCORES is not set -CONFIG_I2C_PARPORT_LIGHT=m -CONFIG_I2C_PARPORT=m +# CONFIG_I2C_PARPORT_LIGHT is not set CONFIG_I2C_PCA_PLATFORM=m # CONFIG_I2C_PIIX4 is not set CONFIG_I2C_PXA=m @@ -2188,6 +2201,7 @@ CONFIG_INET=y # CONFIG_INFINIBAND_CXGB3_DEBUG is not set # CONFIG_INFINIBAND_CXGB3 is not set # CONFIG_INFINIBAND_CXGB4 is not set +# CONFIG_INFINIBAND_EXP_USER_ACCESS is not set # CONFIG_INFINIBAND_I40IW is not set # CONFIG_INFINIBAND_IPOIB_CM is not set # CONFIG_INFINIBAND_IPOIB_DEBUG_DATA is not set @@ -2214,7 +2228,6 @@ CONFIG_INET=y # CONFIG_INFTL is not set CONFIG_INITRAMFS_SOURCE="" CONFIG_INOTIFY_USER=y -CONFIG_INOTIFY=y # CONFIG_INPUT_AD714X is not set # CONFIG_INPUT_ADXL34X is not set CONFIG_INPUT_APANEL=m @@ -2267,8 +2280,10 @@ CONFIG_INPUT_PMIC8XXX_PWRKEY=m CONFIG_INPUT_POLLDEV=m CONFIG_INPUT_POWERMATE=m CONFIG_INPUT_PWM_BEEPER=m +# CONFIG_INPUT_PWM_VIBRA is not set # CONFIG_INPUT_REGULATOR_HAPTIC is not set CONFIG_INPUT_RETU_PWRBUTTON=m +CONFIG_INPUT_RK805_PWRKEY=m CONFIG_INPUT_SOC_BUTTON_ARRAY=m CONFIG_INPUT_SPARSEKMAP=m CONFIG_INPUT_TABLET=y @@ -2288,6 +2303,7 @@ CONFIG_INTEL_XWAY_PHY=m # CONFIG_INV_MPU6050_I2C is not set # CONFIG_INV_MPU6050_IIO is not set # CONFIG_INV_MPU6050_SPI is not set +CONFIG_IOMMU_DMA=y # CONFIG_IOMMU_IO_PGTABLE_ARMV7S is not set # CONFIG_IOMMU_IO_PGTABLE_LPAE_SELFTEST is not set CONFIG_IOMMU_IO_PGTABLE_LPAE=y @@ -2451,6 +2467,7 @@ CONFIG_IRDA=m CONFIG_IR_ENE=m CONFIG_IR_FINTEK=m CONFIG_IR_GPIO_CIR=m +CONFIG_IR_GPIO_TX=m CONFIG_IR_HIX5HD2=m CONFIG_IR_IGORPLUGUSB=m CONFIG_IR_IGUANA=m @@ -2466,6 +2483,7 @@ CONFIG_IR_MESON=m CONFIG_IR_NEC_DECODER=m CONFIG_IRNET=m CONFIG_IR_NUVOTON=m +CONFIG_IR_PWM_TX=m CONFIG_IRQ_CROSSBAR=y # CONFIG_IRQ_DOMAIN_DEBUG is not set # CONFIG_IRQSOFF_TRACER is not set @@ -2715,6 +2733,7 @@ CONFIG_LCD_VGG2432A4=m # CONFIG_LDM_DEBUG is not set CONFIG_LDM_PARTITION=y # CONFIG_LEDS_AAT1290 is not set +CONFIG_LEDS_AS3645A=m # CONFIG_LEDS_BCM6328 is not set # CONFIG_LEDS_BCM6358 is not set # CONFIG_LEDS_BD2802 is not set @@ -2815,6 +2834,7 @@ CONFIG_LMP91000=m CONFIG_LOCALVERSION="" # CONFIG_LOCALVERSION_AUTO is not set CONFIG_LOCKD=m +# CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT is not set # CONFIG_LOCK_DOWN_KERNEL is not set CONFIG_LOCKD_V4=y # CONFIG_LOCK_STAT is not set @@ -2840,6 +2860,7 @@ CONFIG_LPFC_NVME_INITIATOR=y CONFIG_LPFC_NVME_TARGET=y CONFIG_LSI_ET1011C_PHY=m CONFIG_LSM_MMAP_MIN_ADDR=32768 +# CONFIG_LTC2471 is not set # CONFIG_LTC2485 is not set # CONFIG_LTC2497 is not set # CONFIG_LTC2632 is not set @@ -2934,6 +2955,7 @@ CONFIG_MDIO_BUS_MUX=m CONFIG_MDIO_BUS_MUX_MMIOREG=m CONFIG_MDIO_GPIO=m # CONFIG_MDIO_HISI_FEMAC is not set +CONFIG_MDIO_I2C=m # CONFIG_MDIO_OCTEON is not set CONFIG_MDIO_SUN4I=m # CONFIG_MDIO_THUNDER is not set @@ -2985,6 +3007,7 @@ CONFIG_MEMSTICK_TIFM_MS=m CONFIG_MESON_EFUSE=m # CONFIG_MESON_GXBB_WATCHDOG is not set # CONFIG_MESON_GXL_PHY is not set +CONFIG_MESON_GX_SOCINFO=y CONFIG_MESON_SARADC=m CONFIG_MESON_SM=y CONFIG_MESON_WATCHDOG=m @@ -3007,6 +3030,7 @@ CONFIG_MFD_AXP20X_I2C=y CONFIG_MFD_AXP20X_RSB=m CONFIG_MFD_AXP20X=y # CONFIG_MFD_BCM590XX is not set +CONFIG_MFD_BD9571MWV=m CONFIG_MFD_CORE=y # CONFIG_MFD_CPCAP is not set CONFIG_MFD_CROS_EC_I2C=m @@ -3058,7 +3082,6 @@ CONFIG_MFD_SEC_CORE=y CONFIG_MFD_SM501_GPIO=y CONFIG_MFD_SM501=m # CONFIG_MFD_SMSC is not set -CONFIG_MFD_SPMI_PMIC=m # CONFIG_MFD_STMPE is not set CONFIG_MFD_SUN4I_GPADC=m CONFIG_MFD_SYSCON=y @@ -3080,6 +3103,7 @@ CONFIG_MFD_TPS65910=y CONFIG_MFD_TPS65912_I2C=y CONFIG_MFD_TPS65912_SPI=y CONFIG_MFD_TPS65912=y +CONFIG_MFD_TPS68470=y # CONFIG_MFD_TPS80031 is not set CONFIG_MFD_VEXPRESS_SYSREG=y CONFIG_MFD_VIPERBOARD=m @@ -3125,8 +3149,10 @@ CONFIG_MLX5_CORE_EN=y CONFIG_MLX5_CORE_IPOIB=y CONFIG_MLX5_CORE=m # CONFIG_MLX5_EN_IPSEC is not set +CONFIG_MLX5_ESWITCH=y # CONFIG_MLX5_FPGA is not set # CONFIG_MLX5_INFINIBAND is not set +CONFIG_MLX5_MPFS=y # CONFIG_MLX90614 is not set CONFIG_MLX_CPLD_PLATFORM=m CONFIG_MLXFW=m @@ -3149,7 +3175,6 @@ CONFIG_MMA8452=m # CONFIG_MMC35240 is not set CONFIG_MMC_ARMMMCI=m CONFIG_MMC_BCM2835=m -CONFIG_MMC_BLOCK_BOUNCE=y CONFIG_MMC_BLOCK=m CONFIG_MMC_BLOCK_MINORS=8 CONFIG_MMC_CB710=m @@ -3164,7 +3189,6 @@ CONFIG_MMC_DW_ROCKCHIP=m # CONFIG_MMC_MTK is not set CONFIG_MMC_MVSDIO=m CONFIG_MMC_OMAP_HS=m -CONFIG_MMC_QCOM_DML=m CONFIG_MMC_REALTEK_PCI=m CONFIG_MMC_REALTEK_USB=m CONFIG_MMC_RICOH_MMC=y @@ -3553,6 +3577,7 @@ CONFIG_NETLABEL=y CONFIG_NETLINK_DIAG=m CONFIG_NET_MPLS_GSO=m CONFIG_NET_NCSI=y +CONFIG_NET_NSH=m CONFIG_NET_NS=y CONFIG_NET_PACKET_ENGINE=y CONFIG_NET_PKTGEN=m @@ -3623,6 +3648,7 @@ CONFIG_NET_VENDOR_EMULEX=y # CONFIG_NET_VENDOR_FUJITSU is not set # CONFIG_NET_VENDOR_HISILICON is not set # CONFIG_NET_VENDOR_HP is not set +# CONFIG_NET_VENDOR_HUAWEI is not set # CONFIG_NET_VENDOR_I825XX is not set CONFIG_NET_VENDOR_INTEL=y CONFIG_NET_VENDOR_MARVELL=y @@ -3645,6 +3671,7 @@ CONFIG_NET_VENDOR_ROCKER=y CONFIG_NET_VENDOR_SILAN=y CONFIG_NET_VENDOR_SIS=y CONFIG_NET_VENDOR_SMSC=y +# CONFIG_NET_VENDOR_SNI is not set # CONFIG_NET_VENDOR_SOLARFLARE is not set CONFIG_NET_VENDOR_STMICRO=y # CONFIG_NET_VENDOR_SUN is not set @@ -3781,6 +3808,7 @@ CONFIG_NFT_EXTHDR=m CONFIG_NFT_FIB_INET=m CONFIG_NFT_FIB_IPV4=m CONFIG_NFT_FIB_IPV6=m +CONFIG_NFT_FIB_NETDEV=m CONFIG_NFT_FWD_NETDEV=m CONFIG_NFT_HASH=m CONFIG_NFT_LIMIT=m @@ -3917,7 +3945,6 @@ CONFIG_OF_RESOLVE=y # CONFIG_OF_UNITTEST is not set CONFIG_OF=y CONFIG_OLD_BELKIN_DONGLE=m -# CONFIG_OMAP2_DSS_DEBUG is not set # CONFIG_OMAP3_THERMAL is not set # CONFIG_OMAP_GPMC_DEBUG is not set # CONFIG_OMFS_FS is not set @@ -3955,14 +3982,8 @@ CONFIG_PARAVIRT_TIME_ACCOUNTING=y CONFIG_PARAVIRT=y # CONFIG_PARIDE is not set CONFIG_PARMAN=m -CONFIG_PARPORT_1284=y -# CONFIG_PARPORT_AX88796 is not set # CONFIG_PARPORT is not set -# CONFIG_PARPORT_PC_FIFO is not set -CONFIG_PARPORT_PC=m -CONFIG_PARPORT_PC_PCMCIA=m -# CONFIG_PARPORT_PC_SUPERIO is not set -CONFIG_PARPORT_SERIAL=m +# CONFIG_PARPORT_PC is not set CONFIG_PARTITION_ADVANCED=y CONFIG_PATA_ACPI=m CONFIG_PATA_ALI=m @@ -3995,7 +4016,6 @@ CONFIG_PATA_NETCELL=m CONFIG_PATA_NINJA32=m CONFIG_PATA_NS87410=m CONFIG_PATA_NS87415=m -CONFIG_PATA_OF_PLATFORM=m CONFIG_PATA_OLDPIIX=m CONFIG_PATA_OPTIDMA=m CONFIG_PATA_OPTI=m @@ -4033,6 +4053,7 @@ CONFIG_PCIEAER=y # CONFIG_PCIEASPM_DEBUG is not set CONFIG_PCIEASPM=y CONFIG_PCIE_DPC=y +# CONFIG_PCIE_DW_HOST_ECAM is not set CONFIG_PCIE_DW_HOST=y # CONFIG_PCIE_DW_PLAT is not set CONFIG_PCIE_DW=y @@ -4095,8 +4116,10 @@ CONFIG_PHY_EXYNOS_DP_VIDEO=m CONFIG_PHY_EXYNOS_MIPI_VIDEO=m CONFIG_PHY_EXYNOS_PCIE=y CONFIG_PHYLIB=y +CONFIG_PHYLINK=m CONFIG_PHY_MESON8B_USB2=m # CONFIG_PHY_MESON_GXL_USB2 is not set +# CONFIG_PHY_MVEBU_CP110_COMPHY is not set CONFIG_PHY_MVEBU_SATA=y # CONFIG_PHY_PXA_28NM_HSIC is not set # CONFIG_PHY_PXA_28NM_USB2 is not set @@ -4116,6 +4139,7 @@ CONFIG_PHY_SUN4I_USB=m CONFIG_PHY_SUN9I_USB=m CONFIG_PHY_TEGRA_XUSB=m # CONFIG_PHY_TUSB1210 is not set +# CONFIG_PI433 is not set # CONFIG_PID_IN_CONTEXTIDR is not set CONFIG_PID_NS=y CONFIG_PINCONF=y @@ -4124,13 +4148,11 @@ CONFIG_PINCTRL_ARMADA_370=y CONFIG_PINCTRL_ARMADA_XP=y CONFIG_PINCTRL_AS3722=y # CONFIG_PINCTRL_BAYTRAIL is not set -# CONFIG_PINCTRL_BCM281XX is not set # CONFIG_PINCTRL_BROXTON is not set # CONFIG_PINCTRL_CANNONLAKE is not set # CONFIG_PINCTRL_CHERRYVIEW is not set CONFIG_PINCTRL_DOVE=y # CONFIG_PINCTRL_GEMINILAKE is not set -# CONFIG_PINCTRL_IMX35 is not set # CONFIG_PINCTRL_IPQ4019 is not set # CONFIG_PINCTRL_IPQ8064 is not set # CONFIG_PINCTRL_IPQ8074 is not set @@ -4139,8 +4161,11 @@ CONFIG_PINCTRL_DOVE=y # CONFIG_PINCTRL_MSM8994 is not set # CONFIG_PINCTRL_MSM8996 is not set CONFIG_PINCTRL_MVEBU=y +CONFIG_PINCTRL_RK805=m CONFIG_PINCTRL_SAMSUNG=y CONFIG_PINCTRL_SINGLE=y +# CONFIG_PINCTRL_SPRD is not set +# CONFIG_PINCTRL_SPRD_SC9860 is not set # CONFIG_PINCTRL_SUNRISEPOINT is not set # CONFIG_PINCTRL_SX150X is not set CONFIG_PINCTRL=y @@ -4212,7 +4237,6 @@ CONFIG_PPP_SYNC_TTY=m CONFIG_PPS_CLIENT_GPIO=m # CONFIG_PPS_CLIENT_KTIMER is not set CONFIG_PPS_CLIENT_LDISC=m -CONFIG_PPS_CLIENT_PARPORT=m # CONFIG_PPS_DEBUG is not set CONFIG_PPS_GENERATOR_PARPORT=m CONFIG_PPS=m @@ -4256,6 +4280,7 @@ CONFIG_PWM_SAMSUNG=m CONFIG_PWM_SUN4I=m CONFIG_PWM_SYSFS=y CONFIG_PWM_TEGRA=m +CONFIG_PWM_TIECAP=m CONFIG_PWM=y CONFIG_PWRSEQ_EMMC=y CONFIG_PWRSEQ_SD8787=m @@ -4265,6 +4290,7 @@ CONFIG_PWRSEQ_SIMPLE=y # CONFIG_QCA7000_UART is not set # CONFIG_QCOM_EBI2 is not set # CONFIG_QCOM_EMAC is not set +# CONFIG_QCOM_GLINK_SSR is not set # CONFIG_QCOM_HIDMA is not set # CONFIG_QCOM_HIDMA_MGMT is not set CONFIG_QCOM_PM8XXX_XOADC=m @@ -4298,6 +4324,7 @@ CONFIG_R8169=m CONFIG_R8188EU=m CONFIG_R8712U=m CONFIG_R8723AU=m # Jes Sorensen maintains this (rhbz 1100162) +CONFIG_R8822BE=m CONFIG_RADIO_ADAPTERS=y CONFIG_RADIO_AZTECH=m CONFIG_RADIO_CADET=m @@ -4319,7 +4346,6 @@ CONFIG_RADIO_TERRATEC=m CONFIG_RADIO_TRUST=m CONFIG_RADIO_TYPHOON=m CONFIG_RADIO_WL1273=m -CONFIG_RADIO_WL128X=m CONFIG_RADIO_ZOLTRIX=m CONFIG_RAID_ATTRS=m # CONFIG_RANDOM32_SELFTEST is not set @@ -4375,6 +4401,7 @@ CONFIG_REGULATOR_AD5398=m # CONFIG_REGULATOR_ANATOP is not set CONFIG_REGULATOR_AS3722=m CONFIG_REGULATOR_AXP20X=m +CONFIG_REGULATOR_BD9571MWV=m CONFIG_REGULATOR_DA9210=m CONFIG_REGULATOR_DA9211=m # CONFIG_REGULATOR_DEBUG is not set @@ -4434,8 +4461,10 @@ CONFIG_REISERFS_PROC_INFO=y CONFIG_RELAY=y # CONFIG_RELOCATABLE_TEST is not set CONFIG_REMOTEPROC=m +CONFIG_RESET_ATTACK_MITIGATION=y CONFIG_RESET_CONTROLLER=y CONFIG_RESET_GPIO=y +# CONFIG_RESET_HSDK_V1 is not set # CONFIG_RESET_TI_SCI is not set # CONFIG_RESET_TI_SYSCON is not set # CONFIG_RFD_FTL is not set @@ -4456,6 +4485,7 @@ CONFIG_RMI4_F55=y CONFIG_RMI4_I2C=m CONFIG_RMI4_SMB=m CONFIG_RMI4_SPI=m +# CONFIG_RMNET is not set CONFIG_ROCKCHIP_ANALOGIX_DP=y CONFIG_ROCKCHIP_CDN_DP=y CONFIG_ROCKCHIP_DW_HDMI=y @@ -4465,6 +4495,7 @@ CONFIG_ROCKCHIP_INNO_HDMI=y CONFIG_ROCKCHIP_IODOMAIN=m CONFIG_ROCKCHIP_IOMMU=y CONFIG_ROCKCHIP_MBOX=y +CONFIG_ROCKCHIP_PHY=m CONFIG_ROCKCHIP_PM_DOMAINS=y CONFIG_ROCKCHIP_SARADC=m CONFIG_ROCKCHIP_THERMAL=m @@ -4475,6 +4506,7 @@ CONFIG_ROSE=m CONFIG_RPCSEC_GSS_KRB5=m # CONFIG_RPMSG_CHAR is not set # CONFIG_RPMSG_QCOM_GLINK_RPM is not set +# CONFIG_RPMSG_QCOM_GLINK_SMEM is not set CONFIG_RPR0521=m CONFIG_RSI_91X=m CONFIG_RSI_DEBUGFS=y @@ -4857,6 +4889,7 @@ CONFIG_SENSORS_HDAPS=m # CONFIG_SENSORS_HMC5843_SPI is not set # CONFIG_SENSORS_I5K_AMB is not set CONFIG_SENSORS_IBMAEM=m +# CONFIG_SENSORS_IBM_CFFPS is not set CONFIG_SENSORS_IBMPEX=m CONFIG_SENSORS_IIO_HWMON=m CONFIG_SENSORS_INA209=m @@ -4947,6 +4980,7 @@ CONFIG_SENSORS_TMP108=m CONFIG_SENSORS_TMP401=m CONFIG_SENSORS_TMP421=m CONFIG_SENSORS_TPS40422=m +CONFIG_SENSORS_TPS53679=m CONFIG_SENSORS_TSL2550=m # CONFIG_SENSORS_TSL2563 is not set CONFIG_SENSORS_UCD9000=m @@ -5037,6 +5071,7 @@ CONFIG_SERIO_AMBAKMI=m # CONFIG_SERIO_APBPS2 is not set CONFIG_SERIO_ARC_PS2=m # CONFIG_SERIO_CT82C710 is not set +# CONFIG_SERIO_GPIO_PS2 is not set CONFIG_SERIO_I8042=y CONFIG_SERIO_LIBPS2=y # CONFIG_SERIO_OLPC_APSP is not set @@ -5050,6 +5085,7 @@ CONFIG_SERIO=y CONFIG_SFC_FALCON=m CONFIG_SFC_FALCON_MTD=y # CONFIG_SFC is not set +CONFIG_SFP=m # CONFIG_SGI_IOC4 is not set CONFIG_SGI_PARTITION=y CONFIG_SH_ETH=m @@ -5068,6 +5104,7 @@ CONFIG_SKGE_GENESIS=y CONFIG_SKGE=m # CONFIG_SKY2_DEBUG is not set CONFIG_SKY2=m +CONFIG_SLAB_FREELIST_HARDENED=y CONFIG_SLAB_FREELIST_RANDOM=y CONFIG_SLAB_MERGE_DEFAULT=y # CONFIG_SLICOSS is not set @@ -5180,7 +5217,7 @@ CONFIG_SND_HDA_INPUT_BEEP_MODE=0 CONFIG_SND_HDA_INPUT_BEEP=y CONFIG_SND_HDA_INTEL=m CONFIG_SND_HDA_PATCH_LOADER=y -CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0 +CONFIG_SND_HDA_POWER_SAVE_DEFAULT=1 CONFIG_SND_HDA_POWER_SAVE=y CONFIG_SND_HDA_PREALLOC_SIZE=4096 CONFIG_SND_HDA_RECONFIG=y @@ -5277,6 +5314,7 @@ CONFIG_SND_SOC_CS42L42=m # CONFIG_SND_SOC_CS42L56 is not set # CONFIG_SND_SOC_CS42L73 is not set # CONFIG_SND_SOC_CS42XX8_I2C is not set +CONFIG_SND_SOC_CS43130=m # CONFIG_SND_SOC_CS4349 is not set # CONFIG_SND_SOC_CS53L30 is not set CONFIG_SND_SOC_DIO2125=m @@ -5349,7 +5387,7 @@ CONFIG_SND_SOC_SPDIF=m # CONFIG_SND_SOC_TAS571X is not set # CONFIG_SND_SOC_TAS5720 is not set # CONFIG_SND_SOC_TEGRA20_AC97 is not set -# CONFIG_SND_SOC_TEGRA20_DAS is not set +CONFIG_SND_SOC_TEGRA20_DAS=m CONFIG_SND_SOC_TEGRA20_I2S=m # CONFIG_SND_SOC_TEGRA20_SPDIF is not set CONFIG_SND_SOC_TEGRA30_AHUB=m @@ -5373,6 +5411,7 @@ CONFIG_SND_SOC_TPA6130A2=m CONFIG_SND_SOC_TS3A227E=m # CONFIG_SND_SOC_WM8510 is not set # CONFIG_SND_SOC_WM8523 is not set +CONFIG_SND_SOC_WM8524=m # CONFIG_SND_SOC_WM8580 is not set # CONFIG_SND_SOC_WM8711 is not set # CONFIG_SND_SOC_WM8728 is not set @@ -5504,6 +5543,7 @@ CONFIG_SQUASHFS=m CONFIG_SQUASHFS_XATTR=y CONFIG_SQUASHFS_XZ=y CONFIG_SQUASHFS_ZLIB=y +CONFIG_SQUASHFS_ZSTD=y CONFIG_SRAM=y # CONFIG_SRF04 is not set # CONFIG_SRF08 is not set @@ -5539,8 +5579,10 @@ CONFIG_STMMAC_PLATFORM=m CONFIG_STRICT_DEVMEM=y CONFIG_STRICT_KERNEL_RWX=y CONFIG_STRICT_MODULE_RWX=y +# CONFIG_STRING_SELFTEST is not set CONFIG_STRIP_ASM_SYMS=y # CONFIG_STRIP is not set +CONFIG_SUN4I_A10_CCU=y CONFIG_SUN4I_EMAC=m CONFIG_SUN4I_GPADC=m CONFIG_SUN5I_CCU=y @@ -5550,6 +5592,7 @@ CONFIG_SUN8I_A33_CCU=y CONFIG_SUN8I_A83T_CCU=y CONFIG_SUN8I_DE2_CCU=y CONFIG_SUN8I_H3_CCU=y +CONFIG_SUN8I_R40_CCU=y CONFIG_SUN8I_R_CCU=y CONFIG_SUN8I_V3S_CCU=y CONFIG_SUN9I_A80_CCU=y @@ -5731,14 +5774,15 @@ CONFIG_TIGON3=m CONFIG_TI_MESSAGE_MANAGER=m CONFIG_TINYDRM_MI0283QT=m CONFIG_TINYDRM_MIPI_DBI=m +# CONFIG_TINYDRM_REPAPER is not set +# CONFIG_TINYDRM_ST7586 is not set CONFIG_TIPC=m # CONFIG_TIPC_MEDIA_IB is not set CONFIG_TIPC_MEDIA_UDP=y # CONFIG_TI_SCI_CLK is not set CONFIG_TI_SCI_PROTOCOL=m CONFIG_TI_SOC_THERMAL=m -CONFIG_TI_ST=m -CONFIG_TI_SYSCON_RESET=m +# CONFIG_TI_ST is not set CONFIG_TI_THERMAL=y # CONFIG_TI_TLC4541 is not set # CONFIG_TLAN is not set @@ -5913,8 +5957,10 @@ CONFIG_USB_BELKIN=y CONFIG_USB_CATC=m CONFIG_USB_CDC_PHONET=m CONFIG_USB_CHAOSKEY=m -# CONFIG_USB_CHIPIDEA is not set -# CONFIG_USB_CHIPIDEA_ULPI is not set +CONFIG_USB_CHIPIDEA_HOST=y +CONFIG_USB_CHIPIDEA=m +CONFIG_USB_CHIPIDEA_UDC=y +CONFIG_USB_CHIPIDEA_ULPI=y CONFIG_USB_CONFIGFS_ACM=y CONFIG_USB_CONFIGFS_ECM_SUBSET=y CONFIG_USB_CONFIGFS_ECM=y @@ -6066,7 +6112,6 @@ CONFIG_USB_KEENE=m CONFIG_USB_LAN78XX=m CONFIG_USB_LCD=m CONFIG_USB_LD=m -CONFIG_USB_LED=m CONFIG_USB_LEDS_TRIGGER_USBPORT=m CONFIG_USB_LED_TRIG=y CONFIG_USB_LEGOTOWER=m @@ -6181,7 +6226,6 @@ CONFIG_USB_SERIAL_KLSI=m CONFIG_USB_SERIAL_KOBIL_SCT=m CONFIG_USB_SERIAL_MCT_U232=m # CONFIG_USB_SERIAL_METRO is not set -CONFIG_USB_SERIAL_MOS7715_PARPORT=y CONFIG_USB_SERIAL_MOS7720=m CONFIG_USB_SERIAL_MOS7840=m # CONFIG_USB_SERIAL_MXUPORT is not set @@ -6366,6 +6410,7 @@ CONFIG_VIDEO_HEXIUM_ORION=m CONFIG_VIDEO_IVTV=m # CONFIG_VIDEO_M5MOLS is not set # CONFIG_VIDEO_MEM2MEM_DEINTERLACE is not set +CONFIG_VIDEO_MESON_AO_CEC=m CONFIG_VIDEO_MEYE=m CONFIG_VIDEO_MUX=m CONFIG_VIDEO_MXB=m @@ -6375,7 +6420,6 @@ CONFIG_VIDEO_NOON010PC30=m CONFIG_VIDEO_PVRUSB2_DVB=y CONFIG_VIDEO_PVRUSB2=m CONFIG_VIDEO_PVRUSB2_SYSFS=y -# CONFIG_VIDEO_RENESAS_VSP1 is not set CONFIG_VIDEO_S5P_FIMC=m CONFIG_VIDEO_S5P_MIPI_CSIS=m CONFIG_VIDEO_SAA6588=m @@ -6481,6 +6525,7 @@ CONFIG_W1_SLAVE_DS2438=m CONFIG_W1_SLAVE_DS2760=m CONFIG_W1_SLAVE_DS2780=m CONFIG_W1_SLAVE_DS2781=m +CONFIG_W1_SLAVE_DS2805=m CONFIG_W1_SLAVE_DS28E04=m CONFIG_W1_SLAVE_SMEM=m CONFIG_W1_SLAVE_THERM=m @@ -6500,6 +6545,7 @@ CONFIG_WATCHDOG=y CONFIG_WCN36XX=m CONFIG_WDAT_WDT=m CONFIG_WDTPCI=m +CONFIG_WIL6210_DEBUGFS=y CONFIG_WIL6210_ISR_COR=y CONFIG_WIL6210=m # CONFIG_WIL6210_TRACING is not set @@ -6608,6 +6654,7 @@ CONFIG_ZLIB_DEFLATE=y CONFIG_ZLIB_INFLATE=y # CONFIG_ZPA2326 is not set CONFIG_ZRAM=m +# CONFIG_ZRAM_WRITEBACK is not set # CONFIG_ZSMALLOC_STAT is not set CONFIG_ZSMALLOC=y CONFIG_ZSWAP=y diff --git a/freed-ora/current/f26/kernel-armv7hl-lpae.config b/freed-ora/current/f26/kernel-armv7hl-lpae.config index 2ec2d7b26..c9048e3bf 100644 --- a/freed-ora/current/f26/kernel-armv7hl-lpae.config +++ b/freed-ora/current/f26/kernel-armv7hl-lpae.config @@ -154,7 +154,9 @@ CONFIG_AK8975=m CONFIG_ALI_FIR=m CONFIG_ALIM1535_WDT=m CONFIG_ALIM7101_WDT=m +CONFIG_ALLOW_LOCKDOWN_LIFT_BY_SYSRQ=y # CONFIG_ALTERA_MBOX is not set +CONFIG_ALTERA_MSGDMA=m CONFIG_ALTERA_STAPL=m CONFIG_ALTERA_TSE=m CONFIG_ALX=m @@ -189,6 +191,7 @@ CONFIG_ARCH_BCM2835=y # CONFIG_ARCH_BCM_53573 is not set # CONFIG_ARCH_BCM_63XX is not set # CONFIG_ARCH_BCM_CYGNUS is not set +# CONFIG_ARCH_BCM_IPROC is not set # CONFIG_ARCH_BCM_NSP is not set CONFIG_ARCH_BCM=y # CONFIG_ARCH_BERLIN is not set @@ -346,6 +349,7 @@ CONFIG_ATH10K=m CONFIG_ATH10K_PCI=m CONFIG_ATH10K_SDIO=m # CONFIG_ATH10K_TRACING is not set +CONFIG_ATH10K_USB=m CONFIG_ATH5K_DEBUG=y CONFIG_ATH5K=m # CONFIG_ATH5K_TRACER is not set @@ -489,6 +493,7 @@ CONFIG_BATTERY_AXP20X=m # CONFIG_BATTERY_LEGO_EV3 is not set # CONFIG_BATTERY_MAX17040 is not set # CONFIG_BATTERY_MAX17042 is not set +# CONFIG_BATTERY_MAX1721X is not set CONFIG_BATTERY_SBS=m CONFIG_BAYCOM_EPP=m CONFIG_BAYCOM_PAR=m @@ -536,7 +541,6 @@ CONFIG_BINFMT_MISC=m CONFIG_BINFMT_SCRIPT=y CONFIG_BLK_CGROUP=y # CONFIG_BLK_CMDLINE_PARSER is not set -CONFIG_BLK_CPQ_CISS_DA=m CONFIG_BLK_DEBUG_FS=y # CONFIG_BLK_DEV_3W_XXXX_RAID is not set CONFIG_BLK_DEV_BSGLIB=y @@ -572,7 +576,6 @@ CONFIG_BLK_DEV_SR=y CONFIG_BLK_DEV_SX8=m # CONFIG_BLK_DEV_THROTTLING_LOW is not set CONFIG_BLK_DEV_THROTTLING=y -# CONFIG_BLK_DEV_UB is not set CONFIG_BLK_DEV_UMEM=m CONFIG_BLK_DEV=y CONFIG_BLK_DEV_ZONED=y @@ -597,6 +600,7 @@ CONFIG_BNX2=m CONFIG_BNX2X=m CONFIG_BNX2X_SRIOV=y CONFIG_BNXT_DCB=y +CONFIG_BNXT_FLOWER_OFFLOAD=y CONFIG_BNXT=m CONFIG_BNXT_SRIOV=y CONFIG_BONDING=m @@ -607,6 +611,7 @@ CONFIG_BONDING=m CONFIG_BOOT_PRINTK_DELAY=y CONFIG_BOUNCE=y CONFIG_BPF_JIT=y +CONFIG_BPF_STREAM_PARSER=y CONFIG_BPF_SYSCALL=y CONFIG_BPQETHER=m # CONFIG_BRCMDBG is not set @@ -695,7 +700,6 @@ CONFIG_BT_RFCOMM_TTY=y CONFIG_BTRFS_FS=m CONFIG_BTRFS_FS_POSIX_ACL=y # CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set -CONFIG_BT_SCO=y # CONFIG_BT_SELFTEST is not set # CONFIG_BTT is not set CONFIG_BT_WILINK=m @@ -776,11 +780,13 @@ CONFIG_CB710_CORE=m # CONFIG_CB710_DEBUG is not set # CONFIG_CC10001_ADC is not set CONFIG_CC_OPTIMIZE_FOR_SIZE=y +# CONFIG_CCS811 is not set # CONFIG_CC_STACKPROTECTOR is not set CONFIG_CC_STACKPROTECTOR_NONE=y CONFIG_CDROM_PKTCDVD_BUFFERS=8 CONFIG_CDROM_PKTCDVD=m # CONFIG_CDROM_PKTCDVD_WCACHE is not set +CONFIG_CEC_PIN=y CONFIG_CEC_PLATFORM_DRIVERS=y CONFIG_CEPH_FSCACHE=y CONFIG_CEPH_FS=m @@ -826,7 +832,6 @@ CONFIG_CHARGER_MANAGER=y # CONFIG_CHARGER_MAX8903 is not set CONFIG_CHARGER_MAX8997=m # CONFIG_CHARGER_PCF50633 is not set -# CONFIG_CHARGER_QCOM_SMBB is not set # CONFIG_CHARGER_RT9455 is not set # CONFIG_CHARGER_SBS is not set CONFIG_CHARGER_SMB347=m @@ -861,8 +866,8 @@ CONFIG_CIFS_STATS=y CONFIG_CIFS_UPCALL=y CONFIG_CIFS_WEAK_PW_HASH=y CONFIG_CIFS_XATTR=y -CONFIG_CISS_SCSI_TAPE=y CONFIG_CLEANCACHE=y +# CONFIG_CLK_HSDK is not set # CONFIG_CLK_QORIQ is not set CONFIG_CLK_SP810=y CONFIG_CLKSRC_VERSATILE=y @@ -1002,7 +1007,9 @@ CONFIG_CRYPTO_DEV_MV_CESA=m CONFIG_CRYPTO_DEV_NITROX_CNN55XX=m CONFIG_CRYPTO_DEV_ROCKCHIP=m CONFIG_CRYPTO_DEV_S5P=m +# CONFIG_CRYPTO_DEV_SP_CCP is not set CONFIG_CRYPTO_DEV_SUN4I_SS=m +CONFIG_CRYPTO_DEV_SUN4I_SS_PRNG=y CONFIG_CRYPTO_DEV_VIRTIO=m CONFIG_CRYPTO_DH=y CONFIG_CRYPTO_DRBG_CTR=y @@ -1049,7 +1056,7 @@ CONFIG_CRYPTO_SERPENT=m CONFIG_CRYPTO_SHA1_ARM_NEON=y CONFIG_CRYPTO_SHA1_ARM=y CONFIG_CRYPTO_SHA1=y -CONFIG_CRYPTO_SHA256_ARM64=m +CONFIG_CRYPTO_SHA256_ARM64=y CONFIG_CRYPTO_SHA256_ARM=y CONFIG_CRYPTO_SHA256=y # CONFIG_CRYPTO_SHA2_ARM_CE is not set @@ -1258,6 +1265,7 @@ CONFIG_DRM_CIRRUS_QEMU=m CONFIG_DRM_DP_AUX_CHARDEV=y CONFIG_DRM_DUMB_VGA_DAC=m CONFIG_DRM_DW_HDMI_AHB_AUDIO=m +CONFIG_DRM_DW_HDMI_CEC=m CONFIG_DRM_DW_HDMI_I2S_AUDIO=m CONFIG_DRM_DW_HDMI=m CONFIG_DRM_EXYNOS5433_DECON=y @@ -1333,6 +1341,7 @@ CONFIG_DRM_SIL_SII8620=m CONFIG_DRM_STI=m # CONFIG_DRM_STM is not set CONFIG_DRM_SUN4I_BACKEND=m +# CONFIG_DRM_SUN4I_HDMI_CEC is not set CONFIG_DRM_SUN4I_HDMI=m CONFIG_DRM_SUN4I=m CONFIG_DRM_SUN8I_MIXER=m @@ -1346,6 +1355,7 @@ CONFIG_DRM_TI_TFP410=m CONFIG_DRM_TOSHIBA_TC358767=m CONFIG_DRM_UDL=m # CONFIG_DRM_VBOXVIDEO is not set +CONFIG_DRM_VC4_HDMI_CEC=y CONFIG_DRM_VC4=m CONFIG_DRM_VGEM=m CONFIG_DRM_VIA=m @@ -1377,6 +1387,7 @@ CONFIG_DVB_BUDGET_PATCH=m CONFIG_DVB_CORE=m # CONFIG_DVB_CXD2099 is not set CONFIG_DVB_DDBRIDGE=m +# CONFIG_DVB_DDBRIDGE_MSIENABLE is not set # CONFIG_DVB_DEMUX_SECTION_LOSS_LOG is not set CONFIG_DVB_DM1105=m CONFIG_DVB_DYNAMIC_MINORS=y @@ -1455,7 +1466,7 @@ CONFIG_E1000E=m CONFIG_E1000=m CONFIG_E100=m CONFIG_EARLY_PRINTK_DBGP=y -# CONFIG_EARLY_PRINTK_USB_XDBC is not set +CONFIG_EARLY_PRINTK_USB_XDBC=y CONFIG_EARLY_PRINTK=y # CONFIG_EBC_C384_WDT is not set CONFIG_ECHO=m @@ -1509,7 +1520,6 @@ CONFIG_ETHOC=m # CONFIG_EVM is not set # CONFIG_EXOFS_DEBUG is not set # CONFIG_EXOFS_FS is not set -CONFIG_EXPERIMENTAL=y # CONFIG_EXPERT is not set CONFIG_EXPORTFS=y # CONFIG_EXT2_FS is not set @@ -1528,6 +1538,7 @@ CONFIG_EXTCON_MAX8997=m # CONFIG_EXTCON_QCOM_SPMI_MISC is not set # CONFIG_EXTCON_RT8973A is not set # CONFIG_EXTCON_SM5502 is not set +CONFIG_EXTCON_USBC_CROS_EC=m CONFIG_EXTCON_USB_GPIO=m CONFIG_EXTCON=y CONFIG_EXTRA_FIRMWARE="" @@ -1738,6 +1749,7 @@ CONFIG_GPIO_74X164=m # CONFIG_GPIO_ALTERA is not set # CONFIG_GPIO_AMDPT is not set CONFIG_GPIO_AXP209=m +CONFIG_GPIO_BD9571MWV=m # CONFIG_GPIO_BT8XX is not set CONFIG_GPIO_DAVINCI=y CONFIG_GPIO_DEVRES=y @@ -1747,7 +1759,7 @@ CONFIG_GPIO_EXAR=m CONFIG_GPIO_GENERIC_PLATFORM=y CONFIG_GPIO_GENERIC=y # CONFIG_GPIO_GRGPIO is not set -CONFIG_GPIO_IT87=m +# CONFIG_GPIO_IT87 is not set CONFIG_GPIOLIB=y # CONFIG_GPIO_MAX7300 is not set CONFIG_GPIO_MAX7301=m @@ -1773,6 +1785,7 @@ CONFIG_GPIO_TEGRA=y # CONFIG_GPIO_TPIC2810 is not set CONFIG_GPIO_TPS65910=y CONFIG_GPIO_TPS65912=m +CONFIG_GPIO_TPS68470=y # CONFIG_GPIO_TS4900 is not set # CONFIG_GPIO_TS5500 is not set CONFIG_GPIO_VIPERBOARD=m @@ -1823,7 +1836,7 @@ CONFIG_HID_CHERRY=m CONFIG_HID_CHICONY=m CONFIG_HID_CMEDIA=m CONFIG_HID_CORSAIR=m -# CONFIG_HID_CP2112 is not set +CONFIG_HID_CP2112=m CONFIG_HID_CYPRESS=m CONFIG_HID_DRAGONRISE=m CONFIG_HID_ELECOM=m @@ -1982,6 +1995,7 @@ CONFIG_HWMON=y CONFIG_HW_PERF_EVENTS=y CONFIG_HWPOISON_INJECT=m CONFIG_HW_RANDOM_BCM2835=m +CONFIG_HW_RANDOM_IMX_RNGC=m CONFIG_HW_RANDOM_MESON=m CONFIG_HW_RANDOM_OMAP=m CONFIG_HW_RANDOM_TIMERIOMEM=m @@ -2016,10 +2030,10 @@ CONFIG_I2C_CROS_EC_TUNNEL=m # CONFIG_I2C_DEBUG_BUS is not set # CONFIG_I2C_DEBUG_CORE is not set # CONFIG_I2C_DEMUX_PINCTRL is not set -CONFIG_I2C_DESIGNWARE_CORE=m +CONFIG_I2C_DESIGNWARE_CORE=y # CONFIG_I2C_DESIGNWARE is not set CONFIG_I2C_DESIGNWARE_PCI=m -CONFIG_I2C_DESIGNWARE_PLATFORM=m +CONFIG_I2C_DESIGNWARE_PLATFORM=y CONFIG_I2C_DESIGNWARE_SLAVE=y CONFIG_I2C_DIOLAN_U2C=m # CONFIG_I2C_EG20T is not set @@ -2046,8 +2060,7 @@ CONFIG_I2C_NFORCE2=m # CONFIG_I2C_NFORCE2_S4985 is not set # CONFIG_I2C_NOMADIK is not set # CONFIG_I2C_OCORES is not set -CONFIG_I2C_PARPORT_LIGHT=m -CONFIG_I2C_PARPORT=m +# CONFIG_I2C_PARPORT_LIGHT is not set CONFIG_I2C_PCA_PLATFORM=m # CONFIG_I2C_PIIX4 is not set CONFIG_I2C_PXA=m @@ -2171,6 +2184,7 @@ CONFIG_INET=y # CONFIG_INFINIBAND_CXGB3_DEBUG is not set # CONFIG_INFINIBAND_CXGB3 is not set # CONFIG_INFINIBAND_CXGB4 is not set +# CONFIG_INFINIBAND_EXP_USER_ACCESS is not set # CONFIG_INFINIBAND_I40IW is not set # CONFIG_INFINIBAND_IPOIB_CM is not set # CONFIG_INFINIBAND_IPOIB_DEBUG_DATA is not set @@ -2197,7 +2211,6 @@ CONFIG_INET=y # CONFIG_INFTL is not set CONFIG_INITRAMFS_SOURCE="" CONFIG_INOTIFY_USER=y -CONFIG_INOTIFY=y # CONFIG_INPUT_AD714X is not set # CONFIG_INPUT_ADXL34X is not set CONFIG_INPUT_APANEL=m @@ -2250,8 +2263,10 @@ CONFIG_INPUT_PMIC8XXX_PWRKEY=m CONFIG_INPUT_POLLDEV=m CONFIG_INPUT_POWERMATE=m CONFIG_INPUT_PWM_BEEPER=m +# CONFIG_INPUT_PWM_VIBRA is not set # CONFIG_INPUT_REGULATOR_HAPTIC is not set CONFIG_INPUT_RETU_PWRBUTTON=m +CONFIG_INPUT_RK805_PWRKEY=m CONFIG_INPUT_SOC_BUTTON_ARRAY=m CONFIG_INPUT_SPARSEKMAP=m CONFIG_INPUT_TABLET=y @@ -2271,6 +2286,7 @@ CONFIG_INTEL_XWAY_PHY=m # CONFIG_INV_MPU6050_I2C is not set # CONFIG_INV_MPU6050_IIO is not set # CONFIG_INV_MPU6050_SPI is not set +CONFIG_IOMMU_DMA=y # CONFIG_IOMMU_IO_PGTABLE_ARMV7S is not set # CONFIG_IOMMU_IO_PGTABLE_LPAE_SELFTEST is not set CONFIG_IOMMU_IO_PGTABLE_LPAE=y @@ -2434,6 +2450,7 @@ CONFIG_IRDA=m CONFIG_IR_ENE=m CONFIG_IR_FINTEK=m CONFIG_IR_GPIO_CIR=m +CONFIG_IR_GPIO_TX=m CONFIG_IR_HIX5HD2=m CONFIG_IR_IGORPLUGUSB=m CONFIG_IR_IGUANA=m @@ -2449,6 +2466,7 @@ CONFIG_IR_MESON=m CONFIG_IR_NEC_DECODER=m CONFIG_IRNET=m CONFIG_IR_NUVOTON=m +CONFIG_IR_PWM_TX=m CONFIG_IRQ_CROSSBAR=y # CONFIG_IRQ_DOMAIN_DEBUG is not set # CONFIG_IRQSOFF_TRACER is not set @@ -2696,6 +2714,7 @@ CONFIG_LCD_VGG2432A4=m # CONFIG_LDM_DEBUG is not set CONFIG_LDM_PARTITION=y # CONFIG_LEDS_AAT1290 is not set +CONFIG_LEDS_AS3645A=m # CONFIG_LEDS_BCM6328 is not set # CONFIG_LEDS_BCM6358 is not set # CONFIG_LEDS_BD2802 is not set @@ -2796,6 +2815,7 @@ CONFIG_LMP91000=m CONFIG_LOCALVERSION="" # CONFIG_LOCALVERSION_AUTO is not set CONFIG_LOCKD=m +# CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT is not set # CONFIG_LOCK_DOWN_KERNEL is not set CONFIG_LOCKD_V4=y # CONFIG_LOCK_STAT is not set @@ -2821,6 +2841,7 @@ CONFIG_LPFC_NVME_INITIATOR=y CONFIG_LPFC_NVME_TARGET=y CONFIG_LSI_ET1011C_PHY=m CONFIG_LSM_MMAP_MIN_ADDR=32768 +# CONFIG_LTC2471 is not set # CONFIG_LTC2485 is not set # CONFIG_LTC2497 is not set # CONFIG_LTC2632 is not set @@ -2914,6 +2935,7 @@ CONFIG_MDIO_BUS_MUX=m CONFIG_MDIO_BUS_MUX_MMIOREG=m CONFIG_MDIO_GPIO=m # CONFIG_MDIO_HISI_FEMAC is not set +CONFIG_MDIO_I2C=m # CONFIG_MDIO_OCTEON is not set CONFIG_MDIO_SUN4I=m # CONFIG_MDIO_THUNDER is not set @@ -2965,6 +2987,7 @@ CONFIG_MEMSTICK_TIFM_MS=m CONFIG_MESON_EFUSE=m # CONFIG_MESON_GXBB_WATCHDOG is not set # CONFIG_MESON_GXL_PHY is not set +CONFIG_MESON_GX_SOCINFO=y CONFIG_MESON_SARADC=m CONFIG_MESON_SM=y CONFIG_MESON_WATCHDOG=m @@ -2987,6 +3010,7 @@ CONFIG_MFD_AXP20X_I2C=y CONFIG_MFD_AXP20X_RSB=m CONFIG_MFD_AXP20X=y # CONFIG_MFD_BCM590XX is not set +CONFIG_MFD_BD9571MWV=m CONFIG_MFD_CORE=y # CONFIG_MFD_CPCAP is not set CONFIG_MFD_CROS_EC_I2C=m @@ -3038,7 +3062,6 @@ CONFIG_MFD_SEC_CORE=y CONFIG_MFD_SM501_GPIO=y CONFIG_MFD_SM501=m # CONFIG_MFD_SMSC is not set -CONFIG_MFD_SPMI_PMIC=m # CONFIG_MFD_STMPE is not set CONFIG_MFD_SUN4I_GPADC=m CONFIG_MFD_SYSCON=y @@ -3060,6 +3083,7 @@ CONFIG_MFD_TPS65910=y CONFIG_MFD_TPS65912_I2C=y CONFIG_MFD_TPS65912_SPI=y CONFIG_MFD_TPS65912=y +CONFIG_MFD_TPS68470=y # CONFIG_MFD_TPS80031 is not set CONFIG_MFD_VEXPRESS_SYSREG=y CONFIG_MFD_VIPERBOARD=m @@ -3105,8 +3129,10 @@ CONFIG_MLX5_CORE_EN=y CONFIG_MLX5_CORE_IPOIB=y CONFIG_MLX5_CORE=m # CONFIG_MLX5_EN_IPSEC is not set +CONFIG_MLX5_ESWITCH=y # CONFIG_MLX5_FPGA is not set # CONFIG_MLX5_INFINIBAND is not set +CONFIG_MLX5_MPFS=y # CONFIG_MLX90614 is not set CONFIG_MLX_CPLD_PLATFORM=m CONFIG_MLXFW=m @@ -3129,7 +3155,6 @@ CONFIG_MMA8452=m # CONFIG_MMC35240 is not set CONFIG_MMC_ARMMMCI=m CONFIG_MMC_BCM2835=m -CONFIG_MMC_BLOCK_BOUNCE=y CONFIG_MMC_BLOCK=m CONFIG_MMC_BLOCK_MINORS=8 CONFIG_MMC_CB710=m @@ -3144,7 +3169,6 @@ CONFIG_MMC_DW_ROCKCHIP=m # CONFIG_MMC_MTK is not set CONFIG_MMC_MVSDIO=m CONFIG_MMC_OMAP_HS=m -CONFIG_MMC_QCOM_DML=m CONFIG_MMC_REALTEK_PCI=m CONFIG_MMC_REALTEK_USB=m CONFIG_MMC_RICOH_MMC=y @@ -3532,6 +3556,7 @@ CONFIG_NETLABEL=y CONFIG_NETLINK_DIAG=m CONFIG_NET_MPLS_GSO=m CONFIG_NET_NCSI=y +CONFIG_NET_NSH=m CONFIG_NET_NS=y CONFIG_NET_PACKET_ENGINE=y CONFIG_NET_PKTGEN=m @@ -3602,6 +3627,7 @@ CONFIG_NET_VENDOR_EMULEX=y # CONFIG_NET_VENDOR_FUJITSU is not set # CONFIG_NET_VENDOR_HISILICON is not set # CONFIG_NET_VENDOR_HP is not set +# CONFIG_NET_VENDOR_HUAWEI is not set # CONFIG_NET_VENDOR_I825XX is not set CONFIG_NET_VENDOR_INTEL=y CONFIG_NET_VENDOR_MARVELL=y @@ -3624,6 +3650,7 @@ CONFIG_NET_VENDOR_ROCKER=y CONFIG_NET_VENDOR_SILAN=y CONFIG_NET_VENDOR_SIS=y CONFIG_NET_VENDOR_SMSC=y +# CONFIG_NET_VENDOR_SNI is not set # CONFIG_NET_VENDOR_SOLARFLARE is not set CONFIG_NET_VENDOR_STMICRO=y # CONFIG_NET_VENDOR_SUN is not set @@ -3760,6 +3787,7 @@ CONFIG_NFT_EXTHDR=m CONFIG_NFT_FIB_INET=m CONFIG_NFT_FIB_IPV4=m CONFIG_NFT_FIB_IPV6=m +CONFIG_NFT_FIB_NETDEV=m CONFIG_NFT_FWD_NETDEV=m CONFIG_NFT_HASH=m CONFIG_NFT_LIMIT=m @@ -3896,7 +3924,6 @@ CONFIG_OF_RESOLVE=y # CONFIG_OF_UNITTEST is not set CONFIG_OF=y CONFIG_OLD_BELKIN_DONGLE=m -# CONFIG_OMAP2_DSS_DEBUG is not set # CONFIG_OMAP3_THERMAL is not set # CONFIG_OMAP_GPMC_DEBUG is not set # CONFIG_OMFS_FS is not set @@ -3934,14 +3961,8 @@ CONFIG_PARAVIRT_TIME_ACCOUNTING=y CONFIG_PARAVIRT=y # CONFIG_PARIDE is not set CONFIG_PARMAN=m -CONFIG_PARPORT_1284=y -# CONFIG_PARPORT_AX88796 is not set # CONFIG_PARPORT is not set -# CONFIG_PARPORT_PC_FIFO is not set -CONFIG_PARPORT_PC=m -CONFIG_PARPORT_PC_PCMCIA=m -# CONFIG_PARPORT_PC_SUPERIO is not set -CONFIG_PARPORT_SERIAL=m +# CONFIG_PARPORT_PC is not set CONFIG_PARTITION_ADVANCED=y CONFIG_PATA_ACPI=m CONFIG_PATA_ALI=m @@ -3974,7 +3995,6 @@ CONFIG_PATA_NETCELL=m CONFIG_PATA_NINJA32=m CONFIG_PATA_NS87410=m CONFIG_PATA_NS87415=m -CONFIG_PATA_OF_PLATFORM=m CONFIG_PATA_OLDPIIX=m CONFIG_PATA_OPTIDMA=m CONFIG_PATA_OPTI=m @@ -4012,6 +4032,7 @@ CONFIG_PCIEAER=y # CONFIG_PCIEASPM_DEBUG is not set CONFIG_PCIEASPM=y CONFIG_PCIE_DPC=y +# CONFIG_PCIE_DW_HOST_ECAM is not set CONFIG_PCIE_DW_HOST=y # CONFIG_PCIE_DW_PLAT is not set CONFIG_PCIE_DW=y @@ -4074,8 +4095,10 @@ CONFIG_PHY_EXYNOS_DP_VIDEO=m CONFIG_PHY_EXYNOS_MIPI_VIDEO=m CONFIG_PHY_EXYNOS_PCIE=y CONFIG_PHYLIB=y +CONFIG_PHYLINK=m CONFIG_PHY_MESON8B_USB2=m # CONFIG_PHY_MESON_GXL_USB2 is not set +# CONFIG_PHY_MVEBU_CP110_COMPHY is not set CONFIG_PHY_MVEBU_SATA=y # CONFIG_PHY_PXA_28NM_HSIC is not set # CONFIG_PHY_PXA_28NM_USB2 is not set @@ -4095,6 +4118,7 @@ CONFIG_PHY_SUN4I_USB=m CONFIG_PHY_SUN9I_USB=m CONFIG_PHY_TEGRA_XUSB=m # CONFIG_PHY_TUSB1210 is not set +# CONFIG_PI433 is not set # CONFIG_PID_IN_CONTEXTIDR is not set CONFIG_PID_NS=y CONFIG_PINCONF=y @@ -4103,13 +4127,11 @@ CONFIG_PINCTRL_ARMADA_370=y CONFIG_PINCTRL_ARMADA_XP=y CONFIG_PINCTRL_AS3722=y # CONFIG_PINCTRL_BAYTRAIL is not set -# CONFIG_PINCTRL_BCM281XX is not set # CONFIG_PINCTRL_BROXTON is not set # CONFIG_PINCTRL_CANNONLAKE is not set # CONFIG_PINCTRL_CHERRYVIEW is not set CONFIG_PINCTRL_DOVE=y # CONFIG_PINCTRL_GEMINILAKE is not set -# CONFIG_PINCTRL_IMX35 is not set # CONFIG_PINCTRL_IPQ4019 is not set # CONFIG_PINCTRL_IPQ8064 is not set # CONFIG_PINCTRL_IPQ8074 is not set @@ -4118,8 +4140,11 @@ CONFIG_PINCTRL_DOVE=y # CONFIG_PINCTRL_MSM8994 is not set # CONFIG_PINCTRL_MSM8996 is not set CONFIG_PINCTRL_MVEBU=y +CONFIG_PINCTRL_RK805=m CONFIG_PINCTRL_SAMSUNG=y CONFIG_PINCTRL_SINGLE=y +# CONFIG_PINCTRL_SPRD is not set +# CONFIG_PINCTRL_SPRD_SC9860 is not set # CONFIG_PINCTRL_SUNRISEPOINT is not set # CONFIG_PINCTRL_SX150X is not set CONFIG_PINCTRL=y @@ -4191,7 +4216,6 @@ CONFIG_PPP_SYNC_TTY=m CONFIG_PPS_CLIENT_GPIO=m # CONFIG_PPS_CLIENT_KTIMER is not set CONFIG_PPS_CLIENT_LDISC=m -CONFIG_PPS_CLIENT_PARPORT=m # CONFIG_PPS_DEBUG is not set CONFIG_PPS_GENERATOR_PARPORT=m CONFIG_PPS=m @@ -4234,6 +4258,7 @@ CONFIG_PWM_SAMSUNG=m CONFIG_PWM_SUN4I=m CONFIG_PWM_SYSFS=y CONFIG_PWM_TEGRA=m +CONFIG_PWM_TIECAP=m CONFIG_PWM=y CONFIG_PWRSEQ_EMMC=y CONFIG_PWRSEQ_SD8787=m @@ -4243,6 +4268,7 @@ CONFIG_PWRSEQ_SIMPLE=y # CONFIG_QCA7000_UART is not set # CONFIG_QCOM_EBI2 is not set # CONFIG_QCOM_EMAC is not set +# CONFIG_QCOM_GLINK_SSR is not set # CONFIG_QCOM_HIDMA is not set # CONFIG_QCOM_HIDMA_MGMT is not set CONFIG_QCOM_PM8XXX_XOADC=m @@ -4276,6 +4302,7 @@ CONFIG_R8169=m CONFIG_R8188EU=m CONFIG_R8712U=m CONFIG_R8723AU=m # Jes Sorensen maintains this (rhbz 1100162) +CONFIG_R8822BE=m CONFIG_RADIO_ADAPTERS=y CONFIG_RADIO_AZTECH=m CONFIG_RADIO_CADET=m @@ -4297,7 +4324,6 @@ CONFIG_RADIO_TERRATEC=m CONFIG_RADIO_TRUST=m CONFIG_RADIO_TYPHOON=m CONFIG_RADIO_WL1273=m -CONFIG_RADIO_WL128X=m CONFIG_RADIO_ZOLTRIX=m CONFIG_RAID_ATTRS=m # CONFIG_RANDOM32_SELFTEST is not set @@ -4353,6 +4379,7 @@ CONFIG_REGULATOR_AD5398=m # CONFIG_REGULATOR_ANATOP is not set CONFIG_REGULATOR_AS3722=m CONFIG_REGULATOR_AXP20X=m +CONFIG_REGULATOR_BD9571MWV=m CONFIG_REGULATOR_DA9210=m CONFIG_REGULATOR_DA9211=m # CONFIG_REGULATOR_DEBUG is not set @@ -4412,8 +4439,10 @@ CONFIG_REISERFS_PROC_INFO=y CONFIG_RELAY=y # CONFIG_RELOCATABLE_TEST is not set CONFIG_REMOTEPROC=m +CONFIG_RESET_ATTACK_MITIGATION=y CONFIG_RESET_CONTROLLER=y CONFIG_RESET_GPIO=y +# CONFIG_RESET_HSDK_V1 is not set # CONFIG_RESET_TI_SCI is not set # CONFIG_RESET_TI_SYSCON is not set # CONFIG_RFD_FTL is not set @@ -4434,6 +4463,7 @@ CONFIG_RMI4_F55=y CONFIG_RMI4_I2C=m CONFIG_RMI4_SMB=m CONFIG_RMI4_SPI=m +# CONFIG_RMNET is not set CONFIG_ROCKCHIP_ANALOGIX_DP=y CONFIG_ROCKCHIP_CDN_DP=y CONFIG_ROCKCHIP_DW_HDMI=y @@ -4443,6 +4473,7 @@ CONFIG_ROCKCHIP_INNO_HDMI=y CONFIG_ROCKCHIP_IODOMAIN=m CONFIG_ROCKCHIP_IOMMU=y CONFIG_ROCKCHIP_MBOX=y +CONFIG_ROCKCHIP_PHY=m CONFIG_ROCKCHIP_PM_DOMAINS=y CONFIG_ROCKCHIP_SARADC=m CONFIG_ROCKCHIP_THERMAL=m @@ -4453,6 +4484,7 @@ CONFIG_ROSE=m CONFIG_RPCSEC_GSS_KRB5=m # CONFIG_RPMSG_CHAR is not set # CONFIG_RPMSG_QCOM_GLINK_RPM is not set +# CONFIG_RPMSG_QCOM_GLINK_SMEM is not set CONFIG_RPR0521=m CONFIG_RSI_91X=m CONFIG_RSI_DEBUGFS=y @@ -4835,6 +4867,7 @@ CONFIG_SENSORS_HDAPS=m # CONFIG_SENSORS_HMC5843_SPI is not set # CONFIG_SENSORS_I5K_AMB is not set CONFIG_SENSORS_IBMAEM=m +# CONFIG_SENSORS_IBM_CFFPS is not set CONFIG_SENSORS_IBMPEX=m CONFIG_SENSORS_IIO_HWMON=m CONFIG_SENSORS_INA209=m @@ -4925,6 +4958,7 @@ CONFIG_SENSORS_TMP108=m CONFIG_SENSORS_TMP401=m CONFIG_SENSORS_TMP421=m CONFIG_SENSORS_TPS40422=m +CONFIG_SENSORS_TPS53679=m CONFIG_SENSORS_TSL2550=m # CONFIG_SENSORS_TSL2563 is not set CONFIG_SENSORS_UCD9000=m @@ -5015,6 +5049,7 @@ CONFIG_SERIO_AMBAKMI=m # CONFIG_SERIO_APBPS2 is not set CONFIG_SERIO_ARC_PS2=m # CONFIG_SERIO_CT82C710 is not set +# CONFIG_SERIO_GPIO_PS2 is not set CONFIG_SERIO_I8042=y CONFIG_SERIO_LIBPS2=y # CONFIG_SERIO_OLPC_APSP is not set @@ -5028,6 +5063,7 @@ CONFIG_SERIO=y CONFIG_SFC_FALCON=m CONFIG_SFC_FALCON_MTD=y # CONFIG_SFC is not set +CONFIG_SFP=m # CONFIG_SGI_IOC4 is not set CONFIG_SGI_PARTITION=y CONFIG_SH_ETH=m @@ -5046,6 +5082,7 @@ CONFIG_SKGE_GENESIS=y CONFIG_SKGE=m # CONFIG_SKY2_DEBUG is not set CONFIG_SKY2=m +CONFIG_SLAB_FREELIST_HARDENED=y CONFIG_SLAB_FREELIST_RANDOM=y CONFIG_SLAB_MERGE_DEFAULT=y # CONFIG_SLICOSS is not set @@ -5158,7 +5195,7 @@ CONFIG_SND_HDA_INPUT_BEEP_MODE=0 CONFIG_SND_HDA_INPUT_BEEP=y CONFIG_SND_HDA_INTEL=m CONFIG_SND_HDA_PATCH_LOADER=y -CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0 +CONFIG_SND_HDA_POWER_SAVE_DEFAULT=1 CONFIG_SND_HDA_POWER_SAVE=y CONFIG_SND_HDA_PREALLOC_SIZE=4096 CONFIG_SND_HDA_RECONFIG=y @@ -5254,6 +5291,7 @@ CONFIG_SND_SOC_CS42L42=m # CONFIG_SND_SOC_CS42L56 is not set # CONFIG_SND_SOC_CS42L73 is not set # CONFIG_SND_SOC_CS42XX8_I2C is not set +CONFIG_SND_SOC_CS43130=m # CONFIG_SND_SOC_CS4349 is not set # CONFIG_SND_SOC_CS53L30 is not set CONFIG_SND_SOC_DIO2125=m @@ -5326,7 +5364,7 @@ CONFIG_SND_SOC_SPDIF=m # CONFIG_SND_SOC_TAS571X is not set # CONFIG_SND_SOC_TAS5720 is not set # CONFIG_SND_SOC_TEGRA20_AC97 is not set -# CONFIG_SND_SOC_TEGRA20_DAS is not set +CONFIG_SND_SOC_TEGRA20_DAS=m CONFIG_SND_SOC_TEGRA20_I2S=m # CONFIG_SND_SOC_TEGRA20_SPDIF is not set CONFIG_SND_SOC_TEGRA30_AHUB=m @@ -5350,6 +5388,7 @@ CONFIG_SND_SOC_TPA6130A2=m CONFIG_SND_SOC_TS3A227E=m # CONFIG_SND_SOC_WM8510 is not set # CONFIG_SND_SOC_WM8523 is not set +CONFIG_SND_SOC_WM8524=m # CONFIG_SND_SOC_WM8580 is not set # CONFIG_SND_SOC_WM8711 is not set # CONFIG_SND_SOC_WM8728 is not set @@ -5481,6 +5520,7 @@ CONFIG_SQUASHFS=m CONFIG_SQUASHFS_XATTR=y CONFIG_SQUASHFS_XZ=y CONFIG_SQUASHFS_ZLIB=y +CONFIG_SQUASHFS_ZSTD=y CONFIG_SRAM=y # CONFIG_SRF04 is not set # CONFIG_SRF08 is not set @@ -5516,8 +5556,10 @@ CONFIG_STMMAC_PLATFORM=m CONFIG_STRICT_DEVMEM=y CONFIG_STRICT_KERNEL_RWX=y CONFIG_STRICT_MODULE_RWX=y +# CONFIG_STRING_SELFTEST is not set CONFIG_STRIP_ASM_SYMS=y # CONFIG_STRIP is not set +CONFIG_SUN4I_A10_CCU=y CONFIG_SUN4I_EMAC=m CONFIG_SUN4I_GPADC=m CONFIG_SUN5I_CCU=y @@ -5527,6 +5569,7 @@ CONFIG_SUN8I_A33_CCU=y CONFIG_SUN8I_A83T_CCU=y CONFIG_SUN8I_DE2_CCU=y CONFIG_SUN8I_H3_CCU=y +CONFIG_SUN8I_R40_CCU=y CONFIG_SUN8I_R_CCU=y CONFIG_SUN8I_V3S_CCU=y CONFIG_SUN9I_A80_CCU=y @@ -5708,14 +5751,15 @@ CONFIG_TIGON3=m CONFIG_TI_MESSAGE_MANAGER=m CONFIG_TINYDRM_MI0283QT=m CONFIG_TINYDRM_MIPI_DBI=m +# CONFIG_TINYDRM_REPAPER is not set +# CONFIG_TINYDRM_ST7586 is not set CONFIG_TIPC=m # CONFIG_TIPC_MEDIA_IB is not set CONFIG_TIPC_MEDIA_UDP=y # CONFIG_TI_SCI_CLK is not set CONFIG_TI_SCI_PROTOCOL=m CONFIG_TI_SOC_THERMAL=m -CONFIG_TI_ST=m -CONFIG_TI_SYSCON_RESET=m +# CONFIG_TI_ST is not set CONFIG_TI_THERMAL=y # CONFIG_TI_TLC4541 is not set # CONFIG_TLAN is not set @@ -5890,8 +5934,10 @@ CONFIG_USB_BELKIN=y CONFIG_USB_CATC=m CONFIG_USB_CDC_PHONET=m CONFIG_USB_CHAOSKEY=m -# CONFIG_USB_CHIPIDEA is not set -# CONFIG_USB_CHIPIDEA_ULPI is not set +CONFIG_USB_CHIPIDEA_HOST=y +CONFIG_USB_CHIPIDEA=m +CONFIG_USB_CHIPIDEA_UDC=y +CONFIG_USB_CHIPIDEA_ULPI=y CONFIG_USB_CONFIGFS_ACM=y CONFIG_USB_CONFIGFS_ECM_SUBSET=y CONFIG_USB_CONFIGFS_ECM=y @@ -6043,7 +6089,6 @@ CONFIG_USB_KEENE=m CONFIG_USB_LAN78XX=m CONFIG_USB_LCD=m CONFIG_USB_LD=m -CONFIG_USB_LED=m CONFIG_USB_LEDS_TRIGGER_USBPORT=m CONFIG_USB_LED_TRIG=y CONFIG_USB_LEGOTOWER=m @@ -6158,7 +6203,6 @@ CONFIG_USB_SERIAL_KLSI=m CONFIG_USB_SERIAL_KOBIL_SCT=m CONFIG_USB_SERIAL_MCT_U232=m # CONFIG_USB_SERIAL_METRO is not set -CONFIG_USB_SERIAL_MOS7715_PARPORT=y CONFIG_USB_SERIAL_MOS7720=m CONFIG_USB_SERIAL_MOS7840=m # CONFIG_USB_SERIAL_MXUPORT is not set @@ -6343,6 +6387,7 @@ CONFIG_VIDEO_HEXIUM_ORION=m CONFIG_VIDEO_IVTV=m # CONFIG_VIDEO_M5MOLS is not set # CONFIG_VIDEO_MEM2MEM_DEINTERLACE is not set +CONFIG_VIDEO_MESON_AO_CEC=m CONFIG_VIDEO_MEYE=m CONFIG_VIDEO_MUX=m CONFIG_VIDEO_MXB=m @@ -6352,7 +6397,6 @@ CONFIG_VIDEO_NOON010PC30=m CONFIG_VIDEO_PVRUSB2_DVB=y CONFIG_VIDEO_PVRUSB2=m CONFIG_VIDEO_PVRUSB2_SYSFS=y -# CONFIG_VIDEO_RENESAS_VSP1 is not set CONFIG_VIDEO_S5P_FIMC=m CONFIG_VIDEO_S5P_MIPI_CSIS=m CONFIG_VIDEO_SAA6588=m @@ -6458,6 +6502,7 @@ CONFIG_W1_SLAVE_DS2438=m CONFIG_W1_SLAVE_DS2760=m CONFIG_W1_SLAVE_DS2780=m CONFIG_W1_SLAVE_DS2781=m +CONFIG_W1_SLAVE_DS2805=m CONFIG_W1_SLAVE_DS28E04=m CONFIG_W1_SLAVE_SMEM=m CONFIG_W1_SLAVE_THERM=m @@ -6477,6 +6522,7 @@ CONFIG_WATCHDOG=y CONFIG_WCN36XX=m CONFIG_WDAT_WDT=m CONFIG_WDTPCI=m +CONFIG_WIL6210_DEBUGFS=y CONFIG_WIL6210_ISR_COR=y CONFIG_WIL6210=m # CONFIG_WIL6210_TRACING is not set @@ -6585,6 +6631,7 @@ CONFIG_ZLIB_DEFLATE=y CONFIG_ZLIB_INFLATE=y # CONFIG_ZPA2326 is not set CONFIG_ZRAM=m +# CONFIG_ZRAM_WRITEBACK is not set # CONFIG_ZSMALLOC_STAT is not set CONFIG_ZSMALLOC=y CONFIG_ZSWAP=y diff --git a/freed-ora/current/f26/kernel-armv7hl.config b/freed-ora/current/f26/kernel-armv7hl.config index 9cee3ad59..c3c13da54 100644 --- a/freed-ora/current/f26/kernel-armv7hl.config +++ b/freed-ora/current/f26/kernel-armv7hl.config @@ -156,7 +156,9 @@ CONFIG_AK8975=m CONFIG_ALI_FIR=m CONFIG_ALIM1535_WDT=m CONFIG_ALIM7101_WDT=m +CONFIG_ALLOW_LOCKDOWN_LIFT_BY_SYSRQ=y # CONFIG_ALTERA_MBOX is not set +CONFIG_ALTERA_MSGDMA=m CONFIG_ALTERA_STAPL=m CONFIG_ALTERA_TSE=m CONFIG_ALX=m @@ -193,6 +195,7 @@ CONFIG_ARCH_BCM2835=y # CONFIG_ARCH_BCM_53573 is not set # CONFIG_ARCH_BCM_63XX is not set # CONFIG_ARCH_BCM_CYGNUS is not set +# CONFIG_ARCH_BCM_IPROC is not set # CONFIG_ARCH_BCM_NSP is not set CONFIG_ARCH_BCM=y # CONFIG_ARCH_BERLIN is not set @@ -360,6 +363,7 @@ CONFIG_ATH10K=m CONFIG_ATH10K_PCI=m CONFIG_ATH10K_SDIO=m # CONFIG_ATH10K_TRACING is not set +CONFIG_ATH10K_USB=m CONFIG_ATH5K_DEBUG=y CONFIG_ATH5K=m # CONFIG_ATH5K_TRACER is not set @@ -499,6 +503,7 @@ CONFIG_BATMAN_ADV_MCAST=y CONFIG_BATMAN_ADV_NC=y CONFIG_BATTERY_AXP20X=m # CONFIG_BATTERY_BQ27XXX_DT_UPDATES_NVM is not set +CONFIG_BATTERY_BQ27XXX_HDQ=m CONFIG_BATTERY_BQ27XXX_I2C=m CONFIG_BATTERY_BQ27XXX=m CONFIG_BATTERY_DA9052=m @@ -510,6 +515,7 @@ CONFIG_BATTERY_DA9052=m # CONFIG_BATTERY_LEGO_EV3 is not set # CONFIG_BATTERY_MAX17040 is not set # CONFIG_BATTERY_MAX17042 is not set +# CONFIG_BATTERY_MAX1721X is not set CONFIG_BATTERY_RX51=m CONFIG_BATTERY_SBS=m CONFIG_BATTERY_TWL4030_MADC=m @@ -559,7 +565,6 @@ CONFIG_BINFMT_MISC=m CONFIG_BINFMT_SCRIPT=y CONFIG_BLK_CGROUP=y # CONFIG_BLK_CMDLINE_PARSER is not set -CONFIG_BLK_CPQ_CISS_DA=m CONFIG_BLK_DEBUG_FS=y # CONFIG_BLK_DEV_3W_XXXX_RAID is not set CONFIG_BLK_DEV_BSGLIB=y @@ -595,7 +600,6 @@ CONFIG_BLK_DEV_SR=y CONFIG_BLK_DEV_SX8=m # CONFIG_BLK_DEV_THROTTLING_LOW is not set CONFIG_BLK_DEV_THROTTLING=y -# CONFIG_BLK_DEV_UB is not set CONFIG_BLK_DEV_UMEM=m CONFIG_BLK_DEV=y CONFIG_BLK_DEV_ZONED=y @@ -620,6 +624,7 @@ CONFIG_BNX2=m CONFIG_BNX2X=m CONFIG_BNX2X_SRIOV=y CONFIG_BNXT_DCB=y +CONFIG_BNXT_FLOWER_OFFLOAD=y CONFIG_BNXT=m CONFIG_BNXT_SRIOV=y CONFIG_BONDING=m @@ -630,6 +635,7 @@ CONFIG_BONDING=m CONFIG_BOOT_PRINTK_DELAY=y CONFIG_BOUNCE=y CONFIG_BPF_JIT=y +CONFIG_BPF_STREAM_PARSER=y CONFIG_BPF_SYSCALL=y CONFIG_BPQETHER=m # CONFIG_BRCMDBG is not set @@ -719,7 +725,6 @@ CONFIG_BT_RFCOMM_TTY=y CONFIG_BTRFS_FS=m CONFIG_BTRFS_FS_POSIX_ACL=y # CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set -CONFIG_BT_SCO=y # CONFIG_BT_SELFTEST is not set # CONFIG_BTT is not set CONFIG_BT_WILINK=m @@ -800,11 +805,13 @@ CONFIG_CB710_CORE=m # CONFIG_CB710_DEBUG is not set # CONFIG_CC10001_ADC is not set CONFIG_CC_OPTIMIZE_FOR_SIZE=y +# CONFIG_CCS811 is not set # CONFIG_CC_STACKPROTECTOR is not set CONFIG_CC_STACKPROTECTOR_NONE=y CONFIG_CDROM_PKTCDVD_BUFFERS=8 CONFIG_CDROM_PKTCDVD=m # CONFIG_CDROM_PKTCDVD_WCACHE is not set +CONFIG_CEC_PIN=y CONFIG_CEC_PLATFORM_DRIVERS=y CONFIG_CEPH_FSCACHE=y CONFIG_CEPH_FS=m @@ -850,7 +857,7 @@ CONFIG_CHARGER_MANAGER=y # CONFIG_CHARGER_MAX8903 is not set CONFIG_CHARGER_MAX8997=m # CONFIG_CHARGER_PCF50633 is not set -# CONFIG_CHARGER_QCOM_SMBB is not set +CONFIG_CHARGER_QCOM_SMBB=m # CONFIG_CHARGER_RT9455 is not set # CONFIG_CHARGER_SBS is not set CONFIG_CHARGER_SMB347=m @@ -887,8 +894,8 @@ CONFIG_CIFS_STATS=y CONFIG_CIFS_UPCALL=y CONFIG_CIFS_WEAK_PW_HASH=y CONFIG_CIFS_XATTR=y -CONFIG_CISS_SCSI_TAPE=y CONFIG_CLEANCACHE=y +# CONFIG_CLK_HSDK is not set # CONFIG_CLK_QORIQ is not set CONFIG_CLK_SP810=y CONFIG_CLKSRC_VERSATILE=y @@ -1053,7 +1060,9 @@ CONFIG_CRYPTO_DEV_QCE=m CONFIG_CRYPTO_DEV_ROCKCHIP=m CONFIG_CRYPTO_DEV_S5P=m CONFIG_CRYPTO_DEV_SAHARA=m +# CONFIG_CRYPTO_DEV_SP_CCP is not set CONFIG_CRYPTO_DEV_SUN4I_SS=m +CONFIG_CRYPTO_DEV_SUN4I_SS_PRNG=y CONFIG_CRYPTO_DEV_VIRTIO=m CONFIG_CRYPTO_DH=y CONFIG_CRYPTO_DRBG_CTR=y @@ -1100,7 +1109,7 @@ CONFIG_CRYPTO_SERPENT=m CONFIG_CRYPTO_SHA1_ARM_NEON=y CONFIG_CRYPTO_SHA1_ARM=y CONFIG_CRYPTO_SHA1=y -CONFIG_CRYPTO_SHA256_ARM64=m +CONFIG_CRYPTO_SHA256_ARM64=y CONFIG_CRYPTO_SHA256_ARM=y CONFIG_CRYPTO_SHA256=y # CONFIG_CRYPTO_SHA2_ARM_CE is not set @@ -1311,6 +1320,7 @@ CONFIG_DRM_CIRRUS_QEMU=m CONFIG_DRM_DP_AUX_CHARDEV=y CONFIG_DRM_DUMB_VGA_DAC=m CONFIG_DRM_DW_HDMI_AHB_AUDIO=m +CONFIG_DRM_DW_HDMI_CEC=m CONFIG_DRM_DW_HDMI_I2S_AUDIO=m CONFIG_DRM_DW_HDMI=m CONFIG_DRM_ETNAVIV=m @@ -1417,6 +1427,7 @@ CONFIG_DRM_SIL_SII8620=m CONFIG_DRM_STI=m # CONFIG_DRM_STM is not set CONFIG_DRM_SUN4I_BACKEND=m +# CONFIG_DRM_SUN4I_HDMI_CEC is not set CONFIG_DRM_SUN4I_HDMI=m CONFIG_DRM_SUN4I=m CONFIG_DRM_SUN8I_MIXER=m @@ -1431,6 +1442,7 @@ CONFIG_DRM_TI_TFP410=m CONFIG_DRM_TOSHIBA_TC358767=m CONFIG_DRM_UDL=m # CONFIG_DRM_VBOXVIDEO is not set +CONFIG_DRM_VC4_HDMI_CEC=y CONFIG_DRM_VC4=m CONFIG_DRM_VGEM=m CONFIG_DRM_VIA=m @@ -1462,6 +1474,7 @@ CONFIG_DVB_BUDGET_PATCH=m CONFIG_DVB_CORE=m # CONFIG_DVB_CXD2099 is not set CONFIG_DVB_DDBRIDGE=m +# CONFIG_DVB_DDBRIDGE_MSIENABLE is not set # CONFIG_DVB_DEMUX_SECTION_LOSS_LOG is not set CONFIG_DVB_DM1105=m CONFIG_DVB_DYNAMIC_MINORS=y @@ -1542,7 +1555,7 @@ CONFIG_E1000E=m CONFIG_E1000=m CONFIG_E100=m CONFIG_EARLY_PRINTK_DBGP=y -# CONFIG_EARLY_PRINTK_USB_XDBC is not set +CONFIG_EARLY_PRINTK_USB_XDBC=y CONFIG_EARLY_PRINTK=y # CONFIG_EBC_C384_WDT is not set CONFIG_ECHO=m @@ -1597,7 +1610,6 @@ CONFIG_ETHOC=m # CONFIG_EVM is not set # CONFIG_EXOFS_DEBUG is not set # CONFIG_EXOFS_FS is not set -CONFIG_EXPERIMENTAL=y # CONFIG_EXPERT is not set CONFIG_EXPORTFS=y # CONFIG_EXT2_FS is not set @@ -1617,6 +1629,7 @@ CONFIG_EXTCON_PALMAS=m CONFIG_EXTCON_QCOM_SPMI_MISC=m # CONFIG_EXTCON_RT8973A is not set # CONFIG_EXTCON_SM5502 is not set +CONFIG_EXTCON_USBC_CROS_EC=m CONFIG_EXTCON_USB_GPIO=m CONFIG_EXTCON=y CONFIG_EXTRA_FIRMWARE="" @@ -1832,6 +1845,7 @@ CONFIG_GPIO_74X164=m # CONFIG_GPIO_ALTERA is not set # CONFIG_GPIO_AMDPT is not set CONFIG_GPIO_AXP209=m +CONFIG_GPIO_BD9571MWV=m # CONFIG_GPIO_BT8XX is not set CONFIG_GPIO_DA9052=m CONFIG_GPIO_DA9055=m @@ -1842,7 +1856,7 @@ CONFIG_GPIO_EXAR=m CONFIG_GPIO_GENERIC_PLATFORM=y CONFIG_GPIO_GENERIC=y # CONFIG_GPIO_GRGPIO is not set -CONFIG_GPIO_IT87=m +# CONFIG_GPIO_IT87 is not set CONFIG_GPIOLIB=y # CONFIG_GPIO_MAX7300 is not set CONFIG_GPIO_MAX7301=m @@ -1873,6 +1887,7 @@ CONFIG_GPIO_TPS65218=m CONFIG_GPIO_TPS6586X=y CONFIG_GPIO_TPS65910=y CONFIG_GPIO_TPS65912=m +CONFIG_GPIO_TPS68470=y CONFIG_GPIO_TS4800=m # CONFIG_GPIO_TS4900 is not set # CONFIG_GPIO_TS5500 is not set @@ -1927,7 +1942,7 @@ CONFIG_HID_CHERRY=m CONFIG_HID_CHICONY=m CONFIG_HID_CMEDIA=m CONFIG_HID_CORSAIR=m -# CONFIG_HID_CP2112 is not set +CONFIG_HID_CP2112=m CONFIG_HID_CYPRESS=m CONFIG_HID_DRAGONRISE=m CONFIG_HID_ELECOM=m @@ -2084,6 +2099,7 @@ CONFIG_HWMON=y CONFIG_HW_PERF_EVENTS=y CONFIG_HWPOISON_INJECT=m CONFIG_HW_RANDOM_BCM2835=m +CONFIG_HW_RANDOM_IMX_RNGC=m CONFIG_HW_RANDOM_MESON=m CONFIG_HW_RANDOM_MSM=m CONFIG_HW_RANDOM_MXC_RNGA=m @@ -2123,10 +2139,10 @@ CONFIG_I2C_CROS_EC_TUNNEL=m # CONFIG_I2C_DEBUG_BUS is not set # CONFIG_I2C_DEBUG_CORE is not set # CONFIG_I2C_DEMUX_PINCTRL is not set -CONFIG_I2C_DESIGNWARE_CORE=m +CONFIG_I2C_DESIGNWARE_CORE=y # CONFIG_I2C_DESIGNWARE is not set CONFIG_I2C_DESIGNWARE_PCI=m -CONFIG_I2C_DESIGNWARE_PLATFORM=m +CONFIG_I2C_DESIGNWARE_PLATFORM=y CONFIG_I2C_DESIGNWARE_SLAVE=y CONFIG_I2C_DIOLAN_U2C=m # CONFIG_I2C_EG20T is not set @@ -2156,8 +2172,7 @@ CONFIG_I2C_NFORCE2=m # CONFIG_I2C_NOMADIK is not set # CONFIG_I2C_OCORES is not set CONFIG_I2C_OMAP=y -CONFIG_I2C_PARPORT_LIGHT=m -CONFIG_I2C_PARPORT=m +# CONFIG_I2C_PARPORT_LIGHT is not set CONFIG_I2C_PCA_PLATFORM=m # CONFIG_I2C_PIIX4 is not set CONFIG_I2C_PXA=m @@ -2262,6 +2277,7 @@ CONFIG_IMX7_PM_DOMAINS=y CONFIG_IMX_DMA=m CONFIG_IMX_GPCV2=y CONFIG_IMX_IPUV3_CORE=m +CONFIG_IMX_REMOTEPROC=m CONFIG_IMX_SDMA=m CONFIG_IMX_THERMAL=m CONFIG_IMX_WEIM=y @@ -2291,6 +2307,7 @@ CONFIG_INET=y # CONFIG_INFINIBAND_CXGB3_DEBUG is not set # CONFIG_INFINIBAND_CXGB3 is not set # CONFIG_INFINIBAND_CXGB4 is not set +# CONFIG_INFINIBAND_EXP_USER_ACCESS is not set # CONFIG_INFINIBAND_I40IW is not set # CONFIG_INFINIBAND_IPOIB_CM is not set # CONFIG_INFINIBAND_IPOIB_DEBUG_DATA is not set @@ -2317,7 +2334,6 @@ CONFIG_INET=y # CONFIG_INFTL is not set CONFIG_INITRAMFS_SOURCE="" CONFIG_INOTIFY_USER=y -CONFIG_INOTIFY=y CONFIG_INPUT_88PM80X_ONKEY=m # CONFIG_INPUT_AD714X is not set # CONFIG_INPUT_ADXL34X is not set @@ -2375,8 +2391,10 @@ CONFIG_INPUT_PMIC8XXX_PWRKEY=m CONFIG_INPUT_POLLDEV=m CONFIG_INPUT_POWERMATE=m CONFIG_INPUT_PWM_BEEPER=m +# CONFIG_INPUT_PWM_VIBRA is not set # CONFIG_INPUT_REGULATOR_HAPTIC is not set CONFIG_INPUT_RETU_PWRBUTTON=m +CONFIG_INPUT_RK805_PWRKEY=m CONFIG_INPUT_SOC_BUTTON_ARRAY=m CONFIG_INPUT_SPARSEKMAP=m CONFIG_INPUT_TABLET=y @@ -2399,6 +2417,7 @@ CONFIG_INTEL_XWAY_PHY=m # CONFIG_INV_MPU6050_I2C is not set # CONFIG_INV_MPU6050_IIO is not set # CONFIG_INV_MPU6050_SPI is not set +CONFIG_IOMMU_DMA=y # CONFIG_IOMMU_IO_PGTABLE_ARMV7S is not set # CONFIG_IOMMU_IO_PGTABLE_LPAE_SELFTEST is not set CONFIG_IOMMU_IO_PGTABLE_LPAE=y @@ -2562,6 +2581,7 @@ CONFIG_IRDA=m CONFIG_IR_ENE=m CONFIG_IR_FINTEK=m CONFIG_IR_GPIO_CIR=m +CONFIG_IR_GPIO_TX=m CONFIG_IR_HIX5HD2=m CONFIG_IR_IGORPLUGUSB=m CONFIG_IR_IGUANA=m @@ -2577,6 +2597,7 @@ CONFIG_IR_MESON=m CONFIG_IR_NEC_DECODER=m CONFIG_IRNET=m CONFIG_IR_NUVOTON=m +CONFIG_IR_PWM_TX=m CONFIG_IRQ_CROSSBAR=y # CONFIG_IRQ_DOMAIN_DEBUG is not set # CONFIG_IRQSOFF_TRACER is not set @@ -2828,6 +2849,7 @@ CONFIG_LCD_VGG2432A4=m # CONFIG_LDM_DEBUG is not set CONFIG_LDM_PARTITION=y # CONFIG_LEDS_AAT1290 is not set +CONFIG_LEDS_AS3645A=m # CONFIG_LEDS_BCM6328 is not set # CONFIG_LEDS_BCM6358 is not set # CONFIG_LEDS_BD2802 is not set @@ -2931,6 +2953,7 @@ CONFIG_LMP91000=m CONFIG_LOCALVERSION="" # CONFIG_LOCALVERSION_AUTO is not set CONFIG_LOCKD=m +# CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT is not set # CONFIG_LOCK_DOWN_KERNEL is not set CONFIG_LOCKD_V4=y # CONFIG_LOCK_STAT is not set @@ -2956,6 +2979,7 @@ CONFIG_LPFC_NVME_INITIATOR=y CONFIG_LPFC_NVME_TARGET=y CONFIG_LSI_ET1011C_PHY=m CONFIG_LSM_MMAP_MIN_ADDR=32768 +# CONFIG_LTC2471 is not set # CONFIG_LTC2485 is not set # CONFIG_LTC2497 is not set # CONFIG_LTC2632 is not set @@ -3056,6 +3080,7 @@ CONFIG_MDIO_BUS_MUX=m CONFIG_MDIO_BUS_MUX_MMIOREG=m CONFIG_MDIO_GPIO=m # CONFIG_MDIO_HISI_FEMAC is not set +CONFIG_MDIO_I2C=m # CONFIG_MDIO_OCTEON is not set CONFIG_MDIO_SUN4I=m # CONFIG_MDIO_THUNDER is not set @@ -3109,6 +3134,7 @@ CONFIG_MEMSTICK_TIFM_MS=m CONFIG_MESON_EFUSE=m # CONFIG_MESON_GXBB_WATCHDOG is not set # CONFIG_MESON_GXL_PHY is not set +CONFIG_MESON_GX_SOCINFO=y CONFIG_MESON_SARADC=m CONFIG_MESON_SM=y CONFIG_MESON_WATCHDOG=m @@ -3131,6 +3157,7 @@ CONFIG_MFD_AXP20X_I2C=y CONFIG_MFD_AXP20X_RSB=m CONFIG_MFD_AXP20X=y # CONFIG_MFD_BCM590XX is not set +CONFIG_MFD_BD9571MWV=m CONFIG_MFD_CORE=y # CONFIG_MFD_CPCAP is not set CONFIG_MFD_CROS_EC_I2C=m @@ -3206,6 +3233,7 @@ CONFIG_MFD_TPS65910=y CONFIG_MFD_TPS65912_I2C=y CONFIG_MFD_TPS65912_SPI=y CONFIG_MFD_TPS65912=y +CONFIG_MFD_TPS68470=y CONFIG_MFD_TPS80031=y CONFIG_MFD_VEXPRESS_SYSREG=y CONFIG_MFD_VIPERBOARD=m @@ -3251,8 +3279,10 @@ CONFIG_MLX5_CORE_EN=y CONFIG_MLX5_CORE_IPOIB=y CONFIG_MLX5_CORE=m # CONFIG_MLX5_EN_IPSEC is not set +CONFIG_MLX5_ESWITCH=y # CONFIG_MLX5_FPGA is not set # CONFIG_MLX5_INFINIBAND is not set +CONFIG_MLX5_MPFS=y # CONFIG_MLX90614 is not set CONFIG_MLX_CPLD_PLATFORM=m CONFIG_MLXFW=m @@ -3275,7 +3305,6 @@ CONFIG_MMA8452=m # CONFIG_MMC35240 is not set CONFIG_MMC_ARMMMCI=m CONFIG_MMC_BCM2835=m -CONFIG_MMC_BLOCK_BOUNCE=y CONFIG_MMC_BLOCK=m CONFIG_MMC_BLOCK_MINORS=8 CONFIG_MMC_CB710=m @@ -3292,7 +3321,7 @@ CONFIG_MMC_MVSDIO=m CONFIG_MMC_MXC=m CONFIG_MMC_OMAP_HS=m CONFIG_MMC_OMAP=m -CONFIG_MMC_QCOM_DML=m +CONFIG_MMC_QCOM_DML=y CONFIG_MMC_REALTEK_PCI=m CONFIG_MMC_REALTEK_USB=m CONFIG_MMC_RICOH_MMC=y @@ -3703,6 +3732,7 @@ CONFIG_NETLABEL=y CONFIG_NETLINK_DIAG=m CONFIG_NET_MPLS_GSO=m CONFIG_NET_NCSI=y +CONFIG_NET_NSH=m CONFIG_NET_NS=y CONFIG_NET_PACKET_ENGINE=y CONFIG_NET_PKTGEN=m @@ -3774,6 +3804,7 @@ CONFIG_NET_VENDOR_FREESCALE=y # CONFIG_NET_VENDOR_FUJITSU is not set # CONFIG_NET_VENDOR_HISILICON is not set # CONFIG_NET_VENDOR_HP is not set +# CONFIG_NET_VENDOR_HUAWEI is not set # CONFIG_NET_VENDOR_I825XX is not set CONFIG_NET_VENDOR_INTEL=y CONFIG_NET_VENDOR_MARVELL=y @@ -3796,6 +3827,7 @@ CONFIG_NET_VENDOR_ROCKER=y CONFIG_NET_VENDOR_SILAN=y CONFIG_NET_VENDOR_SIS=y CONFIG_NET_VENDOR_SMSC=y +# CONFIG_NET_VENDOR_SNI is not set # CONFIG_NET_VENDOR_SOLARFLARE is not set CONFIG_NET_VENDOR_STMICRO=y # CONFIG_NET_VENDOR_SUN is not set @@ -3934,6 +3966,7 @@ CONFIG_NFT_EXTHDR=m CONFIG_NFT_FIB_INET=m CONFIG_NFT_FIB_IPV4=m CONFIG_NFT_FIB_IPV6=m +CONFIG_NFT_FIB_NETDEV=m CONFIG_NFT_FWD_NETDEV=m CONFIG_NFT_HASH=m CONFIG_NFT_LIMIT=m @@ -4146,14 +4179,8 @@ CONFIG_PARAVIRT_TIME_ACCOUNTING=y CONFIG_PARAVIRT=y # CONFIG_PARIDE is not set CONFIG_PARMAN=m -CONFIG_PARPORT_1284=y -# CONFIG_PARPORT_AX88796 is not set # CONFIG_PARPORT is not set -# CONFIG_PARPORT_PC_FIFO is not set -CONFIG_PARPORT_PC=m -CONFIG_PARPORT_PC_PCMCIA=m -# CONFIG_PARPORT_PC_SUPERIO is not set -CONFIG_PARPORT_SERIAL=m +# CONFIG_PARPORT_PC is not set CONFIG_PARTITION_ADVANCED=y CONFIG_PATA_ACPI=m CONFIG_PATA_ALI=m @@ -4187,7 +4214,6 @@ CONFIG_PATA_NETCELL=m CONFIG_PATA_NINJA32=m CONFIG_PATA_NS87410=m CONFIG_PATA_NS87415=m -CONFIG_PATA_OF_PLATFORM=m CONFIG_PATA_OLDPIIX=m CONFIG_PATA_OPTIDMA=m CONFIG_PATA_OPTI=m @@ -4225,6 +4251,7 @@ CONFIG_PCIEAER=y # CONFIG_PCIEASPM_DEBUG is not set CONFIG_PCIEASPM=y CONFIG_PCIE_DPC=y +# CONFIG_PCIE_DW_HOST_ECAM is not set CONFIG_PCIE_DW_HOST=y # CONFIG_PCIE_DW_PLAT is not set CONFIG_PCIE_DW=y @@ -4290,10 +4317,12 @@ CONFIG_PHY_EXYNOS_DP_VIDEO=m CONFIG_PHY_EXYNOS_MIPI_VIDEO=m CONFIG_PHY_EXYNOS_PCIE=y CONFIG_PHYLIB=y +CONFIG_PHYLINK=m CONFIG_PHY_MESON8B_USB2=m # CONFIG_PHY_MESON_GXL_USB2 is not set CONFIG_PHY_MIPHY28LP=m # CONFIG_PHY_MIPHY365X is not set +# CONFIG_PHY_MVEBU_CP110_COMPHY is not set CONFIG_PHY_MVEBU_SATA=y # CONFIG_PHY_PXA_28NM_HSIC is not set # CONFIG_PHY_PXA_28NM_USB2 is not set @@ -4319,6 +4348,7 @@ CONFIG_PHY_SUN4I_USB=m CONFIG_PHY_SUN9I_USB=m CONFIG_PHY_TEGRA_XUSB=m # CONFIG_PHY_TUSB1210 is not set +# CONFIG_PI433 is not set # CONFIG_PID_IN_CONTEXTIDR is not set CONFIG_PID_NS=y CONFIG_PINCONF=y @@ -4329,13 +4359,11 @@ CONFIG_PINCTRL_ARMADA_370=y CONFIG_PINCTRL_ARMADA_XP=y CONFIG_PINCTRL_AS3722=y # CONFIG_PINCTRL_BAYTRAIL is not set -# CONFIG_PINCTRL_BCM281XX is not set # CONFIG_PINCTRL_BROXTON is not set # CONFIG_PINCTRL_CANNONLAKE is not set # CONFIG_PINCTRL_CHERRYVIEW is not set CONFIG_PINCTRL_DOVE=y # CONFIG_PINCTRL_GEMINILAKE is not set -# CONFIG_PINCTRL_IMX35 is not set CONFIG_PINCTRL_IMX6SL=y # CONFIG_PINCTRL_IPQ4019 is not set # CONFIG_PINCTRL_IPQ8064 is not set @@ -4352,8 +4380,11 @@ CONFIG_PINCTRL_MVEBU=y CONFIG_PINCTRL_PALMAS=y CONFIG_PINCTRL_QCOM_SPMI_PMIC=m CONFIG_PINCTRL_QCOM_SSBI_PMIC=m +CONFIG_PINCTRL_RK805=m CONFIG_PINCTRL_SAMSUNG=y CONFIG_PINCTRL_SINGLE=y +# CONFIG_PINCTRL_SPRD is not set +# CONFIG_PINCTRL_SPRD_SC9860 is not set # CONFIG_PINCTRL_SUNRISEPOINT is not set # CONFIG_PINCTRL_SX150X is not set CONFIG_PINCTRL=y @@ -4430,7 +4461,6 @@ CONFIG_PPP_SYNC_TTY=m CONFIG_PPS_CLIENT_GPIO=m # CONFIG_PPS_CLIENT_KTIMER is not set CONFIG_PPS_CLIENT_LDISC=m -CONFIG_PPS_CLIENT_PARPORT=m # CONFIG_PPS_DEBUG is not set CONFIG_PPS_GENERATOR_PARPORT=m CONFIG_PPS=m @@ -4498,6 +4528,7 @@ CONFIG_QCOM_CLK_SMD_RPM=m CONFIG_QCOM_COINCELL=m # CONFIG_QCOM_EBI2 is not set # CONFIG_QCOM_EMAC is not set +# CONFIG_QCOM_GLINK_SSR is not set CONFIG_QCOM_GSBI=m # CONFIG_QCOM_HIDMA is not set # CONFIG_QCOM_HIDMA_MGMT is not set @@ -4547,6 +4578,7 @@ CONFIG_R8169=m CONFIG_R8188EU=m CONFIG_R8712U=m CONFIG_R8723AU=m # Jes Sorensen maintains this (rhbz 1100162) +CONFIG_R8822BE=m CONFIG_RADIO_ADAPTERS=y CONFIG_RADIO_AZTECH=m CONFIG_RADIO_CADET=m @@ -4568,7 +4600,6 @@ CONFIG_RADIO_TERRATEC=m CONFIG_RADIO_TRUST=m CONFIG_RADIO_TYPHOON=m CONFIG_RADIO_WL1273=m -CONFIG_RADIO_WL128X=m CONFIG_RADIO_ZOLTRIX=m CONFIG_RAID_ATTRS=m # CONFIG_RANDOM32_SELFTEST is not set @@ -4627,6 +4658,7 @@ CONFIG_REGULATOR_AD5398=m CONFIG_REGULATOR_ANATOP=m CONFIG_REGULATOR_AS3722=m CONFIG_REGULATOR_AXP20X=m +CONFIG_REGULATOR_BD9571MWV=m CONFIG_REGULATOR_DA9052=m CONFIG_REGULATOR_DA9055=m CONFIG_REGULATOR_DA9210=m @@ -4699,8 +4731,10 @@ CONFIG_REISERFS_PROC_INFO=y CONFIG_RELAY=y # CONFIG_RELOCATABLE_TEST is not set CONFIG_REMOTEPROC=m +CONFIG_RESET_ATTACK_MITIGATION=y CONFIG_RESET_CONTROLLER=y CONFIG_RESET_GPIO=y +# CONFIG_RESET_HSDK_V1 is not set # CONFIG_RESET_TI_SCI is not set # CONFIG_RESET_TI_SYSCON is not set # CONFIG_RFD_FTL is not set @@ -4721,6 +4755,7 @@ CONFIG_RMI4_F55=y CONFIG_RMI4_I2C=m CONFIG_RMI4_SMB=m CONFIG_RMI4_SPI=m +# CONFIG_RMNET is not set CONFIG_ROCKCHIP_ANALOGIX_DP=y CONFIG_ROCKCHIP_CDN_DP=y CONFIG_ROCKCHIP_DW_HDMI=y @@ -4730,6 +4765,7 @@ CONFIG_ROCKCHIP_INNO_HDMI=y CONFIG_ROCKCHIP_IODOMAIN=m CONFIG_ROCKCHIP_IOMMU=y CONFIG_ROCKCHIP_MBOX=y +CONFIG_ROCKCHIP_PHY=m CONFIG_ROCKCHIP_PM_DOMAINS=y CONFIG_ROCKCHIP_SARADC=m CONFIG_ROCKCHIP_THERMAL=m @@ -4741,6 +4777,7 @@ CONFIG_RPCSEC_GSS_KRB5=m # CONFIG_RPMSG_CHAR is not set CONFIG_RPMSG=m CONFIG_RPMSG_QCOM_GLINK_RPM=m +# CONFIG_RPMSG_QCOM_GLINK_SMEM is not set CONFIG_RPMSG_QCOM_SMD=m CONFIG_RPR0521=m CONFIG_RSI_91X=m @@ -5138,6 +5175,7 @@ CONFIG_SENSORS_HDAPS=m # CONFIG_SENSORS_HMC5843_SPI is not set # CONFIG_SENSORS_I5K_AMB is not set CONFIG_SENSORS_IBMAEM=m +# CONFIG_SENSORS_IBM_CFFPS is not set CONFIG_SENSORS_IBMPEX=m CONFIG_SENSORS_IIO_HWMON=m CONFIG_SENSORS_INA209=m @@ -5229,6 +5267,7 @@ CONFIG_SENSORS_TMP108=m CONFIG_SENSORS_TMP401=m CONFIG_SENSORS_TMP421=m CONFIG_SENSORS_TPS40422=m +CONFIG_SENSORS_TPS53679=m CONFIG_SENSORS_TSL2550=m # CONFIG_SENSORS_TSL2563 is not set CONFIG_SENSORS_TWL4030_MADC=m @@ -5332,6 +5371,7 @@ CONFIG_SERIO_AMBAKMI=m # CONFIG_SERIO_APBPS2 is not set CONFIG_SERIO_ARC_PS2=m # CONFIG_SERIO_CT82C710 is not set +# CONFIG_SERIO_GPIO_PS2 is not set CONFIG_SERIO_I8042=y CONFIG_SERIO_LIBPS2=y CONFIG_SERIO_NVEC_PS2=y @@ -5346,6 +5386,7 @@ CONFIG_SERIO=y CONFIG_SFC_FALCON=m CONFIG_SFC_FALCON_MTD=y # CONFIG_SFC is not set +CONFIG_SFP=m # CONFIG_SGI_IOC4 is not set CONFIG_SGI_PARTITION=y CONFIG_SH_ETH=m @@ -5364,6 +5405,7 @@ CONFIG_SKGE_GENESIS=y CONFIG_SKGE=m # CONFIG_SKY2_DEBUG is not set CONFIG_SKY2=m +CONFIG_SLAB_FREELIST_HARDENED=y CONFIG_SLAB_FREELIST_RANDOM=y CONFIG_SLAB_MERGE_DEFAULT=y # CONFIG_SLICOSS is not set @@ -5482,7 +5524,7 @@ CONFIG_SND_HDA_INPUT_BEEP_MODE=0 CONFIG_SND_HDA_INPUT_BEEP=y CONFIG_SND_HDA_INTEL=m CONFIG_SND_HDA_PATCH_LOADER=y -CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0 +CONFIG_SND_HDA_POWER_SAVE_DEFAULT=1 CONFIG_SND_HDA_POWER_SAVE=y CONFIG_SND_HDA_PREALLOC_SIZE=4096 CONFIG_SND_HDA_RECONFIG=y @@ -5594,6 +5636,7 @@ CONFIG_SND_SOC_CS42L42=m # CONFIG_SND_SOC_CS42L56 is not set # CONFIG_SND_SOC_CS42L73 is not set CONFIG_SND_SOC_CS42XX8_I2C=m +CONFIG_SND_SOC_CS43130=m # CONFIG_SND_SOC_CS4349 is not set # CONFIG_SND_SOC_CS53L30 is not set CONFIG_SND_SOC_DIO2125=m @@ -5709,6 +5752,7 @@ CONFIG_SND_SOC_TWL4030=m CONFIG_SND_SOC_TWL6040=m # CONFIG_SND_SOC_WM8510 is not set # CONFIG_SND_SOC_WM8523 is not set +CONFIG_SND_SOC_WM8524=m # CONFIG_SND_SOC_WM8580 is not set # CONFIG_SND_SOC_WM8711 is not set # CONFIG_SND_SOC_WM8728 is not set @@ -5868,6 +5912,7 @@ CONFIG_SQUASHFS=m CONFIG_SQUASHFS_XATTR=y CONFIG_SQUASHFS_XZ=y CONFIG_SQUASHFS_ZLIB=y +CONFIG_SQUASHFS_ZSTD=y CONFIG_SRAM=y # CONFIG_SRF04 is not set # CONFIG_SRF08 is not set @@ -5909,11 +5954,13 @@ CONFIG_ST_REMOTEPROC=m CONFIG_STRICT_DEVMEM=y CONFIG_STRICT_KERNEL_RWX=y CONFIG_STRICT_MODULE_RWX=y +# CONFIG_STRING_SELFTEST is not set CONFIG_STRIP_ASM_SYMS=y # CONFIG_STRIP is not set CONFIG_ST_THERMAL=m CONFIG_ST_THERMAL_MEMMAP=m # CONFIG_ST_THERMAL_SYSCFG is not set +CONFIG_SUN4I_A10_CCU=y CONFIG_SUN4I_EMAC=m CONFIG_SUN4I_GPADC=m CONFIG_SUN5I_CCU=y @@ -5923,6 +5970,7 @@ CONFIG_SUN8I_A33_CCU=y CONFIG_SUN8I_A83T_CCU=y CONFIG_SUN8I_DE2_CCU=y CONFIG_SUN8I_H3_CCU=y +CONFIG_SUN8I_R40_CCU=y CONFIG_SUN8I_R_CCU=y CONFIG_SUN8I_V3S_CCU=y CONFIG_SUN9I_A80_CCU=y @@ -6110,6 +6158,8 @@ CONFIG_TIGON3=m # CONFIG_TIMER_STATS is not set CONFIG_TINYDRM_MI0283QT=m CONFIG_TINYDRM_MIPI_DBI=m +# CONFIG_TINYDRM_REPAPER is not set +# CONFIG_TINYDRM_ST7586 is not set CONFIG_TIPC=m # CONFIG_TIPC_MEDIA_IB is not set CONFIG_TIPC_MEDIA_UDP=y @@ -6117,8 +6167,7 @@ CONFIG_TI_PIPE3=m # CONFIG_TI_SCI_CLK is not set CONFIG_TI_SCI_PROTOCOL=m CONFIG_TI_SOC_THERMAL=m -CONFIG_TI_ST=m -CONFIG_TI_SYSCON_RESET=m +# CONFIG_TI_ST is not set CONFIG_TI_THERMAL=y # CONFIG_TI_TLC4541 is not set # CONFIG_TLAN is not set @@ -6464,7 +6513,6 @@ CONFIG_USB_KEENE=m CONFIG_USB_LAN78XX=m CONFIG_USB_LCD=m CONFIG_USB_LD=m -CONFIG_USB_LED=m CONFIG_USB_LEDS_TRIGGER_USBPORT=m CONFIG_USB_LED_TRIG=y CONFIG_USB_LEGOTOWER=m @@ -6587,7 +6635,6 @@ CONFIG_USB_SERIAL_KLSI=m CONFIG_USB_SERIAL_KOBIL_SCT=m CONFIG_USB_SERIAL_MCT_U232=m # CONFIG_USB_SERIAL_METRO is not set -CONFIG_USB_SERIAL_MOS7715_PARPORT=y CONFIG_USB_SERIAL_MOS7720=m CONFIG_USB_SERIAL_MOS7840=m # CONFIG_USB_SERIAL_MXUPORT is not set @@ -6779,6 +6826,7 @@ CONFIG_VIDEO_IMX_VDOA=m CONFIG_VIDEO_IVTV=m # CONFIG_VIDEO_M5MOLS is not set # CONFIG_VIDEO_MEM2MEM_DEINTERLACE is not set +CONFIG_VIDEO_MESON_AO_CEC=m CONFIG_VIDEO_MEYE=m CONFIG_VIDEO_MUX=m CONFIG_VIDEO_MXB=m @@ -6792,8 +6840,8 @@ CONFIG_VIDEO_OMAP3=m CONFIG_VIDEO_PVRUSB2_DVB=y CONFIG_VIDEO_PVRUSB2=m CONFIG_VIDEO_PVRUSB2_SYSFS=y +CONFIG_VIDEO_QCOM_CAMSS=m CONFIG_VIDEO_QCOM_VENUS=m -# CONFIG_VIDEO_RENESAS_VSP1 is not set CONFIG_VIDEO_S5P_FIMC=m CONFIG_VIDEO_S5P_MIPI_CSIS=m CONFIG_VIDEO_SAA6588=m @@ -6907,6 +6955,7 @@ CONFIG_W1_SLAVE_DS2438=m CONFIG_W1_SLAVE_DS2760=m CONFIG_W1_SLAVE_DS2780=m CONFIG_W1_SLAVE_DS2781=m +CONFIG_W1_SLAVE_DS2805=m CONFIG_W1_SLAVE_DS28E04=m CONFIG_W1_SLAVE_SMEM=m CONFIG_W1_SLAVE_THERM=m @@ -6926,6 +6975,7 @@ CONFIG_WATCHDOG=y CONFIG_WCN36XX=m CONFIG_WDAT_WDT=m CONFIG_WDTPCI=m +CONFIG_WIL6210_DEBUGFS=y CONFIG_WIL6210_ISR_COR=y CONFIG_WIL6210=m # CONFIG_WIL6210_TRACING is not set @@ -7024,6 +7074,7 @@ CONFIG_ZLIB_DEFLATE=y CONFIG_ZLIB_INFLATE=y # CONFIG_ZPA2326 is not set CONFIG_ZRAM=m +# CONFIG_ZRAM_WRITEBACK is not set # CONFIG_ZSMALLOC_STAT is not set CONFIG_ZSMALLOC=y CONFIG_ZSWAP=y diff --git a/freed-ora/current/f26/kernel-i686-PAE.config b/freed-ora/current/f26/kernel-i686-PAE.config index 3ec8597ff..b2de5a16c 100644 --- a/freed-ora/current/f26/kernel-i686-PAE.config +++ b/freed-ora/current/f26/kernel-i686-PAE.config @@ -197,7 +197,9 @@ CONFIG_ALI_FIR=m CONFIG_ALIM1535_WDT=m CONFIG_ALIM7101_WDT=m # CONFIG_ALIX is not set +CONFIG_ALLOW_LOCKDOWN_LIFT_BY_SYSRQ=y # CONFIG_ALTERA_MBOX is not set +CONFIG_ALTERA_MSGDMA=m CONFIG_ALTERA_STAPL=m CONFIG_ALTERA_TSE=m CONFIG_ALX=m @@ -252,6 +254,7 @@ CONFIG_ATH10K=m CONFIG_ATH10K_PCI=m CONFIG_ATH10K_SDIO=m # CONFIG_ATH10K_TRACING is not set +CONFIG_ATH10K_USB=m CONFIG_ATH5K_DEBUG=y CONFIG_ATH5K=m # CONFIG_ATH5K_TRACER is not set @@ -388,6 +391,7 @@ CONFIG_BATMAN_ADV_NC=y # CONFIG_BATTERY_LEGO_EV3 is not set # CONFIG_BATTERY_MAX17040 is not set # CONFIG_BATTERY_MAX17042 is not set +# CONFIG_BATTERY_MAX1721X is not set CONFIG_BATTERY_OLPC=y # CONFIG_BATTERY_SBS is not set CONFIG_BAYCOM_EPP=m @@ -430,7 +434,6 @@ CONFIG_BINFMT_MISC=m CONFIG_BINFMT_SCRIPT=y CONFIG_BLK_CGROUP=y # CONFIG_BLK_CMDLINE_PARSER is not set -CONFIG_BLK_CPQ_CISS_DA=m CONFIG_BLK_DEBUG_FS=y CONFIG_BLK_DEV_3W_XXXX_RAID=m CONFIG_BLK_DEV_AMD74XX=y @@ -467,7 +470,6 @@ CONFIG_BLK_DEV_SR=y CONFIG_BLK_DEV_SX8=m # CONFIG_BLK_DEV_THROTTLING_LOW is not set CONFIG_BLK_DEV_THROTTLING=y -# CONFIG_BLK_DEV_UB is not set CONFIG_BLK_DEV_UMEM=m CONFIG_BLK_DEV=y CONFIG_BLK_DEV_ZONED=y @@ -490,6 +492,7 @@ CONFIG_BNX2=m CONFIG_BNX2X=m CONFIG_BNX2X_SRIOV=y CONFIG_BNXT_DCB=y +CONFIG_BNXT_FLOWER_OFFLOAD=y CONFIG_BNXT=m CONFIG_BNXT_SRIOV=y CONFIG_BONDING=m @@ -500,6 +503,7 @@ CONFIG_BONDING=m CONFIG_BOOT_PRINTK_DELAY=y CONFIG_BOUNCE=y CONFIG_BPF_JIT=y +CONFIG_BPF_STREAM_PARSER=y CONFIG_BPF_SYSCALL=y CONFIG_BPQETHER=m # CONFIG_BRCMDBG is not set @@ -588,7 +592,6 @@ CONFIG_BT_RFCOMM_TTY=y CONFIG_BTRFS_FS=m CONFIG_BTRFS_FS_POSIX_ACL=y # CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set -CONFIG_BT_SCO=y # CONFIG_BT_SELFTEST is not set # CONFIG_BTT is not set CONFIG_BT_WILINK=m @@ -660,11 +663,13 @@ CONFIG_CB710_CORE=m # CONFIG_CB710_DEBUG is not set # CONFIG_CC10001_ADC is not set # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set +# CONFIG_CCS811 is not set CONFIG_CC_STACKPROTECTOR_STRONG=y CONFIG_CC_STACKPROTECTOR=y CONFIG_CDROM_PKTCDVD_BUFFERS=8 CONFIG_CDROM_PKTCDVD=m # CONFIG_CDROM_PKTCDVD_WCACHE is not set +CONFIG_CEC_PIN=y CONFIG_CEC_PLATFORM_DRIVERS=y CONFIG_CEPH_FSCACHE=y CONFIG_CEPH_FS=m @@ -707,7 +712,6 @@ CONFIG_CGROUPS=y # CONFIG_CHARGER_LTC3651 is not set # CONFIG_CHARGER_MAX8903 is not set # CONFIG_CHARGER_PCF50633 is not set -# CONFIG_CHARGER_QCOM_SMBB is not set # CONFIG_CHARGER_RT9455 is not set # CONFIG_CHARGER_SBS is not set CONFIG_CHARGER_SMB347=m @@ -743,9 +747,10 @@ CONFIG_CIFS_STATS=y CONFIG_CIFS_UPCALL=y CONFIG_CIFS_WEAK_PW_HASH=y CONFIG_CIFS_XATTR=y -CONFIG_CISS_SCSI_TAPE=y CONFIG_CLEANCACHE=y +# CONFIG_CLK_HSDK is not set # CONFIG_CLK_QORIQ is not set +# CONFIG_CLOCK_THERMAL is not set CONFIG_CLS_U32_MARK=y CONFIG_CLS_U32_PERF=y CONFIG_CM32181=m @@ -863,6 +868,7 @@ CONFIG_CRYPTO_DEV_QAT_C62X=m CONFIG_CRYPTO_DEV_QAT_C62XVF=m CONFIG_CRYPTO_DEV_QAT_DH895xCC=m CONFIG_CRYPTO_DEV_QAT_DH895xCCVF=m +# CONFIG_CRYPTO_DEV_SP_CCP is not set CONFIG_CRYPTO_DEV_VIRTIO=m CONFIG_CRYPTO_DH=y CONFIG_CRYPTO_DRBG_CTR=y @@ -1027,6 +1033,7 @@ CONFIG_DEV_APPLETALK=m # CONFIG_DEVFREQ_GOV_POWERSAVE is not set CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=m # CONFIG_DEVFREQ_GOV_USERSPACE is not set +# CONFIG_DEVFREQ_THERMAL is not set # CONFIG_DEVKMEM is not set CONFIG_DEVMEM=y CONFIG_DEVPORT=y @@ -1199,6 +1206,7 @@ CONFIG_DVB_BUDGET_PATCH=m CONFIG_DVB_CORE=m # CONFIG_DVB_CXD2099 is not set CONFIG_DVB_DDBRIDGE=m +# CONFIG_DVB_DDBRIDGE_MSIENABLE is not set # CONFIG_DVB_DEMUX_SECTION_LOSS_LOG is not set CONFIG_DVB_DM1105=m CONFIG_DVB_DYNAMIC_MINORS=y @@ -1273,7 +1281,7 @@ CONFIG_E1000=m CONFIG_E100=m CONFIG_EARLY_PRINTK_DBGP=y CONFIG_EARLY_PRINTK_EFI=y -# CONFIG_EARLY_PRINTK_USB_XDBC is not set +CONFIG_EARLY_PRINTK_USB_XDBC=y # CONFIG_EBC_C384_WDT is not set CONFIG_ECHO=m CONFIG_ECRYPT_FS=m @@ -1353,7 +1361,6 @@ CONFIG_ETHOC=m # CONFIG_EVM is not set # CONFIG_EXOFS_DEBUG is not set # CONFIG_EXOFS_FS is not set -CONFIG_EXPERIMENTAL=y # CONFIG_EXPERT is not set CONFIG_EXPORTFS=y # CONFIG_EXT2_FS is not set @@ -1593,6 +1600,7 @@ CONFIG_GIRBIL_DONGLE=m # CONFIG_GPIO_ALTERA is not set # CONFIG_GPIO_AMD8111 is not set # CONFIG_GPIO_AMDPT is not set +CONFIG_GPIO_BD9571MWV=m # CONFIG_GPIO_BT8XX is not set CONFIG_GPIO_CRYSTAL_COVE=y # CONFIG_GPIO_CS5535 is not set @@ -1628,6 +1636,7 @@ CONFIG_GPIO_SCH=m # CONFIG_GPIO_SYSCON is not set # CONFIG_GPIO_SYSFS is not set # CONFIG_GPIO_TPIC2810 is not set +CONFIG_GPIO_TPS68470=y # CONFIG_GPIO_TS4900 is not set # CONFIG_GPIO_TS5500 is not set CONFIG_GPIO_VIPERBOARD=m @@ -1675,7 +1684,7 @@ CONFIG_HID_CHERRY=m CONFIG_HID_CHICONY=m CONFIG_HID_CMEDIA=m CONFIG_HID_CORSAIR=m -# CONFIG_HID_CP2112 is not set +CONFIG_HID_CP2112=m CONFIG_HID_CYPRESS=m CONFIG_HID_DRAGONRISE=m CONFIG_HID_ELECOM=m @@ -1861,6 +1870,7 @@ CONFIG_HYPERV=m CONFIG_HYPERV_NET=m CONFIG_HYPERV_STORAGE=m CONFIG_HYPERV_UTILS=m +CONFIG_HYPERV_VSOCKETS=m CONFIG_HYSDN_CAPI=y CONFIG_HYSDN=m CONFIG_HZ_1000=y @@ -2032,6 +2042,7 @@ CONFIG_INET=y # CONFIG_INFINIBAND_CXGB3_DEBUG is not set CONFIG_INFINIBAND_CXGB3=m CONFIG_INFINIBAND_CXGB4=m +# CONFIG_INFINIBAND_EXP_USER_ACCESS is not set CONFIG_INFINIBAND_I40IW=m CONFIG_INFINIBAND_IPOIB_CM=y CONFIG_INFINIBAND_IPOIB_DEBUG_DATA=y @@ -2058,7 +2069,6 @@ CONFIG_INFINIBAND_VMWARE_PVRDMA=m # CONFIG_INFTL is not set CONFIG_INITRAMFS_SOURCE="" CONFIG_INOTIFY_USER=y -CONFIG_INOTIFY=y # CONFIG_INPUT_AD714X is not set # CONFIG_INPUT_ADXL34X is not set CONFIG_INPUT_APANEL=m @@ -2107,7 +2117,9 @@ CONFIG_INPUT_PMIC8XXX_PWRKEY=m CONFIG_INPUT_POLLDEV=m CONFIG_INPUT_POWERMATE=m CONFIG_INPUT_PWM_BEEPER=m +# CONFIG_INPUT_PWM_VIBRA is not set CONFIG_INPUT_RETU_PWRBUTTON=m +CONFIG_INPUT_RK805_PWRKEY=m CONFIG_INPUT_SOC_BUTTON_ARRAY=m CONFIG_INPUT_SPARSEKMAP=m CONFIG_INPUT_TABLET=y @@ -2147,6 +2159,7 @@ CONFIG_INTEL_POWERCLAMP=m CONFIG_INTEL_PUNIT_IPC=m CONFIG_INTEL_RAPL=m CONFIG_INTEL_RDT_A=y +CONFIG_INTEL_RDT=y CONFIG_INTEL_RST=m # CONFIG_INTEL_SCU_IPC is not set CONFIG_INTEL_SMARTCONNECT=y @@ -2198,7 +2211,7 @@ CONFIG_IP_DCCP_CCID2=m # CONFIG_IP_DCCP_CCID3_DEBUG is not set CONFIG_IP_DCCP_CCID3=y # CONFIG_IP_DCCP_DEBUG is not set -CONFIG_IP_DCCP=m +# CONFIG_IP_DCCP is not set CONFIG_IPDDP_ENCAP=y CONFIG_IPDDP=m CONFIG_IP_FIB_TRIE_STATS=y @@ -2325,6 +2338,7 @@ CONFIG_IRDA=m CONFIG_IR_ENE=m CONFIG_IR_FINTEK=m CONFIG_IR_GPIO_CIR=m +CONFIG_IR_GPIO_TX=m CONFIG_IR_HIX5HD2=m CONFIG_IR_IGORPLUGUSB=m CONFIG_IR_IGUANA=m @@ -2339,6 +2353,7 @@ CONFIG_IR_MCEUSB=m CONFIG_IR_NEC_DECODER=m CONFIG_IRNET=m CONFIG_IR_NUVOTON=m +CONFIG_IR_PWM_TX=m # CONFIG_IRQ_DOMAIN_DEBUG is not set # CONFIG_IRQSOFF_TRACER is not set CONFIG_IRQ_TIME_ACCOUNTING=y @@ -2570,6 +2585,7 @@ CONFIG_LCD_PLATFORM=m # CONFIG_LDM_DEBUG is not set CONFIG_LDM_PARTITION=y # CONFIG_LEDS_AAT1290 is not set +CONFIG_LEDS_AS3645A=m # CONFIG_LEDS_BCM6328 is not set # CONFIG_LEDS_BCM6358 is not set # CONFIG_LEDS_BD2802 is not set @@ -2670,6 +2686,7 @@ CONFIG_LOAD_UEFI_KEYS=y CONFIG_LOCALVERSION="" # CONFIG_LOCALVERSION_AUTO is not set CONFIG_LOCKD=m +# CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT is not set CONFIG_LOCK_DOWN_KERNEL=y CONFIG_LOCKD_V4=y # CONFIG_LOCK_STAT is not set @@ -2695,6 +2712,7 @@ CONFIG_LPFC_NVME_INITIATOR=y CONFIG_LPFC_NVME_TARGET=y CONFIG_LSI_ET1011C_PHY=m CONFIG_LSM_MMAP_MIN_ADDR=65536 +# CONFIG_LTC2471 is not set # CONFIG_LTC2485 is not set # CONFIG_LTC2497 is not set # CONFIG_LTC2632 is not set @@ -2758,7 +2776,7 @@ CONFIG_MAX30100=m # CONFIG_MAX9611 is not set # CONFIG_MAXIM_THERMOCOUPLE is not set CONFIG_MAX_RAW_DEVS=8192 -CONFIG_MAXSMP=y +# CONFIG_MAXSMP is not set # CONFIG_MC3230 is not set # CONFIG_MCB is not set # CONFIG_MCE_AMD_INJ is not set @@ -2782,6 +2800,7 @@ CONFIG_MDIO_BITBANG=m # CONFIG_MDIO_BUS_MUX_MMIOREG is not set # CONFIG_MDIO_GPIO is not set # CONFIG_MDIO_HISI_FEMAC is not set +CONFIG_MDIO_I2C=m # CONFIG_MDIO_OCTEON is not set # CONFIG_MDIO_THUNDER is not set CONFIG_MD_LINEAR=m @@ -2846,6 +2865,7 @@ CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 # CONFIG_MFD_AXP20X_I2C is not set # CONFIG_MFD_AXP20X is not set # CONFIG_MFD_BCM590XX is not set +CONFIG_MFD_BD9571MWV=m CONFIG_MFD_CORE=y # CONFIG_MFD_CPCAP is not set # CONFIG_MFD_CROS_EC is not set @@ -2913,6 +2933,7 @@ CONFIG_MFD_SM501=m # CONFIG_MFD_TPS65912_I2C is not set # CONFIG_MFD_TPS65912 is not set # CONFIG_MFD_TPS65912_SPI is not set +CONFIG_MFD_TPS68470=y # CONFIG_MFD_TPS80031 is not set CONFIG_MFD_VIPERBOARD=m CONFIG_MFD_VX855=m @@ -2962,8 +2983,10 @@ CONFIG_MLX5_CORE_EN=y CONFIG_MLX5_CORE_IPOIB=y CONFIG_MLX5_CORE=m # CONFIG_MLX5_EN_IPSEC is not set +CONFIG_MLX5_ESWITCH=y # CONFIG_MLX5_FPGA is not set # CONFIG_MLX5_INFINIBAND is not set +CONFIG_MLX5_MPFS=y # CONFIG_MLX90614 is not set CONFIG_MLX_CPLD_PLATFORM=m CONFIG_MLXFW=m @@ -2984,7 +3007,6 @@ CONFIG_MMA7660=m # CONFIG_MMA9551 is not set # CONFIG_MMA9553 is not set # CONFIG_MMC35240 is not set -CONFIG_MMC_BLOCK_BOUNCE=y CONFIG_MMC_BLOCK=m CONFIG_MMC_BLOCK_MINORS=8 CONFIG_MMC_CB710=m @@ -3345,6 +3367,7 @@ CONFIG_NETLABEL=y CONFIG_NETLINK_DIAG=m CONFIG_NET_MPLS_GSO=m CONFIG_NET_NCSI=y +CONFIG_NET_NSH=m CONFIG_NET_NS=y CONFIG_NET_PACKET_ENGINE=y CONFIG_NET_PKTGEN=m @@ -3414,6 +3437,7 @@ CONFIG_NET_VENDOR_EXAR=y # CONFIG_NET_VENDOR_FUJITSU is not set # CONFIG_NET_VENDOR_HISILICON is not set # CONFIG_NET_VENDOR_HP is not set +# CONFIG_NET_VENDOR_HUAWEI is not set # CONFIG_NET_VENDOR_I825XX is not set CONFIG_NET_VENDOR_INTEL=y CONFIG_NET_VENDOR_MARVELL=y @@ -3435,6 +3459,7 @@ CONFIG_NET_VENDOR_ROCKER=y CONFIG_NET_VENDOR_SILAN=y CONFIG_NET_VENDOR_SIS=y CONFIG_NET_VENDOR_SMSC=y +# CONFIG_NET_VENDOR_SNI is not set CONFIG_NET_VENDOR_SOLARFLARE=y CONFIG_NET_VENDOR_STMICRO=y CONFIG_NET_VENDOR_SUN=y @@ -3574,6 +3599,7 @@ CONFIG_NFT_EXTHDR=m CONFIG_NFT_FIB_INET=m CONFIG_NFT_FIB_IPV4=m CONFIG_NFT_FIB_IPV6=m +CONFIG_NFT_FIB_NETDEV=m CONFIG_NFT_FWD_NETDEV=m CONFIG_NFT_HASH=m CONFIG_NFT_LIMIT=m @@ -3817,6 +3843,7 @@ CONFIG_PCIEAER=y # CONFIG_PCIEASPM_DEBUG is not set CONFIG_PCIEASPM=y CONFIG_PCIE_DPC=y +# CONFIG_PCIE_DW_HOST_ECAM is not set # CONFIG_PCIE_DW_PLAT is not set CONFIG_PCIE_ECRC=y # CONFIG_PCI_ENDPOINT is not set @@ -3875,6 +3902,8 @@ CONFIG_PERSISTENT_KEYRINGS=y # CONFIG_PHONET is not set # CONFIG_PHY_CPCAP_USB is not set CONFIG_PHYLIB=y +CONFIG_PHYLINK=m +# CONFIG_PHY_MVEBU_CP110_COMPHY is not set # CONFIG_PHY_PXA_28NM_HSIC is not set # CONFIG_PHY_PXA_28NM_USB2 is not set # CONFIG_PHY_QCOM_USB_HSIC is not set @@ -3884,19 +3913,23 @@ CONFIG_PHYSICAL_START=0x400000 # CONFIG_PHY_ST_SPEAR1310_MIPHY is not set # CONFIG_PHY_ST_SPEAR1340_MIPHY is not set # CONFIG_PHY_TUSB1210 is not set +# CONFIG_PI433 is not set CONFIG_PID_NS=y CONFIG_PINCONF=y # CONFIG_PINCTRL_AMD is not set CONFIG_PINCTRL_BAYTRAIL=y -# CONFIG_PINCTRL_BCM281XX is not set CONFIG_PINCTRL_BROXTON=m # CONFIG_PINCTRL_CANNONLAKE is not set CONFIG_PINCTRL_CHERRYVIEW=y +CONFIG_PINCTRL_DENVERTON=m # CONFIG_PINCTRL_GEMINILAKE is not set # CONFIG_PINCTRL_IPQ8074 is not set +CONFIG_PINCTRL_LEWISBURG=m # CONFIG_PINCTRL_MCP23S08 is not set -# CONFIG_PINCTRL_MSM8994 is not set +CONFIG_PINCTRL_RK805=m # CONFIG_PINCTRL_SINGLE is not set +# CONFIG_PINCTRL_SPRD is not set +# CONFIG_PINCTRL_SPRD_SC9860 is not set CONFIG_PINCTRL_SUNRISEPOINT=m # CONFIG_PINCTRL_SX150X is not set CONFIG_PINCTRL=y @@ -3915,7 +3948,7 @@ CONFIG_PM_DEVFREQ=y # CONFIG_PMIC_ADP5520 is not set # CONFIG_PMIC_DA903X is not set CONFIG_PMIC_OPREGION=y -# CONFIG_PM_OPP is not set +CONFIG_PM_OPP=y CONFIG_PM_STD_PARTITION="" CONFIG_PM_TEST_SUSPEND=y CONFIG_PM_TRACE_RTC=y @@ -4008,6 +4041,7 @@ CONFIG_PWRSEQ_SIMPLE=m # CONFIG_QCA7000_SPI is not set # CONFIG_QCA7000_UART is not set # CONFIG_QCOM_EMAC is not set +# CONFIG_QCOM_GLINK_SSR is not set # CONFIG_QCOM_HIDMA is not set # CONFIG_QCOM_HIDMA_MGMT is not set CONFIG_QEDE=m @@ -4037,6 +4071,7 @@ CONFIG_R8169=m # CONFIG_R8188EU is not set CONFIG_R8712U=m CONFIG_R8723AU=m # Jes Sorensen maintains this (rhbz 1100162) +CONFIG_R8822BE=m CONFIG_RADIO_ADAPTERS=y CONFIG_RADIO_AZTECH=m CONFIG_RADIO_CADET=m @@ -4105,6 +4140,7 @@ CONFIG_REALTEK_PHY=m # CONFIG_REFCOUNT_FULL is not set CONFIG_REGMAP_I2C=y CONFIG_REGMAP=y +CONFIG_REGULATOR_BD9571MWV=m # CONFIG_REGULATOR_DEBUG is not set # CONFIG_REGULATOR is not set # CONFIG_REGULATOR_TPS65132 is not set @@ -4119,6 +4155,8 @@ CONFIG_RELAY=y # CONFIG_RELOCATABLE_TEST is not set CONFIG_RELOCATABLE=y CONFIG_REMOTEPROC=m +CONFIG_RESET_ATTACK_MITIGATION=y +# CONFIG_RESET_HSDK_V1 is not set # CONFIG_RESET_TI_SYSCON is not set # CONFIG_RFD_FTL is not set CONFIG_RFKILL_GPIO=m @@ -4138,6 +4176,8 @@ CONFIG_RMI4_F55=y CONFIG_RMI4_I2C=m CONFIG_RMI4_SMB=m CONFIG_RMI4_SPI=m +# CONFIG_RMNET is not set +# CONFIG_ROCKCHIP_PHY is not set CONFIG_ROCKER=m CONFIG_ROCKETPORT=m CONFIG_ROMFS_FS=m @@ -4145,6 +4185,7 @@ CONFIG_ROSE=m CONFIG_RPCSEC_GSS_KRB5=m # CONFIG_RPMSG_CHAR is not set # CONFIG_RPMSG_QCOM_GLINK_RPM is not set +# CONFIG_RPMSG_QCOM_GLINK_SMEM is not set CONFIG_RPR0521=m CONFIG_RSI_91X=m CONFIG_RSI_DEBUGFS=y @@ -4522,6 +4563,7 @@ CONFIG_SENSORS_HDAPS=m CONFIG_SENSORS_I5500=m CONFIG_SENSORS_I5K_AMB=m CONFIG_SENSORS_IBMAEM=m +# CONFIG_SENSORS_IBM_CFFPS is not set CONFIG_SENSORS_IBMPEX=m # CONFIG_SENSORS_IIO_HWMON is not set CONFIG_SENSORS_INA209=m @@ -4613,6 +4655,7 @@ CONFIG_SENSORS_TMP108=m CONFIG_SENSORS_TMP401=m CONFIG_SENSORS_TMP421=m CONFIG_SENSORS_TPS40422=m +CONFIG_SENSORS_TPS53679=m CONFIG_SENSORS_TSL2550=m # CONFIG_SENSORS_TSL2563 is not set CONFIG_SENSORS_UCD9000=m @@ -4686,6 +4729,7 @@ CONFIG_SERIO_ALTERA_PS2=m # CONFIG_SERIO_APBPS2 is not set CONFIG_SERIO_ARC_PS2=m # CONFIG_SERIO_CT82C710 is not set +# CONFIG_SERIO_GPIO_PS2 is not set CONFIG_SERIO_I8042=y CONFIG_SERIO_LIBPS2=y # CONFIG_SERIO_OLPC_APSP is not set @@ -4699,6 +4743,7 @@ CONFIG_SFC_FALCON=m CONFIG_SFC_FALCON_MTD=y # CONFIG_SFC is not set CONFIG_SFI=y +CONFIG_SFP=m # CONFIG_SGI_IOC4 is not set CONFIG_SGI_PARTITION=y CONFIG_SH_ETH=m @@ -4718,6 +4763,7 @@ CONFIG_SKGE_GENESIS=y CONFIG_SKGE=m # CONFIG_SKY2_DEBUG is not set CONFIG_SKY2=m +CONFIG_SLAB_FREELIST_HARDENED=y CONFIG_SLAB_FREELIST_RANDOM=y CONFIG_SLAB_MERGE_DEFAULT=y # CONFIG_SLICOSS is not set @@ -4825,7 +4871,7 @@ CONFIG_SND_HDA_INPUT_BEEP_MODE=0 CONFIG_SND_HDA_INPUT_BEEP=y CONFIG_SND_HDA_INTEL=m CONFIG_SND_HDA_PATCH_LOADER=y -CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0 +CONFIG_SND_HDA_POWER_SAVE_DEFAULT=1 CONFIG_SND_HDA_POWER_SAVE=y CONFIG_SND_HDA_PREALLOC_SIZE=4096 CONFIG_SND_HDA_RECONFIG=y @@ -4914,6 +4960,7 @@ CONFIG_SND_SOC_CS42L42=m # CONFIG_SND_SOC_CS42L56 is not set # CONFIG_SND_SOC_CS42L73 is not set # CONFIG_SND_SOC_CS42XX8_I2C is not set +CONFIG_SND_SOC_CS43130=m # CONFIG_SND_SOC_CS4349 is not set # CONFIG_SND_SOC_CS53L30 is not set CONFIG_SND_SOC_DIO2125=m @@ -5001,6 +5048,7 @@ CONFIG_SND_SOC_SSM4567=m CONFIG_SND_SOC_TS3A227E=m # CONFIG_SND_SOC_WM8510 is not set # CONFIG_SND_SOC_WM8523 is not set +CONFIG_SND_SOC_WM8524=m # CONFIG_SND_SOC_WM8580 is not set # CONFIG_SND_SOC_WM8711 is not set # CONFIG_SND_SOC_WM8728 is not set @@ -5100,6 +5148,7 @@ CONFIG_SQUASHFS=m CONFIG_SQUASHFS_XATTR=y CONFIG_SQUASHFS_XZ=y CONFIG_SQUASHFS_ZLIB=y +CONFIG_SQUASHFS_ZSTD=y # CONFIG_SRAM is not set # CONFIG_SRF04 is not set # CONFIG_SRF08 is not set @@ -5134,6 +5183,7 @@ CONFIG_STMMAC_ETH=m # CONFIG_STMMAC_PLATFORM is not set # CONFIG_STM_SOURCE_CONSOLE is not set CONFIG_STRICT_DEVMEM=y +# CONFIG_STRING_SELFTEST is not set CONFIG_STRIP_ASM_SYMS=y # CONFIG_STRIP is not set CONFIG_SUNDANCE=m @@ -5298,7 +5348,6 @@ CONFIG_TIPC=m CONFIG_TIPC_MEDIA_UDP=y CONFIG_TI_SCI_PROTOCOL=m # CONFIG_TI_ST is not set -# CONFIG_TI_SYSCON_RESET is not set # CONFIG_TI_TLC4541 is not set CONFIG_TLAN=m CONFIG_TLS=m @@ -5584,7 +5633,6 @@ CONFIG_USB_KEENE=m CONFIG_USB_LAN78XX=m CONFIG_USB_LCD=m CONFIG_USB_LD=m -CONFIG_USB_LED=m CONFIG_USB_LEDS_TRIGGER_USBPORT=m CONFIG_USB_LED_TRIG=y CONFIG_USB_LEGOTOWER=m @@ -5863,7 +5911,6 @@ CONFIG_VIDEO_NOON010PC30=m CONFIG_VIDEO_PVRUSB2_DVB=y CONFIG_VIDEO_PVRUSB2=m CONFIG_VIDEO_PVRUSB2_SYSFS=y -# CONFIG_VIDEO_RENESAS_VSP1 is not set CONFIG_VIDEO_SAA6588=m CONFIG_VIDEO_SAA7134_ALSA=m CONFIG_VIDEO_SAA7134_DVB=m @@ -5966,6 +6013,7 @@ CONFIG_W1_SLAVE_DS2438=m CONFIG_W1_SLAVE_DS2760=m CONFIG_W1_SLAVE_DS2780=m CONFIG_W1_SLAVE_DS2781=m +CONFIG_W1_SLAVE_DS2805=m CONFIG_W1_SLAVE_DS28E04=m CONFIG_W1_SLAVE_SMEM=m CONFIG_W1_SLAVE_THERM=m @@ -5985,6 +6033,7 @@ CONFIG_WATCHDOG=y CONFIG_WCN36XX=m CONFIG_WDAT_WDT=m CONFIG_WDTPCI=m +CONFIG_WIL6210_DEBUGFS=y CONFIG_WIL6210_ISR_COR=y CONFIG_WIL6210=m # CONFIG_WIL6210_TRACING is not set @@ -6108,6 +6157,7 @@ CONFIG_XEN_NETDEV_BACKEND=m CONFIG_XEN_NETDEV_FRONTEND=m CONFIG_XEN_PCIDEV_BACKEND=m CONFIG_XEN_PCIDEV_FRONTEND=m +# CONFIG_XEN_PVCALLS_BACKEND is not set CONFIG_XEN_PVHVM=y CONFIG_XEN_PVH=y CONFIG_XEN_PV=y @@ -6161,6 +6211,7 @@ CONFIG_ZLIB_INFLATE=y CONFIG_ZONE_DMA=y # CONFIG_ZPA2326 is not set CONFIG_ZRAM=m +# CONFIG_ZRAM_WRITEBACK is not set # CONFIG_ZSMALLOC_STAT is not set CONFIG_ZSMALLOC=y CONFIG_ZSWAP=y diff --git a/freed-ora/current/f26/kernel-i686-PAEdebug.config b/freed-ora/current/f26/kernel-i686-PAEdebug.config index acaf5fc32..f4cdb78e1 100644 --- a/freed-ora/current/f26/kernel-i686-PAEdebug.config +++ b/freed-ora/current/f26/kernel-i686-PAEdebug.config @@ -197,7 +197,9 @@ CONFIG_ALI_FIR=m CONFIG_ALIM1535_WDT=m CONFIG_ALIM7101_WDT=m # CONFIG_ALIX is not set +CONFIG_ALLOW_LOCKDOWN_LIFT_BY_SYSRQ=y # CONFIG_ALTERA_MBOX is not set +CONFIG_ALTERA_MSGDMA=m CONFIG_ALTERA_STAPL=m CONFIG_ALTERA_TSE=m CONFIG_ALX=m @@ -253,6 +255,7 @@ CONFIG_ATH10K=m CONFIG_ATH10K_PCI=m CONFIG_ATH10K_SDIO=m # CONFIG_ATH10K_TRACING is not set +CONFIG_ATH10K_USB=m CONFIG_ATH5K_DEBUG=y CONFIG_ATH5K=m # CONFIG_ATH5K_TRACER is not set @@ -389,6 +392,7 @@ CONFIG_BATMAN_ADV_NC=y # CONFIG_BATTERY_LEGO_EV3 is not set # CONFIG_BATTERY_MAX17040 is not set # CONFIG_BATTERY_MAX17042 is not set +# CONFIG_BATTERY_MAX1721X is not set CONFIG_BATTERY_OLPC=y # CONFIG_BATTERY_SBS is not set CONFIG_BAYCOM_EPP=m @@ -431,7 +435,6 @@ CONFIG_BINFMT_MISC=m CONFIG_BINFMT_SCRIPT=y CONFIG_BLK_CGROUP=y # CONFIG_BLK_CMDLINE_PARSER is not set -CONFIG_BLK_CPQ_CISS_DA=m CONFIG_BLK_DEBUG_FS=y CONFIG_BLK_DEV_3W_XXXX_RAID=m CONFIG_BLK_DEV_AMD74XX=y @@ -468,7 +471,6 @@ CONFIG_BLK_DEV_SR=y CONFIG_BLK_DEV_SX8=m # CONFIG_BLK_DEV_THROTTLING_LOW is not set CONFIG_BLK_DEV_THROTTLING=y -# CONFIG_BLK_DEV_UB is not set CONFIG_BLK_DEV_UMEM=m CONFIG_BLK_DEV=y CONFIG_BLK_DEV_ZONED=y @@ -491,6 +493,7 @@ CONFIG_BNX2=m CONFIG_BNX2X=m CONFIG_BNX2X_SRIOV=y CONFIG_BNXT_DCB=y +CONFIG_BNXT_FLOWER_OFFLOAD=y CONFIG_BNXT=m CONFIG_BNXT_SRIOV=y CONFIG_BONDING=m @@ -501,6 +504,7 @@ CONFIG_BONDING=m CONFIG_BOOT_PRINTK_DELAY=y CONFIG_BOUNCE=y CONFIG_BPF_JIT=y +CONFIG_BPF_STREAM_PARSER=y CONFIG_BPF_SYSCALL=y CONFIG_BPQETHER=m # CONFIG_BRCMDBG is not set @@ -589,7 +593,6 @@ CONFIG_BT_RFCOMM_TTY=y CONFIG_BTRFS_FS=m CONFIG_BTRFS_FS_POSIX_ACL=y # CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set -CONFIG_BT_SCO=y # CONFIG_BT_SELFTEST is not set # CONFIG_BTT is not set CONFIG_BT_WILINK=m @@ -661,11 +664,13 @@ CONFIG_CB710_CORE=m # CONFIG_CB710_DEBUG is not set # CONFIG_CC10001_ADC is not set # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set +# CONFIG_CCS811 is not set CONFIG_CC_STACKPROTECTOR_STRONG=y CONFIG_CC_STACKPROTECTOR=y CONFIG_CDROM_PKTCDVD_BUFFERS=8 CONFIG_CDROM_PKTCDVD=m # CONFIG_CDROM_PKTCDVD_WCACHE is not set +CONFIG_CEC_PIN=y CONFIG_CEC_PLATFORM_DRIVERS=y CONFIG_CEPH_FSCACHE=y CONFIG_CEPH_FS=m @@ -708,7 +713,6 @@ CONFIG_CGROUPS=y # CONFIG_CHARGER_LTC3651 is not set # CONFIG_CHARGER_MAX8903 is not set # CONFIG_CHARGER_PCF50633 is not set -# CONFIG_CHARGER_QCOM_SMBB is not set # CONFIG_CHARGER_RT9455 is not set # CONFIG_CHARGER_SBS is not set CONFIG_CHARGER_SMB347=m @@ -744,9 +748,10 @@ CONFIG_CIFS_STATS=y CONFIG_CIFS_UPCALL=y CONFIG_CIFS_WEAK_PW_HASH=y CONFIG_CIFS_XATTR=y -CONFIG_CISS_SCSI_TAPE=y CONFIG_CLEANCACHE=y +# CONFIG_CLK_HSDK is not set # CONFIG_CLK_QORIQ is not set +# CONFIG_CLOCK_THERMAL is not set CONFIG_CLS_U32_MARK=y CONFIG_CLS_U32_PERF=y CONFIG_CM32181=m @@ -865,6 +870,7 @@ CONFIG_CRYPTO_DEV_QAT_C62X=m CONFIG_CRYPTO_DEV_QAT_C62XVF=m CONFIG_CRYPTO_DEV_QAT_DH895xCC=m CONFIG_CRYPTO_DEV_QAT_DH895xCCVF=m +# CONFIG_CRYPTO_DEV_SP_CCP is not set CONFIG_CRYPTO_DEV_VIRTIO=m CONFIG_CRYPTO_DH=y CONFIG_CRYPTO_DRBG_CTR=y @@ -1037,6 +1043,7 @@ CONFIG_DEV_APPLETALK=m # CONFIG_DEVFREQ_GOV_POWERSAVE is not set CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=m # CONFIG_DEVFREQ_GOV_USERSPACE is not set +# CONFIG_DEVFREQ_THERMAL is not set # CONFIG_DEVKMEM is not set CONFIG_DEVMEM=y CONFIG_DEVPORT=y @@ -1210,6 +1217,7 @@ CONFIG_DVB_BUDGET_PATCH=m CONFIG_DVB_CORE=m # CONFIG_DVB_CXD2099 is not set CONFIG_DVB_DDBRIDGE=m +# CONFIG_DVB_DDBRIDGE_MSIENABLE is not set # CONFIG_DVB_DEMUX_SECTION_LOSS_LOG is not set CONFIG_DVB_DM1105=m CONFIG_DVB_DYNAMIC_MINORS=y @@ -1284,7 +1292,7 @@ CONFIG_E1000=m CONFIG_E100=m CONFIG_EARLY_PRINTK_DBGP=y CONFIG_EARLY_PRINTK_EFI=y -# CONFIG_EARLY_PRINTK_USB_XDBC is not set +CONFIG_EARLY_PRINTK_USB_XDBC=y # CONFIG_EBC_C384_WDT is not set CONFIG_ECHO=m CONFIG_ECRYPT_FS=m @@ -1364,7 +1372,6 @@ CONFIG_ETHOC=m # CONFIG_EVM is not set # CONFIG_EXOFS_DEBUG is not set # CONFIG_EXOFS_FS is not set -CONFIG_EXPERIMENTAL=y # CONFIG_EXPERT is not set CONFIG_EXPORTFS=y # CONFIG_EXT2_FS is not set @@ -1611,6 +1618,7 @@ CONFIG_GIRBIL_DONGLE=m # CONFIG_GPIO_ALTERA is not set # CONFIG_GPIO_AMD8111 is not set # CONFIG_GPIO_AMDPT is not set +CONFIG_GPIO_BD9571MWV=m # CONFIG_GPIO_BT8XX is not set CONFIG_GPIO_CRYSTAL_COVE=y # CONFIG_GPIO_CS5535 is not set @@ -1646,6 +1654,7 @@ CONFIG_GPIO_SCH=m # CONFIG_GPIO_SYSCON is not set # CONFIG_GPIO_SYSFS is not set # CONFIG_GPIO_TPIC2810 is not set +CONFIG_GPIO_TPS68470=y # CONFIG_GPIO_TS4900 is not set # CONFIG_GPIO_TS5500 is not set CONFIG_GPIO_VIPERBOARD=m @@ -1693,7 +1702,7 @@ CONFIG_HID_CHERRY=m CONFIG_HID_CHICONY=m CONFIG_HID_CMEDIA=m CONFIG_HID_CORSAIR=m -# CONFIG_HID_CP2112 is not set +CONFIG_HID_CP2112=m CONFIG_HID_CYPRESS=m CONFIG_HID_DRAGONRISE=m CONFIG_HID_ELECOM=m @@ -1879,6 +1888,7 @@ CONFIG_HYPERV=m CONFIG_HYPERV_NET=m CONFIG_HYPERV_STORAGE=m CONFIG_HYPERV_UTILS=m +CONFIG_HYPERV_VSOCKETS=m CONFIG_HYSDN_CAPI=y CONFIG_HYSDN=m CONFIG_HZ_1000=y @@ -2050,6 +2060,7 @@ CONFIG_INET=y # CONFIG_INFINIBAND_CXGB3_DEBUG is not set CONFIG_INFINIBAND_CXGB3=m CONFIG_INFINIBAND_CXGB4=m +# CONFIG_INFINIBAND_EXP_USER_ACCESS is not set CONFIG_INFINIBAND_I40IW=m CONFIG_INFINIBAND_IPOIB_CM=y CONFIG_INFINIBAND_IPOIB_DEBUG_DATA=y @@ -2076,7 +2087,6 @@ CONFIG_INFINIBAND_VMWARE_PVRDMA=m # CONFIG_INFTL is not set CONFIG_INITRAMFS_SOURCE="" CONFIG_INOTIFY_USER=y -CONFIG_INOTIFY=y # CONFIG_INPUT_AD714X is not set # CONFIG_INPUT_ADXL34X is not set CONFIG_INPUT_APANEL=m @@ -2125,7 +2135,9 @@ CONFIG_INPUT_PMIC8XXX_PWRKEY=m CONFIG_INPUT_POLLDEV=m CONFIG_INPUT_POWERMATE=m CONFIG_INPUT_PWM_BEEPER=m +# CONFIG_INPUT_PWM_VIBRA is not set CONFIG_INPUT_RETU_PWRBUTTON=m +CONFIG_INPUT_RK805_PWRKEY=m CONFIG_INPUT_SOC_BUTTON_ARRAY=m CONFIG_INPUT_SPARSEKMAP=m CONFIG_INPUT_TABLET=y @@ -2165,6 +2177,7 @@ CONFIG_INTEL_POWERCLAMP=m CONFIG_INTEL_PUNIT_IPC=m CONFIG_INTEL_RAPL=m CONFIG_INTEL_RDT_A=y +CONFIG_INTEL_RDT=y CONFIG_INTEL_RST=m # CONFIG_INTEL_SCU_IPC is not set CONFIG_INTEL_SMARTCONNECT=y @@ -2216,7 +2229,7 @@ CONFIG_IP_DCCP_CCID2=m # CONFIG_IP_DCCP_CCID3_DEBUG is not set CONFIG_IP_DCCP_CCID3=y # CONFIG_IP_DCCP_DEBUG is not set -CONFIG_IP_DCCP=m +# CONFIG_IP_DCCP is not set CONFIG_IPDDP_ENCAP=y CONFIG_IPDDP=m CONFIG_IP_FIB_TRIE_STATS=y @@ -2343,6 +2356,7 @@ CONFIG_IRDA=m CONFIG_IR_ENE=m CONFIG_IR_FINTEK=m CONFIG_IR_GPIO_CIR=m +CONFIG_IR_GPIO_TX=m CONFIG_IR_HIX5HD2=m CONFIG_IR_IGORPLUGUSB=m CONFIG_IR_IGUANA=m @@ -2357,6 +2371,7 @@ CONFIG_IR_MCEUSB=m CONFIG_IR_NEC_DECODER=m CONFIG_IRNET=m CONFIG_IR_NUVOTON=m +CONFIG_IR_PWM_TX=m # CONFIG_IRQ_DOMAIN_DEBUG is not set # CONFIG_IRQSOFF_TRACER is not set CONFIG_IRQ_TIME_ACCOUNTING=y @@ -2590,6 +2605,7 @@ CONFIG_LCD_PLATFORM=m # CONFIG_LDM_DEBUG is not set CONFIG_LDM_PARTITION=y # CONFIG_LEDS_AAT1290 is not set +CONFIG_LEDS_AS3645A=m # CONFIG_LEDS_BCM6328 is not set # CONFIG_LEDS_BCM6358 is not set # CONFIG_LEDS_BD2802 is not set @@ -2690,6 +2706,7 @@ CONFIG_LOAD_UEFI_KEYS=y CONFIG_LOCALVERSION="" # CONFIG_LOCALVERSION_AUTO is not set CONFIG_LOCKD=m +# CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT is not set CONFIG_LOCK_DOWN_KERNEL=y CONFIG_LOCKD_V4=y CONFIG_LOCK_STAT=y @@ -2715,6 +2732,7 @@ CONFIG_LPFC_NVME_INITIATOR=y CONFIG_LPFC_NVME_TARGET=y CONFIG_LSI_ET1011C_PHY=m CONFIG_LSM_MMAP_MIN_ADDR=65536 +# CONFIG_LTC2471 is not set # CONFIG_LTC2485 is not set # CONFIG_LTC2497 is not set # CONFIG_LTC2632 is not set @@ -2802,6 +2820,7 @@ CONFIG_MDIO_BITBANG=m # CONFIG_MDIO_BUS_MUX_MMIOREG is not set # CONFIG_MDIO_GPIO is not set # CONFIG_MDIO_HISI_FEMAC is not set +CONFIG_MDIO_I2C=m # CONFIG_MDIO_OCTEON is not set # CONFIG_MDIO_THUNDER is not set CONFIG_MD_LINEAR=m @@ -2866,6 +2885,7 @@ CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 # CONFIG_MFD_AXP20X_I2C is not set # CONFIG_MFD_AXP20X is not set # CONFIG_MFD_BCM590XX is not set +CONFIG_MFD_BD9571MWV=m CONFIG_MFD_CORE=y # CONFIG_MFD_CPCAP is not set # CONFIG_MFD_CROS_EC is not set @@ -2933,6 +2953,7 @@ CONFIG_MFD_SM501=m # CONFIG_MFD_TPS65912_I2C is not set # CONFIG_MFD_TPS65912 is not set # CONFIG_MFD_TPS65912_SPI is not set +CONFIG_MFD_TPS68470=y # CONFIG_MFD_TPS80031 is not set CONFIG_MFD_VIPERBOARD=m CONFIG_MFD_VX855=m @@ -2982,8 +3003,10 @@ CONFIG_MLX5_CORE_EN=y CONFIG_MLX5_CORE_IPOIB=y CONFIG_MLX5_CORE=m # CONFIG_MLX5_EN_IPSEC is not set +CONFIG_MLX5_ESWITCH=y # CONFIG_MLX5_FPGA is not set # CONFIG_MLX5_INFINIBAND is not set +CONFIG_MLX5_MPFS=y # CONFIG_MLX90614 is not set CONFIG_MLX_CPLD_PLATFORM=m CONFIG_MLXFW=m @@ -3004,7 +3027,6 @@ CONFIG_MMA7660=m # CONFIG_MMA9551 is not set # CONFIG_MMA9553 is not set # CONFIG_MMC35240 is not set -CONFIG_MMC_BLOCK_BOUNCE=y CONFIG_MMC_BLOCK=m CONFIG_MMC_BLOCK_MINORS=8 CONFIG_MMC_CB710=m @@ -3365,6 +3387,7 @@ CONFIG_NETLABEL=y CONFIG_NETLINK_DIAG=m CONFIG_NET_MPLS_GSO=m CONFIG_NET_NCSI=y +CONFIG_NET_NSH=m CONFIG_NET_NS=y CONFIG_NET_PACKET_ENGINE=y CONFIG_NET_PKTGEN=m @@ -3434,6 +3457,7 @@ CONFIG_NET_VENDOR_EXAR=y # CONFIG_NET_VENDOR_FUJITSU is not set # CONFIG_NET_VENDOR_HISILICON is not set # CONFIG_NET_VENDOR_HP is not set +# CONFIG_NET_VENDOR_HUAWEI is not set # CONFIG_NET_VENDOR_I825XX is not set CONFIG_NET_VENDOR_INTEL=y CONFIG_NET_VENDOR_MARVELL=y @@ -3455,6 +3479,7 @@ CONFIG_NET_VENDOR_ROCKER=y CONFIG_NET_VENDOR_SILAN=y CONFIG_NET_VENDOR_SIS=y CONFIG_NET_VENDOR_SMSC=y +# CONFIG_NET_VENDOR_SNI is not set CONFIG_NET_VENDOR_SOLARFLARE=y CONFIG_NET_VENDOR_STMICRO=y CONFIG_NET_VENDOR_SUN=y @@ -3594,6 +3619,7 @@ CONFIG_NFT_EXTHDR=m CONFIG_NFT_FIB_INET=m CONFIG_NFT_FIB_IPV4=m CONFIG_NFT_FIB_IPV6=m +CONFIG_NFT_FIB_NETDEV=m CONFIG_NFT_FWD_NETDEV=m CONFIG_NFT_HASH=m CONFIG_NFT_LIMIT=m @@ -3837,6 +3863,7 @@ CONFIG_PCIEAER=y # CONFIG_PCIEASPM_DEBUG is not set CONFIG_PCIEASPM=y CONFIG_PCIE_DPC=y +# CONFIG_PCIE_DW_HOST_ECAM is not set # CONFIG_PCIE_DW_PLAT is not set CONFIG_PCIE_ECRC=y # CONFIG_PCI_ENDPOINT is not set @@ -3895,6 +3922,8 @@ CONFIG_PERSISTENT_KEYRINGS=y # CONFIG_PHONET is not set # CONFIG_PHY_CPCAP_USB is not set CONFIG_PHYLIB=y +CONFIG_PHYLINK=m +# CONFIG_PHY_MVEBU_CP110_COMPHY is not set # CONFIG_PHY_PXA_28NM_HSIC is not set # CONFIG_PHY_PXA_28NM_USB2 is not set # CONFIG_PHY_QCOM_USB_HSIC is not set @@ -3904,19 +3933,23 @@ CONFIG_PHYSICAL_START=0x400000 # CONFIG_PHY_ST_SPEAR1310_MIPHY is not set # CONFIG_PHY_ST_SPEAR1340_MIPHY is not set # CONFIG_PHY_TUSB1210 is not set +# CONFIG_PI433 is not set CONFIG_PID_NS=y CONFIG_PINCONF=y # CONFIG_PINCTRL_AMD is not set CONFIG_PINCTRL_BAYTRAIL=y -# CONFIG_PINCTRL_BCM281XX is not set CONFIG_PINCTRL_BROXTON=m # CONFIG_PINCTRL_CANNONLAKE is not set CONFIG_PINCTRL_CHERRYVIEW=y +CONFIG_PINCTRL_DENVERTON=m # CONFIG_PINCTRL_GEMINILAKE is not set # CONFIG_PINCTRL_IPQ8074 is not set +CONFIG_PINCTRL_LEWISBURG=m # CONFIG_PINCTRL_MCP23S08 is not set -# CONFIG_PINCTRL_MSM8994 is not set +CONFIG_PINCTRL_RK805=m # CONFIG_PINCTRL_SINGLE is not set +# CONFIG_PINCTRL_SPRD is not set +# CONFIG_PINCTRL_SPRD_SC9860 is not set CONFIG_PINCTRL_SUNRISEPOINT=m # CONFIG_PINCTRL_SX150X is not set CONFIG_PINCTRL=y @@ -3935,7 +3968,7 @@ CONFIG_PM_DEVFREQ=y # CONFIG_PMIC_ADP5520 is not set # CONFIG_PMIC_DA903X is not set CONFIG_PMIC_OPREGION=y -# CONFIG_PM_OPP is not set +CONFIG_PM_OPP=y CONFIG_PM_STD_PARTITION="" CONFIG_PM_TEST_SUSPEND=y CONFIG_PM_TRACE_RTC=y @@ -4029,6 +4062,7 @@ CONFIG_PWRSEQ_SIMPLE=m # CONFIG_QCA7000_SPI is not set # CONFIG_QCA7000_UART is not set # CONFIG_QCOM_EMAC is not set +# CONFIG_QCOM_GLINK_SSR is not set # CONFIG_QCOM_HIDMA is not set # CONFIG_QCOM_HIDMA_MGMT is not set CONFIG_QEDE=m @@ -4058,6 +4092,7 @@ CONFIG_R8169=m # CONFIG_R8188EU is not set CONFIG_R8712U=m CONFIG_R8723AU=m # Jes Sorensen maintains this (rhbz 1100162) +CONFIG_R8822BE=m CONFIG_RADIO_ADAPTERS=y CONFIG_RADIO_AZTECH=m CONFIG_RADIO_CADET=m @@ -4126,6 +4161,7 @@ CONFIG_REALTEK_PHY=m CONFIG_REFCOUNT_FULL=y CONFIG_REGMAP_I2C=y CONFIG_REGMAP=y +CONFIG_REGULATOR_BD9571MWV=m # CONFIG_REGULATOR_DEBUG is not set # CONFIG_REGULATOR is not set # CONFIG_REGULATOR_TPS65132 is not set @@ -4140,6 +4176,8 @@ CONFIG_RELAY=y # CONFIG_RELOCATABLE_TEST is not set CONFIG_RELOCATABLE=y CONFIG_REMOTEPROC=m +CONFIG_RESET_ATTACK_MITIGATION=y +# CONFIG_RESET_HSDK_V1 is not set # CONFIG_RESET_TI_SYSCON is not set # CONFIG_RFD_FTL is not set CONFIG_RFKILL_GPIO=m @@ -4159,6 +4197,8 @@ CONFIG_RMI4_F55=y CONFIG_RMI4_I2C=m CONFIG_RMI4_SMB=m CONFIG_RMI4_SPI=m +# CONFIG_RMNET is not set +# CONFIG_ROCKCHIP_PHY is not set CONFIG_ROCKER=m CONFIG_ROCKETPORT=m CONFIG_ROMFS_FS=m @@ -4166,6 +4206,7 @@ CONFIG_ROSE=m CONFIG_RPCSEC_GSS_KRB5=m # CONFIG_RPMSG_CHAR is not set # CONFIG_RPMSG_QCOM_GLINK_RPM is not set +# CONFIG_RPMSG_QCOM_GLINK_SMEM is not set CONFIG_RPR0521=m CONFIG_RSI_91X=m CONFIG_RSI_DEBUGFS=y @@ -4543,6 +4584,7 @@ CONFIG_SENSORS_HDAPS=m CONFIG_SENSORS_I5500=m CONFIG_SENSORS_I5K_AMB=m CONFIG_SENSORS_IBMAEM=m +# CONFIG_SENSORS_IBM_CFFPS is not set CONFIG_SENSORS_IBMPEX=m # CONFIG_SENSORS_IIO_HWMON is not set CONFIG_SENSORS_INA209=m @@ -4634,6 +4676,7 @@ CONFIG_SENSORS_TMP108=m CONFIG_SENSORS_TMP401=m CONFIG_SENSORS_TMP421=m CONFIG_SENSORS_TPS40422=m +CONFIG_SENSORS_TPS53679=m CONFIG_SENSORS_TSL2550=m # CONFIG_SENSORS_TSL2563 is not set CONFIG_SENSORS_UCD9000=m @@ -4707,6 +4750,7 @@ CONFIG_SERIO_ALTERA_PS2=m # CONFIG_SERIO_APBPS2 is not set CONFIG_SERIO_ARC_PS2=m # CONFIG_SERIO_CT82C710 is not set +# CONFIG_SERIO_GPIO_PS2 is not set CONFIG_SERIO_I8042=y CONFIG_SERIO_LIBPS2=y # CONFIG_SERIO_OLPC_APSP is not set @@ -4720,6 +4764,7 @@ CONFIG_SFC_FALCON=m CONFIG_SFC_FALCON_MTD=y # CONFIG_SFC is not set CONFIG_SFI=y +CONFIG_SFP=m # CONFIG_SGI_IOC4 is not set CONFIG_SGI_PARTITION=y CONFIG_SH_ETH=m @@ -4739,6 +4784,7 @@ CONFIG_SKGE_GENESIS=y CONFIG_SKGE=m # CONFIG_SKY2_DEBUG is not set CONFIG_SKY2=m +CONFIG_SLAB_FREELIST_HARDENED=y CONFIG_SLAB_FREELIST_RANDOM=y CONFIG_SLAB_MERGE_DEFAULT=y # CONFIG_SLICOSS is not set @@ -4846,7 +4892,7 @@ CONFIG_SND_HDA_INPUT_BEEP_MODE=0 CONFIG_SND_HDA_INPUT_BEEP=y CONFIG_SND_HDA_INTEL=m CONFIG_SND_HDA_PATCH_LOADER=y -CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0 +CONFIG_SND_HDA_POWER_SAVE_DEFAULT=1 CONFIG_SND_HDA_POWER_SAVE=y CONFIG_SND_HDA_PREALLOC_SIZE=4096 CONFIG_SND_HDA_RECONFIG=y @@ -4936,6 +4982,7 @@ CONFIG_SND_SOC_CS42L42=m # CONFIG_SND_SOC_CS42L56 is not set # CONFIG_SND_SOC_CS42L73 is not set # CONFIG_SND_SOC_CS42XX8_I2C is not set +CONFIG_SND_SOC_CS43130=m # CONFIG_SND_SOC_CS4349 is not set # CONFIG_SND_SOC_CS53L30 is not set CONFIG_SND_SOC_DIO2125=m @@ -5023,6 +5070,7 @@ CONFIG_SND_SOC_SSM4567=m CONFIG_SND_SOC_TS3A227E=m # CONFIG_SND_SOC_WM8510 is not set # CONFIG_SND_SOC_WM8523 is not set +CONFIG_SND_SOC_WM8524=m # CONFIG_SND_SOC_WM8580 is not set # CONFIG_SND_SOC_WM8711 is not set # CONFIG_SND_SOC_WM8728 is not set @@ -5122,6 +5170,7 @@ CONFIG_SQUASHFS=m CONFIG_SQUASHFS_XATTR=y CONFIG_SQUASHFS_XZ=y CONFIG_SQUASHFS_ZLIB=y +CONFIG_SQUASHFS_ZSTD=y # CONFIG_SRAM is not set # CONFIG_SRF04 is not set # CONFIG_SRF08 is not set @@ -5156,6 +5205,7 @@ CONFIG_STMMAC_ETH=m # CONFIG_STMMAC_PLATFORM is not set # CONFIG_STM_SOURCE_CONSOLE is not set CONFIG_STRICT_DEVMEM=y +# CONFIG_STRING_SELFTEST is not set CONFIG_STRIP_ASM_SYMS=y # CONFIG_STRIP is not set CONFIG_SUNDANCE=m @@ -5320,7 +5370,6 @@ CONFIG_TIPC=m CONFIG_TIPC_MEDIA_UDP=y CONFIG_TI_SCI_PROTOCOL=m # CONFIG_TI_ST is not set -# CONFIG_TI_SYSCON_RESET is not set # CONFIG_TI_TLC4541 is not set CONFIG_TLAN=m CONFIG_TLS=m @@ -5606,7 +5655,6 @@ CONFIG_USB_KEENE=m CONFIG_USB_LAN78XX=m CONFIG_USB_LCD=m CONFIG_USB_LD=m -CONFIG_USB_LED=m CONFIG_USB_LEDS_TRIGGER_USBPORT=m CONFIG_USB_LED_TRIG=y CONFIG_USB_LEGOTOWER=m @@ -5885,7 +5933,6 @@ CONFIG_VIDEO_NOON010PC30=m CONFIG_VIDEO_PVRUSB2_DVB=y CONFIG_VIDEO_PVRUSB2=m CONFIG_VIDEO_PVRUSB2_SYSFS=y -# CONFIG_VIDEO_RENESAS_VSP1 is not set CONFIG_VIDEO_SAA6588=m CONFIG_VIDEO_SAA7134_ALSA=m CONFIG_VIDEO_SAA7134_DVB=m @@ -5988,6 +6035,7 @@ CONFIG_W1_SLAVE_DS2438=m CONFIG_W1_SLAVE_DS2760=m CONFIG_W1_SLAVE_DS2780=m CONFIG_W1_SLAVE_DS2781=m +CONFIG_W1_SLAVE_DS2805=m CONFIG_W1_SLAVE_DS28E04=m CONFIG_W1_SLAVE_SMEM=m CONFIG_W1_SLAVE_THERM=m @@ -6007,6 +6055,7 @@ CONFIG_WATCHDOG=y CONFIG_WCN36XX=m CONFIG_WDAT_WDT=m CONFIG_WDTPCI=m +CONFIG_WIL6210_DEBUGFS=y CONFIG_WIL6210_ISR_COR=y CONFIG_WIL6210=m # CONFIG_WIL6210_TRACING is not set @@ -6130,6 +6179,7 @@ CONFIG_XEN_NETDEV_BACKEND=m CONFIG_XEN_NETDEV_FRONTEND=m CONFIG_XEN_PCIDEV_BACKEND=m CONFIG_XEN_PCIDEV_FRONTEND=m +# CONFIG_XEN_PVCALLS_BACKEND is not set CONFIG_XEN_PVHVM=y CONFIG_XEN_PVH=y CONFIG_XEN_PV=y @@ -6183,6 +6233,7 @@ CONFIG_ZLIB_INFLATE=y CONFIG_ZONE_DMA=y # CONFIG_ZPA2326 is not set CONFIG_ZRAM=m +# CONFIG_ZRAM_WRITEBACK is not set # CONFIG_ZSMALLOC_STAT is not set CONFIG_ZSMALLOC=y CONFIG_ZSWAP=y diff --git a/freed-ora/current/f26/kernel-i686-debug.config b/freed-ora/current/f26/kernel-i686-debug.config index d057a6a07..5bcfb886f 100644 --- a/freed-ora/current/f26/kernel-i686-debug.config +++ b/freed-ora/current/f26/kernel-i686-debug.config @@ -197,7 +197,9 @@ CONFIG_ALI_FIR=m CONFIG_ALIM1535_WDT=m CONFIG_ALIM7101_WDT=m # CONFIG_ALIX is not set +CONFIG_ALLOW_LOCKDOWN_LIFT_BY_SYSRQ=y # CONFIG_ALTERA_MBOX is not set +CONFIG_ALTERA_MSGDMA=m CONFIG_ALTERA_STAPL=m CONFIG_ALTERA_TSE=m CONFIG_ALX=m @@ -253,6 +255,7 @@ CONFIG_ATH10K=m CONFIG_ATH10K_PCI=m CONFIG_ATH10K_SDIO=m # CONFIG_ATH10K_TRACING is not set +CONFIG_ATH10K_USB=m CONFIG_ATH5K_DEBUG=y CONFIG_ATH5K=m # CONFIG_ATH5K_TRACER is not set @@ -389,6 +392,7 @@ CONFIG_BATMAN_ADV_NC=y # CONFIG_BATTERY_LEGO_EV3 is not set # CONFIG_BATTERY_MAX17040 is not set # CONFIG_BATTERY_MAX17042 is not set +# CONFIG_BATTERY_MAX1721X is not set CONFIG_BATTERY_OLPC=y # CONFIG_BATTERY_SBS is not set CONFIG_BAYCOM_EPP=m @@ -431,7 +435,6 @@ CONFIG_BINFMT_MISC=m CONFIG_BINFMT_SCRIPT=y CONFIG_BLK_CGROUP=y # CONFIG_BLK_CMDLINE_PARSER is not set -CONFIG_BLK_CPQ_CISS_DA=m CONFIG_BLK_DEBUG_FS=y CONFIG_BLK_DEV_3W_XXXX_RAID=m CONFIG_BLK_DEV_AMD74XX=y @@ -468,7 +471,6 @@ CONFIG_BLK_DEV_SR=y CONFIG_BLK_DEV_SX8=m # CONFIG_BLK_DEV_THROTTLING_LOW is not set CONFIG_BLK_DEV_THROTTLING=y -# CONFIG_BLK_DEV_UB is not set CONFIG_BLK_DEV_UMEM=m CONFIG_BLK_DEV=y CONFIG_BLK_DEV_ZONED=y @@ -491,6 +493,7 @@ CONFIG_BNX2=m CONFIG_BNX2X=m CONFIG_BNX2X_SRIOV=y CONFIG_BNXT_DCB=y +CONFIG_BNXT_FLOWER_OFFLOAD=y CONFIG_BNXT=m CONFIG_BNXT_SRIOV=y CONFIG_BONDING=m @@ -501,6 +504,7 @@ CONFIG_BONDING=m CONFIG_BOOT_PRINTK_DELAY=y CONFIG_BOUNCE=y CONFIG_BPF_JIT=y +CONFIG_BPF_STREAM_PARSER=y CONFIG_BPF_SYSCALL=y CONFIG_BPQETHER=m # CONFIG_BRCMDBG is not set @@ -589,7 +593,6 @@ CONFIG_BT_RFCOMM_TTY=y CONFIG_BTRFS_FS=m CONFIG_BTRFS_FS_POSIX_ACL=y # CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set -CONFIG_BT_SCO=y # CONFIG_BT_SELFTEST is not set # CONFIG_BTT is not set CONFIG_BT_WILINK=m @@ -661,11 +664,13 @@ CONFIG_CB710_CORE=m # CONFIG_CB710_DEBUG is not set # CONFIG_CC10001_ADC is not set # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set +# CONFIG_CCS811 is not set CONFIG_CC_STACKPROTECTOR_STRONG=y CONFIG_CC_STACKPROTECTOR=y CONFIG_CDROM_PKTCDVD_BUFFERS=8 CONFIG_CDROM_PKTCDVD=m # CONFIG_CDROM_PKTCDVD_WCACHE is not set +CONFIG_CEC_PIN=y CONFIG_CEC_PLATFORM_DRIVERS=y CONFIG_CEPH_FSCACHE=y CONFIG_CEPH_FS=m @@ -708,7 +713,6 @@ CONFIG_CGROUPS=y # CONFIG_CHARGER_LTC3651 is not set # CONFIG_CHARGER_MAX8903 is not set # CONFIG_CHARGER_PCF50633 is not set -# CONFIG_CHARGER_QCOM_SMBB is not set # CONFIG_CHARGER_RT9455 is not set # CONFIG_CHARGER_SBS is not set CONFIG_CHARGER_SMB347=m @@ -744,9 +748,10 @@ CONFIG_CIFS_STATS=y CONFIG_CIFS_UPCALL=y CONFIG_CIFS_WEAK_PW_HASH=y CONFIG_CIFS_XATTR=y -CONFIG_CISS_SCSI_TAPE=y CONFIG_CLEANCACHE=y +# CONFIG_CLK_HSDK is not set # CONFIG_CLK_QORIQ is not set +# CONFIG_CLOCK_THERMAL is not set CONFIG_CLS_U32_MARK=y CONFIG_CLS_U32_PERF=y CONFIG_CM32181=m @@ -865,6 +870,7 @@ CONFIG_CRYPTO_DEV_QAT_C62X=m CONFIG_CRYPTO_DEV_QAT_C62XVF=m CONFIG_CRYPTO_DEV_QAT_DH895xCC=m CONFIG_CRYPTO_DEV_QAT_DH895xCCVF=m +# CONFIG_CRYPTO_DEV_SP_CCP is not set CONFIG_CRYPTO_DEV_VIRTIO=m CONFIG_CRYPTO_DH=y CONFIG_CRYPTO_DRBG_CTR=y @@ -1037,6 +1043,7 @@ CONFIG_DEV_APPLETALK=m # CONFIG_DEVFREQ_GOV_POWERSAVE is not set CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=m # CONFIG_DEVFREQ_GOV_USERSPACE is not set +# CONFIG_DEVFREQ_THERMAL is not set # CONFIG_DEVKMEM is not set CONFIG_DEVMEM=y CONFIG_DEVPORT=y @@ -1210,6 +1217,7 @@ CONFIG_DVB_BUDGET_PATCH=m CONFIG_DVB_CORE=m # CONFIG_DVB_CXD2099 is not set CONFIG_DVB_DDBRIDGE=m +# CONFIG_DVB_DDBRIDGE_MSIENABLE is not set # CONFIG_DVB_DEMUX_SECTION_LOSS_LOG is not set CONFIG_DVB_DM1105=m CONFIG_DVB_DYNAMIC_MINORS=y @@ -1284,7 +1292,7 @@ CONFIG_E1000=m CONFIG_E100=m CONFIG_EARLY_PRINTK_DBGP=y CONFIG_EARLY_PRINTK_EFI=y -# CONFIG_EARLY_PRINTK_USB_XDBC is not set +CONFIG_EARLY_PRINTK_USB_XDBC=y # CONFIG_EBC_C384_WDT is not set CONFIG_ECHO=m CONFIG_ECRYPT_FS=m @@ -1364,7 +1372,6 @@ CONFIG_ETHOC=m # CONFIG_EVM is not set # CONFIG_EXOFS_DEBUG is not set # CONFIG_EXOFS_FS is not set -CONFIG_EXPERIMENTAL=y # CONFIG_EXPERT is not set CONFIG_EXPORTFS=y # CONFIG_EXT2_FS is not set @@ -1611,6 +1618,7 @@ CONFIG_GIRBIL_DONGLE=m # CONFIG_GPIO_ALTERA is not set # CONFIG_GPIO_AMD8111 is not set # CONFIG_GPIO_AMDPT is not set +CONFIG_GPIO_BD9571MWV=m # CONFIG_GPIO_BT8XX is not set CONFIG_GPIO_CRYSTAL_COVE=y CONFIG_GPIO_CS5535=y @@ -1646,6 +1654,7 @@ CONFIG_GPIO_SCH=m # CONFIG_GPIO_SYSCON is not set # CONFIG_GPIO_SYSFS is not set # CONFIG_GPIO_TPIC2810 is not set +CONFIG_GPIO_TPS68470=y # CONFIG_GPIO_TS4900 is not set # CONFIG_GPIO_TS5500 is not set CONFIG_GPIO_VIPERBOARD=m @@ -1693,7 +1702,7 @@ CONFIG_HID_CHERRY=m CONFIG_HID_CHICONY=m CONFIG_HID_CMEDIA=m CONFIG_HID_CORSAIR=m -# CONFIG_HID_CP2112 is not set +CONFIG_HID_CP2112=m CONFIG_HID_CYPRESS=m CONFIG_HID_DRAGONRISE=m CONFIG_HID_ELECOM=m @@ -1879,6 +1888,7 @@ CONFIG_HYPERV=m CONFIG_HYPERV_NET=m CONFIG_HYPERV_STORAGE=m CONFIG_HYPERV_UTILS=m +CONFIG_HYPERV_VSOCKETS=m CONFIG_HYSDN_CAPI=y CONFIG_HYSDN=m CONFIG_HZ_1000=y @@ -2050,6 +2060,7 @@ CONFIG_INET=y # CONFIG_INFINIBAND_CXGB3_DEBUG is not set CONFIG_INFINIBAND_CXGB3=m CONFIG_INFINIBAND_CXGB4=m +# CONFIG_INFINIBAND_EXP_USER_ACCESS is not set CONFIG_INFINIBAND_I40IW=m CONFIG_INFINIBAND_IPOIB_CM=y CONFIG_INFINIBAND_IPOIB_DEBUG_DATA=y @@ -2076,7 +2087,6 @@ CONFIG_INFINIBAND_VMWARE_PVRDMA=m # CONFIG_INFTL is not set CONFIG_INITRAMFS_SOURCE="" CONFIG_INOTIFY_USER=y -CONFIG_INOTIFY=y # CONFIG_INPUT_AD714X is not set # CONFIG_INPUT_ADXL34X is not set CONFIG_INPUT_APANEL=m @@ -2125,7 +2135,9 @@ CONFIG_INPUT_PMIC8XXX_PWRKEY=m CONFIG_INPUT_POLLDEV=m CONFIG_INPUT_POWERMATE=m CONFIG_INPUT_PWM_BEEPER=m +# CONFIG_INPUT_PWM_VIBRA is not set CONFIG_INPUT_RETU_PWRBUTTON=m +CONFIG_INPUT_RK805_PWRKEY=m CONFIG_INPUT_SOC_BUTTON_ARRAY=m CONFIG_INPUT_SPARSEKMAP=m CONFIG_INPUT_TABLET=y @@ -2165,6 +2177,7 @@ CONFIG_INTEL_POWERCLAMP=m CONFIG_INTEL_PUNIT_IPC=m CONFIG_INTEL_RAPL=m CONFIG_INTEL_RDT_A=y +CONFIG_INTEL_RDT=y CONFIG_INTEL_RST=m # CONFIG_INTEL_SCU_IPC is not set CONFIG_INTEL_SMARTCONNECT=y @@ -2216,7 +2229,7 @@ CONFIG_IP_DCCP_CCID2=m # CONFIG_IP_DCCP_CCID3_DEBUG is not set CONFIG_IP_DCCP_CCID3=y # CONFIG_IP_DCCP_DEBUG is not set -CONFIG_IP_DCCP=m +# CONFIG_IP_DCCP is not set CONFIG_IPDDP_ENCAP=y CONFIG_IPDDP=m CONFIG_IP_FIB_TRIE_STATS=y @@ -2343,6 +2356,7 @@ CONFIG_IRDA=m CONFIG_IR_ENE=m CONFIG_IR_FINTEK=m CONFIG_IR_GPIO_CIR=m +CONFIG_IR_GPIO_TX=m CONFIG_IR_HIX5HD2=m CONFIG_IR_IGORPLUGUSB=m CONFIG_IR_IGUANA=m @@ -2357,6 +2371,7 @@ CONFIG_IR_MCEUSB=m CONFIG_IR_NEC_DECODER=m CONFIG_IRNET=m CONFIG_IR_NUVOTON=m +CONFIG_IR_PWM_TX=m # CONFIG_IRQ_DOMAIN_DEBUG is not set # CONFIG_IRQSOFF_TRACER is not set CONFIG_IRQ_TIME_ACCOUNTING=y @@ -2590,6 +2605,7 @@ CONFIG_LCD_PLATFORM=m # CONFIG_LDM_DEBUG is not set CONFIG_LDM_PARTITION=y # CONFIG_LEDS_AAT1290 is not set +CONFIG_LEDS_AS3645A=m # CONFIG_LEDS_BCM6328 is not set # CONFIG_LEDS_BCM6358 is not set # CONFIG_LEDS_BD2802 is not set @@ -2690,6 +2706,7 @@ CONFIG_LOAD_UEFI_KEYS=y CONFIG_LOCALVERSION="" # CONFIG_LOCALVERSION_AUTO is not set CONFIG_LOCKD=m +# CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT is not set CONFIG_LOCK_DOWN_KERNEL=y CONFIG_LOCKD_V4=y CONFIG_LOCK_STAT=y @@ -2715,6 +2732,7 @@ CONFIG_LPFC_NVME_INITIATOR=y CONFIG_LPFC_NVME_TARGET=y CONFIG_LSI_ET1011C_PHY=m CONFIG_LSM_MMAP_MIN_ADDR=65536 +# CONFIG_LTC2471 is not set # CONFIG_LTC2485 is not set # CONFIG_LTC2497 is not set # CONFIG_LTC2632 is not set @@ -2802,6 +2820,7 @@ CONFIG_MDIO_BITBANG=m # CONFIG_MDIO_BUS_MUX_MMIOREG is not set # CONFIG_MDIO_GPIO is not set # CONFIG_MDIO_HISI_FEMAC is not set +CONFIG_MDIO_I2C=m # CONFIG_MDIO_OCTEON is not set # CONFIG_MDIO_THUNDER is not set CONFIG_MD_LINEAR=m @@ -2866,6 +2885,7 @@ CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 # CONFIG_MFD_AXP20X_I2C is not set # CONFIG_MFD_AXP20X is not set # CONFIG_MFD_BCM590XX is not set +CONFIG_MFD_BD9571MWV=m CONFIG_MFD_CORE=y # CONFIG_MFD_CPCAP is not set # CONFIG_MFD_CROS_EC is not set @@ -2933,6 +2953,7 @@ CONFIG_MFD_SM501=m # CONFIG_MFD_TPS65912_I2C is not set # CONFIG_MFD_TPS65912 is not set # CONFIG_MFD_TPS65912_SPI is not set +CONFIG_MFD_TPS68470=y # CONFIG_MFD_TPS80031 is not set CONFIG_MFD_VIPERBOARD=m CONFIG_MFD_VX855=m @@ -2982,8 +3003,10 @@ CONFIG_MLX5_CORE_EN=y CONFIG_MLX5_CORE_IPOIB=y CONFIG_MLX5_CORE=m # CONFIG_MLX5_EN_IPSEC is not set +CONFIG_MLX5_ESWITCH=y # CONFIG_MLX5_FPGA is not set # CONFIG_MLX5_INFINIBAND is not set +CONFIG_MLX5_MPFS=y # CONFIG_MLX90614 is not set CONFIG_MLX_CPLD_PLATFORM=m CONFIG_MLXFW=m @@ -3004,7 +3027,6 @@ CONFIG_MMA7660=m # CONFIG_MMA9551 is not set # CONFIG_MMA9553 is not set # CONFIG_MMC35240 is not set -CONFIG_MMC_BLOCK_BOUNCE=y CONFIG_MMC_BLOCK=m CONFIG_MMC_BLOCK_MINORS=8 CONFIG_MMC_CB710=m @@ -3365,6 +3387,7 @@ CONFIG_NETLABEL=y CONFIG_NETLINK_DIAG=m CONFIG_NET_MPLS_GSO=m CONFIG_NET_NCSI=y +CONFIG_NET_NSH=m CONFIG_NET_NS=y CONFIG_NET_PACKET_ENGINE=y CONFIG_NET_PKTGEN=m @@ -3434,6 +3457,7 @@ CONFIG_NET_VENDOR_EXAR=y # CONFIG_NET_VENDOR_FUJITSU is not set # CONFIG_NET_VENDOR_HISILICON is not set # CONFIG_NET_VENDOR_HP is not set +# CONFIG_NET_VENDOR_HUAWEI is not set # CONFIG_NET_VENDOR_I825XX is not set CONFIG_NET_VENDOR_INTEL=y CONFIG_NET_VENDOR_MARVELL=y @@ -3455,6 +3479,7 @@ CONFIG_NET_VENDOR_ROCKER=y CONFIG_NET_VENDOR_SILAN=y CONFIG_NET_VENDOR_SIS=y CONFIG_NET_VENDOR_SMSC=y +# CONFIG_NET_VENDOR_SNI is not set CONFIG_NET_VENDOR_SOLARFLARE=y CONFIG_NET_VENDOR_STMICRO=y CONFIG_NET_VENDOR_SUN=y @@ -3594,6 +3619,7 @@ CONFIG_NFT_EXTHDR=m CONFIG_NFT_FIB_INET=m CONFIG_NFT_FIB_IPV4=m CONFIG_NFT_FIB_IPV6=m +CONFIG_NFT_FIB_NETDEV=m CONFIG_NFT_FWD_NETDEV=m CONFIG_NFT_HASH=m CONFIG_NFT_LIMIT=m @@ -3837,6 +3863,7 @@ CONFIG_PCIEAER=y # CONFIG_PCIEASPM_DEBUG is not set CONFIG_PCIEASPM=y CONFIG_PCIE_DPC=y +# CONFIG_PCIE_DW_HOST_ECAM is not set # CONFIG_PCIE_DW_PLAT is not set CONFIG_PCIE_ECRC=y # CONFIG_PCI_ENDPOINT is not set @@ -3895,6 +3922,8 @@ CONFIG_PERSISTENT_KEYRINGS=y # CONFIG_PHONET is not set # CONFIG_PHY_CPCAP_USB is not set CONFIG_PHYLIB=y +CONFIG_PHYLINK=m +# CONFIG_PHY_MVEBU_CP110_COMPHY is not set # CONFIG_PHY_PXA_28NM_HSIC is not set # CONFIG_PHY_PXA_28NM_USB2 is not set # CONFIG_PHY_QCOM_USB_HSIC is not set @@ -3904,19 +3933,23 @@ CONFIG_PHYSICAL_START=0x400000 # CONFIG_PHY_ST_SPEAR1310_MIPHY is not set # CONFIG_PHY_ST_SPEAR1340_MIPHY is not set # CONFIG_PHY_TUSB1210 is not set +# CONFIG_PI433 is not set CONFIG_PID_NS=y CONFIG_PINCONF=y # CONFIG_PINCTRL_AMD is not set CONFIG_PINCTRL_BAYTRAIL=y -# CONFIG_PINCTRL_BCM281XX is not set CONFIG_PINCTRL_BROXTON=m # CONFIG_PINCTRL_CANNONLAKE is not set CONFIG_PINCTRL_CHERRYVIEW=y +CONFIG_PINCTRL_DENVERTON=m # CONFIG_PINCTRL_GEMINILAKE is not set # CONFIG_PINCTRL_IPQ8074 is not set +CONFIG_PINCTRL_LEWISBURG=m # CONFIG_PINCTRL_MCP23S08 is not set -# CONFIG_PINCTRL_MSM8994 is not set +CONFIG_PINCTRL_RK805=m # CONFIG_PINCTRL_SINGLE is not set +# CONFIG_PINCTRL_SPRD is not set +# CONFIG_PINCTRL_SPRD_SC9860 is not set CONFIG_PINCTRL_SUNRISEPOINT=m # CONFIG_PINCTRL_SX150X is not set CONFIG_PINCTRL=y @@ -3935,7 +3968,7 @@ CONFIG_PM_DEVFREQ=y # CONFIG_PMIC_ADP5520 is not set # CONFIG_PMIC_DA903X is not set CONFIG_PMIC_OPREGION=y -# CONFIG_PM_OPP is not set +CONFIG_PM_OPP=y CONFIG_PM_STD_PARTITION="" CONFIG_PM_TEST_SUSPEND=y CONFIG_PM_TRACE_RTC=y @@ -4029,6 +4062,7 @@ CONFIG_PWRSEQ_SIMPLE=m # CONFIG_QCA7000_SPI is not set # CONFIG_QCA7000_UART is not set # CONFIG_QCOM_EMAC is not set +# CONFIG_QCOM_GLINK_SSR is not set # CONFIG_QCOM_HIDMA is not set # CONFIG_QCOM_HIDMA_MGMT is not set CONFIG_QEDE=m @@ -4058,6 +4092,7 @@ CONFIG_R8169=m # CONFIG_R8188EU is not set CONFIG_R8712U=m CONFIG_R8723AU=m # Jes Sorensen maintains this (rhbz 1100162) +CONFIG_R8822BE=m CONFIG_RADIO_ADAPTERS=y CONFIG_RADIO_AZTECH=m CONFIG_RADIO_CADET=m @@ -4126,6 +4161,7 @@ CONFIG_REALTEK_PHY=m CONFIG_REFCOUNT_FULL=y CONFIG_REGMAP_I2C=y CONFIG_REGMAP=y +CONFIG_REGULATOR_BD9571MWV=m # CONFIG_REGULATOR_DEBUG is not set # CONFIG_REGULATOR is not set # CONFIG_REGULATOR_TPS65132 is not set @@ -4140,6 +4176,8 @@ CONFIG_RELAY=y # CONFIG_RELOCATABLE_TEST is not set CONFIG_RELOCATABLE=y CONFIG_REMOTEPROC=m +CONFIG_RESET_ATTACK_MITIGATION=y +# CONFIG_RESET_HSDK_V1 is not set # CONFIG_RESET_TI_SYSCON is not set # CONFIG_RFD_FTL is not set CONFIG_RFKILL_GPIO=m @@ -4159,6 +4197,8 @@ CONFIG_RMI4_F55=y CONFIG_RMI4_I2C=m CONFIG_RMI4_SMB=m CONFIG_RMI4_SPI=m +# CONFIG_RMNET is not set +# CONFIG_ROCKCHIP_PHY is not set CONFIG_ROCKER=m CONFIG_ROCKETPORT=m CONFIG_ROMFS_FS=m @@ -4166,6 +4206,7 @@ CONFIG_ROSE=m CONFIG_RPCSEC_GSS_KRB5=m # CONFIG_RPMSG_CHAR is not set # CONFIG_RPMSG_QCOM_GLINK_RPM is not set +# CONFIG_RPMSG_QCOM_GLINK_SMEM is not set CONFIG_RPR0521=m CONFIG_RSI_91X=m CONFIG_RSI_DEBUGFS=y @@ -4543,6 +4584,7 @@ CONFIG_SENSORS_HDAPS=m CONFIG_SENSORS_I5500=m CONFIG_SENSORS_I5K_AMB=m CONFIG_SENSORS_IBMAEM=m +# CONFIG_SENSORS_IBM_CFFPS is not set CONFIG_SENSORS_IBMPEX=m # CONFIG_SENSORS_IIO_HWMON is not set CONFIG_SENSORS_INA209=m @@ -4634,6 +4676,7 @@ CONFIG_SENSORS_TMP108=m CONFIG_SENSORS_TMP401=m CONFIG_SENSORS_TMP421=m CONFIG_SENSORS_TPS40422=m +CONFIG_SENSORS_TPS53679=m CONFIG_SENSORS_TSL2550=m # CONFIG_SENSORS_TSL2563 is not set CONFIG_SENSORS_UCD9000=m @@ -4707,6 +4750,7 @@ CONFIG_SERIO_ALTERA_PS2=m # CONFIG_SERIO_APBPS2 is not set CONFIG_SERIO_ARC_PS2=m # CONFIG_SERIO_CT82C710 is not set +# CONFIG_SERIO_GPIO_PS2 is not set CONFIG_SERIO_I8042=y CONFIG_SERIO_LIBPS2=y # CONFIG_SERIO_OLPC_APSP is not set @@ -4720,6 +4764,7 @@ CONFIG_SFC_FALCON=m CONFIG_SFC_FALCON_MTD=y # CONFIG_SFC is not set CONFIG_SFI=y +CONFIG_SFP=m # CONFIG_SGI_IOC4 is not set CONFIG_SGI_PARTITION=y CONFIG_SH_ETH=m @@ -4739,6 +4784,7 @@ CONFIG_SKGE_GENESIS=y CONFIG_SKGE=m # CONFIG_SKY2_DEBUG is not set CONFIG_SKY2=m +CONFIG_SLAB_FREELIST_HARDENED=y CONFIG_SLAB_FREELIST_RANDOM=y CONFIG_SLAB_MERGE_DEFAULT=y # CONFIG_SLICOSS is not set @@ -4846,7 +4892,7 @@ CONFIG_SND_HDA_INPUT_BEEP_MODE=0 CONFIG_SND_HDA_INPUT_BEEP=y CONFIG_SND_HDA_INTEL=m CONFIG_SND_HDA_PATCH_LOADER=y -CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0 +CONFIG_SND_HDA_POWER_SAVE_DEFAULT=1 CONFIG_SND_HDA_POWER_SAVE=y CONFIG_SND_HDA_PREALLOC_SIZE=4096 CONFIG_SND_HDA_RECONFIG=y @@ -4936,6 +4982,7 @@ CONFIG_SND_SOC_CS42L42=m # CONFIG_SND_SOC_CS42L56 is not set # CONFIG_SND_SOC_CS42L73 is not set # CONFIG_SND_SOC_CS42XX8_I2C is not set +CONFIG_SND_SOC_CS43130=m # CONFIG_SND_SOC_CS4349 is not set # CONFIG_SND_SOC_CS53L30 is not set CONFIG_SND_SOC_DIO2125=m @@ -5023,6 +5070,7 @@ CONFIG_SND_SOC_SSM4567=m CONFIG_SND_SOC_TS3A227E=m # CONFIG_SND_SOC_WM8510 is not set # CONFIG_SND_SOC_WM8523 is not set +CONFIG_SND_SOC_WM8524=m # CONFIG_SND_SOC_WM8580 is not set # CONFIG_SND_SOC_WM8711 is not set # CONFIG_SND_SOC_WM8728 is not set @@ -5122,6 +5170,7 @@ CONFIG_SQUASHFS=m CONFIG_SQUASHFS_XATTR=y CONFIG_SQUASHFS_XZ=y CONFIG_SQUASHFS_ZLIB=y +CONFIG_SQUASHFS_ZSTD=y # CONFIG_SRAM is not set # CONFIG_SRF04 is not set # CONFIG_SRF08 is not set @@ -5156,6 +5205,7 @@ CONFIG_STMMAC_ETH=m # CONFIG_STMMAC_PLATFORM is not set # CONFIG_STM_SOURCE_CONSOLE is not set CONFIG_STRICT_DEVMEM=y +# CONFIG_STRING_SELFTEST is not set CONFIG_STRIP_ASM_SYMS=y # CONFIG_STRIP is not set CONFIG_SUNDANCE=m @@ -5320,7 +5370,6 @@ CONFIG_TIPC=m CONFIG_TIPC_MEDIA_UDP=y CONFIG_TI_SCI_PROTOCOL=m # CONFIG_TI_ST is not set -# CONFIG_TI_SYSCON_RESET is not set # CONFIG_TI_TLC4541 is not set CONFIG_TLAN=m CONFIG_TLS=m @@ -5606,7 +5655,6 @@ CONFIG_USB_KEENE=m CONFIG_USB_LAN78XX=m CONFIG_USB_LCD=m CONFIG_USB_LD=m -CONFIG_USB_LED=m CONFIG_USB_LEDS_TRIGGER_USBPORT=m CONFIG_USB_LED_TRIG=y CONFIG_USB_LEGOTOWER=m @@ -5885,7 +5933,6 @@ CONFIG_VIDEO_NOON010PC30=m CONFIG_VIDEO_PVRUSB2_DVB=y CONFIG_VIDEO_PVRUSB2=m CONFIG_VIDEO_PVRUSB2_SYSFS=y -# CONFIG_VIDEO_RENESAS_VSP1 is not set CONFIG_VIDEO_SAA6588=m CONFIG_VIDEO_SAA7134_ALSA=m CONFIG_VIDEO_SAA7134_DVB=m @@ -5988,6 +6035,7 @@ CONFIG_W1_SLAVE_DS2438=m CONFIG_W1_SLAVE_DS2760=m CONFIG_W1_SLAVE_DS2780=m CONFIG_W1_SLAVE_DS2781=m +CONFIG_W1_SLAVE_DS2805=m CONFIG_W1_SLAVE_DS28E04=m CONFIG_W1_SLAVE_SMEM=m CONFIG_W1_SLAVE_THERM=m @@ -6007,6 +6055,7 @@ CONFIG_WATCHDOG=y CONFIG_WCN36XX=m CONFIG_WDAT_WDT=m CONFIG_WDTPCI=m +CONFIG_WIL6210_DEBUGFS=y CONFIG_WIL6210_ISR_COR=y CONFIG_WIL6210=m # CONFIG_WIL6210_TRACING is not set @@ -6129,6 +6178,7 @@ CONFIG_XEN_NETDEV_BACKEND=m CONFIG_XEN_NETDEV_FRONTEND=m CONFIG_XEN_PCIDEV_BACKEND=m CONFIG_XEN_PCIDEV_FRONTEND=m +# CONFIG_XEN_PVCALLS_BACKEND is not set CONFIG_XEN_PVHVM=y CONFIG_XEN_PVH=y CONFIG_XEN_PV=y @@ -6181,6 +6231,7 @@ CONFIG_ZLIB_INFLATE=y CONFIG_ZONE_DMA=y # CONFIG_ZPA2326 is not set CONFIG_ZRAM=m +# CONFIG_ZRAM_WRITEBACK is not set # CONFIG_ZSMALLOC_STAT is not set CONFIG_ZSMALLOC=y CONFIG_ZSWAP=y diff --git a/freed-ora/current/f26/kernel-i686.config b/freed-ora/current/f26/kernel-i686.config index 5415d5721..c2915f453 100644 --- a/freed-ora/current/f26/kernel-i686.config +++ b/freed-ora/current/f26/kernel-i686.config @@ -197,7 +197,9 @@ CONFIG_ALI_FIR=m CONFIG_ALIM1535_WDT=m CONFIG_ALIM7101_WDT=m # CONFIG_ALIX is not set +CONFIG_ALLOW_LOCKDOWN_LIFT_BY_SYSRQ=y # CONFIG_ALTERA_MBOX is not set +CONFIG_ALTERA_MSGDMA=m CONFIG_ALTERA_STAPL=m CONFIG_ALTERA_TSE=m CONFIG_ALX=m @@ -252,6 +254,7 @@ CONFIG_ATH10K=m CONFIG_ATH10K_PCI=m CONFIG_ATH10K_SDIO=m # CONFIG_ATH10K_TRACING is not set +CONFIG_ATH10K_USB=m CONFIG_ATH5K_DEBUG=y CONFIG_ATH5K=m # CONFIG_ATH5K_TRACER is not set @@ -388,6 +391,7 @@ CONFIG_BATMAN_ADV_NC=y # CONFIG_BATTERY_LEGO_EV3 is not set # CONFIG_BATTERY_MAX17040 is not set # CONFIG_BATTERY_MAX17042 is not set +# CONFIG_BATTERY_MAX1721X is not set CONFIG_BATTERY_OLPC=y # CONFIG_BATTERY_SBS is not set CONFIG_BAYCOM_EPP=m @@ -430,7 +434,6 @@ CONFIG_BINFMT_MISC=m CONFIG_BINFMT_SCRIPT=y CONFIG_BLK_CGROUP=y # CONFIG_BLK_CMDLINE_PARSER is not set -CONFIG_BLK_CPQ_CISS_DA=m CONFIG_BLK_DEBUG_FS=y CONFIG_BLK_DEV_3W_XXXX_RAID=m CONFIG_BLK_DEV_AMD74XX=y @@ -467,7 +470,6 @@ CONFIG_BLK_DEV_SR=y CONFIG_BLK_DEV_SX8=m # CONFIG_BLK_DEV_THROTTLING_LOW is not set CONFIG_BLK_DEV_THROTTLING=y -# CONFIG_BLK_DEV_UB is not set CONFIG_BLK_DEV_UMEM=m CONFIG_BLK_DEV=y CONFIG_BLK_DEV_ZONED=y @@ -490,6 +492,7 @@ CONFIG_BNX2=m CONFIG_BNX2X=m CONFIG_BNX2X_SRIOV=y CONFIG_BNXT_DCB=y +CONFIG_BNXT_FLOWER_OFFLOAD=y CONFIG_BNXT=m CONFIG_BNXT_SRIOV=y CONFIG_BONDING=m @@ -500,6 +503,7 @@ CONFIG_BONDING=m CONFIG_BOOT_PRINTK_DELAY=y CONFIG_BOUNCE=y CONFIG_BPF_JIT=y +CONFIG_BPF_STREAM_PARSER=y CONFIG_BPF_SYSCALL=y CONFIG_BPQETHER=m # CONFIG_BRCMDBG is not set @@ -588,7 +592,6 @@ CONFIG_BT_RFCOMM_TTY=y CONFIG_BTRFS_FS=m CONFIG_BTRFS_FS_POSIX_ACL=y # CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set -CONFIG_BT_SCO=y # CONFIG_BT_SELFTEST is not set # CONFIG_BTT is not set CONFIG_BT_WILINK=m @@ -660,11 +663,13 @@ CONFIG_CB710_CORE=m # CONFIG_CB710_DEBUG is not set # CONFIG_CC10001_ADC is not set # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set +# CONFIG_CCS811 is not set CONFIG_CC_STACKPROTECTOR_STRONG=y CONFIG_CC_STACKPROTECTOR=y CONFIG_CDROM_PKTCDVD_BUFFERS=8 CONFIG_CDROM_PKTCDVD=m # CONFIG_CDROM_PKTCDVD_WCACHE is not set +CONFIG_CEC_PIN=y CONFIG_CEC_PLATFORM_DRIVERS=y CONFIG_CEPH_FSCACHE=y CONFIG_CEPH_FS=m @@ -707,7 +712,6 @@ CONFIG_CGROUPS=y # CONFIG_CHARGER_LTC3651 is not set # CONFIG_CHARGER_MAX8903 is not set # CONFIG_CHARGER_PCF50633 is not set -# CONFIG_CHARGER_QCOM_SMBB is not set # CONFIG_CHARGER_RT9455 is not set # CONFIG_CHARGER_SBS is not set CONFIG_CHARGER_SMB347=m @@ -743,9 +747,10 @@ CONFIG_CIFS_STATS=y CONFIG_CIFS_UPCALL=y CONFIG_CIFS_WEAK_PW_HASH=y CONFIG_CIFS_XATTR=y -CONFIG_CISS_SCSI_TAPE=y CONFIG_CLEANCACHE=y +# CONFIG_CLK_HSDK is not set # CONFIG_CLK_QORIQ is not set +# CONFIG_CLOCK_THERMAL is not set CONFIG_CLS_U32_MARK=y CONFIG_CLS_U32_PERF=y CONFIG_CM32181=m @@ -863,6 +868,7 @@ CONFIG_CRYPTO_DEV_QAT_C62X=m CONFIG_CRYPTO_DEV_QAT_C62XVF=m CONFIG_CRYPTO_DEV_QAT_DH895xCC=m CONFIG_CRYPTO_DEV_QAT_DH895xCCVF=m +# CONFIG_CRYPTO_DEV_SP_CCP is not set CONFIG_CRYPTO_DEV_VIRTIO=m CONFIG_CRYPTO_DH=y CONFIG_CRYPTO_DRBG_CTR=y @@ -1027,6 +1033,7 @@ CONFIG_DEV_APPLETALK=m # CONFIG_DEVFREQ_GOV_POWERSAVE is not set CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=m # CONFIG_DEVFREQ_GOV_USERSPACE is not set +# CONFIG_DEVFREQ_THERMAL is not set # CONFIG_DEVKMEM is not set CONFIG_DEVMEM=y CONFIG_DEVPORT=y @@ -1199,6 +1206,7 @@ CONFIG_DVB_BUDGET_PATCH=m CONFIG_DVB_CORE=m # CONFIG_DVB_CXD2099 is not set CONFIG_DVB_DDBRIDGE=m +# CONFIG_DVB_DDBRIDGE_MSIENABLE is not set # CONFIG_DVB_DEMUX_SECTION_LOSS_LOG is not set CONFIG_DVB_DM1105=m CONFIG_DVB_DYNAMIC_MINORS=y @@ -1273,7 +1281,7 @@ CONFIG_E1000=m CONFIG_E100=m CONFIG_EARLY_PRINTK_DBGP=y CONFIG_EARLY_PRINTK_EFI=y -# CONFIG_EARLY_PRINTK_USB_XDBC is not set +CONFIG_EARLY_PRINTK_USB_XDBC=y # CONFIG_EBC_C384_WDT is not set CONFIG_ECHO=m CONFIG_ECRYPT_FS=m @@ -1353,7 +1361,6 @@ CONFIG_ETHOC=m # CONFIG_EVM is not set # CONFIG_EXOFS_DEBUG is not set # CONFIG_EXOFS_FS is not set -CONFIG_EXPERIMENTAL=y # CONFIG_EXPERT is not set CONFIG_EXPORTFS=y # CONFIG_EXT2_FS is not set @@ -1593,6 +1600,7 @@ CONFIG_GIRBIL_DONGLE=m # CONFIG_GPIO_ALTERA is not set # CONFIG_GPIO_AMD8111 is not set # CONFIG_GPIO_AMDPT is not set +CONFIG_GPIO_BD9571MWV=m # CONFIG_GPIO_BT8XX is not set CONFIG_GPIO_CRYSTAL_COVE=y CONFIG_GPIO_CS5535=y @@ -1628,6 +1636,7 @@ CONFIG_GPIO_SCH=m # CONFIG_GPIO_SYSCON is not set # CONFIG_GPIO_SYSFS is not set # CONFIG_GPIO_TPIC2810 is not set +CONFIG_GPIO_TPS68470=y # CONFIG_GPIO_TS4900 is not set # CONFIG_GPIO_TS5500 is not set CONFIG_GPIO_VIPERBOARD=m @@ -1675,7 +1684,7 @@ CONFIG_HID_CHERRY=m CONFIG_HID_CHICONY=m CONFIG_HID_CMEDIA=m CONFIG_HID_CORSAIR=m -# CONFIG_HID_CP2112 is not set +CONFIG_HID_CP2112=m CONFIG_HID_CYPRESS=m CONFIG_HID_DRAGONRISE=m CONFIG_HID_ELECOM=m @@ -1861,6 +1870,7 @@ CONFIG_HYPERV=m CONFIG_HYPERV_NET=m CONFIG_HYPERV_STORAGE=m CONFIG_HYPERV_UTILS=m +CONFIG_HYPERV_VSOCKETS=m CONFIG_HYSDN_CAPI=y CONFIG_HYSDN=m CONFIG_HZ_1000=y @@ -2032,6 +2042,7 @@ CONFIG_INET=y # CONFIG_INFINIBAND_CXGB3_DEBUG is not set CONFIG_INFINIBAND_CXGB3=m CONFIG_INFINIBAND_CXGB4=m +# CONFIG_INFINIBAND_EXP_USER_ACCESS is not set CONFIG_INFINIBAND_I40IW=m CONFIG_INFINIBAND_IPOIB_CM=y CONFIG_INFINIBAND_IPOIB_DEBUG_DATA=y @@ -2058,7 +2069,6 @@ CONFIG_INFINIBAND_VMWARE_PVRDMA=m # CONFIG_INFTL is not set CONFIG_INITRAMFS_SOURCE="" CONFIG_INOTIFY_USER=y -CONFIG_INOTIFY=y # CONFIG_INPUT_AD714X is not set # CONFIG_INPUT_ADXL34X is not set CONFIG_INPUT_APANEL=m @@ -2107,7 +2117,9 @@ CONFIG_INPUT_PMIC8XXX_PWRKEY=m CONFIG_INPUT_POLLDEV=m CONFIG_INPUT_POWERMATE=m CONFIG_INPUT_PWM_BEEPER=m +# CONFIG_INPUT_PWM_VIBRA is not set CONFIG_INPUT_RETU_PWRBUTTON=m +CONFIG_INPUT_RK805_PWRKEY=m CONFIG_INPUT_SOC_BUTTON_ARRAY=m CONFIG_INPUT_SPARSEKMAP=m CONFIG_INPUT_TABLET=y @@ -2147,6 +2159,7 @@ CONFIG_INTEL_POWERCLAMP=m CONFIG_INTEL_PUNIT_IPC=m CONFIG_INTEL_RAPL=m CONFIG_INTEL_RDT_A=y +CONFIG_INTEL_RDT=y CONFIG_INTEL_RST=m # CONFIG_INTEL_SCU_IPC is not set CONFIG_INTEL_SMARTCONNECT=y @@ -2198,7 +2211,7 @@ CONFIG_IP_DCCP_CCID2=m # CONFIG_IP_DCCP_CCID3_DEBUG is not set CONFIG_IP_DCCP_CCID3=y # CONFIG_IP_DCCP_DEBUG is not set -CONFIG_IP_DCCP=m +# CONFIG_IP_DCCP is not set CONFIG_IPDDP_ENCAP=y CONFIG_IPDDP=m CONFIG_IP_FIB_TRIE_STATS=y @@ -2325,6 +2338,7 @@ CONFIG_IRDA=m CONFIG_IR_ENE=m CONFIG_IR_FINTEK=m CONFIG_IR_GPIO_CIR=m +CONFIG_IR_GPIO_TX=m CONFIG_IR_HIX5HD2=m CONFIG_IR_IGORPLUGUSB=m CONFIG_IR_IGUANA=m @@ -2339,6 +2353,7 @@ CONFIG_IR_MCEUSB=m CONFIG_IR_NEC_DECODER=m CONFIG_IRNET=m CONFIG_IR_NUVOTON=m +CONFIG_IR_PWM_TX=m # CONFIG_IRQ_DOMAIN_DEBUG is not set # CONFIG_IRQSOFF_TRACER is not set CONFIG_IRQ_TIME_ACCOUNTING=y @@ -2570,6 +2585,7 @@ CONFIG_LCD_PLATFORM=m # CONFIG_LDM_DEBUG is not set CONFIG_LDM_PARTITION=y # CONFIG_LEDS_AAT1290 is not set +CONFIG_LEDS_AS3645A=m # CONFIG_LEDS_BCM6328 is not set # CONFIG_LEDS_BCM6358 is not set # CONFIG_LEDS_BD2802 is not set @@ -2670,6 +2686,7 @@ CONFIG_LOAD_UEFI_KEYS=y CONFIG_LOCALVERSION="" # CONFIG_LOCALVERSION_AUTO is not set CONFIG_LOCKD=m +# CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT is not set CONFIG_LOCK_DOWN_KERNEL=y CONFIG_LOCKD_V4=y # CONFIG_LOCK_STAT is not set @@ -2695,6 +2712,7 @@ CONFIG_LPFC_NVME_INITIATOR=y CONFIG_LPFC_NVME_TARGET=y CONFIG_LSI_ET1011C_PHY=m CONFIG_LSM_MMAP_MIN_ADDR=65536 +# CONFIG_LTC2471 is not set # CONFIG_LTC2485 is not set # CONFIG_LTC2497 is not set # CONFIG_LTC2632 is not set @@ -2758,7 +2776,7 @@ CONFIG_MAX30100=m # CONFIG_MAX9611 is not set # CONFIG_MAXIM_THERMOCOUPLE is not set CONFIG_MAX_RAW_DEVS=8192 -CONFIG_MAXSMP=y +# CONFIG_MAXSMP is not set # CONFIG_MC3230 is not set # CONFIG_MCB is not set # CONFIG_MCE_AMD_INJ is not set @@ -2782,6 +2800,7 @@ CONFIG_MDIO_BITBANG=m # CONFIG_MDIO_BUS_MUX_MMIOREG is not set # CONFIG_MDIO_GPIO is not set # CONFIG_MDIO_HISI_FEMAC is not set +CONFIG_MDIO_I2C=m # CONFIG_MDIO_OCTEON is not set # CONFIG_MDIO_THUNDER is not set CONFIG_MD_LINEAR=m @@ -2846,6 +2865,7 @@ CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 # CONFIG_MFD_AXP20X_I2C is not set # CONFIG_MFD_AXP20X is not set # CONFIG_MFD_BCM590XX is not set +CONFIG_MFD_BD9571MWV=m CONFIG_MFD_CORE=y # CONFIG_MFD_CPCAP is not set # CONFIG_MFD_CROS_EC is not set @@ -2913,6 +2933,7 @@ CONFIG_MFD_SM501=m # CONFIG_MFD_TPS65912_I2C is not set # CONFIG_MFD_TPS65912 is not set # CONFIG_MFD_TPS65912_SPI is not set +CONFIG_MFD_TPS68470=y # CONFIG_MFD_TPS80031 is not set CONFIG_MFD_VIPERBOARD=m CONFIG_MFD_VX855=m @@ -2962,8 +2983,10 @@ CONFIG_MLX5_CORE_EN=y CONFIG_MLX5_CORE_IPOIB=y CONFIG_MLX5_CORE=m # CONFIG_MLX5_EN_IPSEC is not set +CONFIG_MLX5_ESWITCH=y # CONFIG_MLX5_FPGA is not set # CONFIG_MLX5_INFINIBAND is not set +CONFIG_MLX5_MPFS=y # CONFIG_MLX90614 is not set CONFIG_MLX_CPLD_PLATFORM=m CONFIG_MLXFW=m @@ -2984,7 +3007,6 @@ CONFIG_MMA7660=m # CONFIG_MMA9551 is not set # CONFIG_MMA9553 is not set # CONFIG_MMC35240 is not set -CONFIG_MMC_BLOCK_BOUNCE=y CONFIG_MMC_BLOCK=m CONFIG_MMC_BLOCK_MINORS=8 CONFIG_MMC_CB710=m @@ -3345,6 +3367,7 @@ CONFIG_NETLABEL=y CONFIG_NETLINK_DIAG=m CONFIG_NET_MPLS_GSO=m CONFIG_NET_NCSI=y +CONFIG_NET_NSH=m CONFIG_NET_NS=y CONFIG_NET_PACKET_ENGINE=y CONFIG_NET_PKTGEN=m @@ -3414,6 +3437,7 @@ CONFIG_NET_VENDOR_EXAR=y # CONFIG_NET_VENDOR_FUJITSU is not set # CONFIG_NET_VENDOR_HISILICON is not set # CONFIG_NET_VENDOR_HP is not set +# CONFIG_NET_VENDOR_HUAWEI is not set # CONFIG_NET_VENDOR_I825XX is not set CONFIG_NET_VENDOR_INTEL=y CONFIG_NET_VENDOR_MARVELL=y @@ -3435,6 +3459,7 @@ CONFIG_NET_VENDOR_ROCKER=y CONFIG_NET_VENDOR_SILAN=y CONFIG_NET_VENDOR_SIS=y CONFIG_NET_VENDOR_SMSC=y +# CONFIG_NET_VENDOR_SNI is not set CONFIG_NET_VENDOR_SOLARFLARE=y CONFIG_NET_VENDOR_STMICRO=y CONFIG_NET_VENDOR_SUN=y @@ -3574,6 +3599,7 @@ CONFIG_NFT_EXTHDR=m CONFIG_NFT_FIB_INET=m CONFIG_NFT_FIB_IPV4=m CONFIG_NFT_FIB_IPV6=m +CONFIG_NFT_FIB_NETDEV=m CONFIG_NFT_FWD_NETDEV=m CONFIG_NFT_HASH=m CONFIG_NFT_LIMIT=m @@ -3817,6 +3843,7 @@ CONFIG_PCIEAER=y # CONFIG_PCIEASPM_DEBUG is not set CONFIG_PCIEASPM=y CONFIG_PCIE_DPC=y +# CONFIG_PCIE_DW_HOST_ECAM is not set # CONFIG_PCIE_DW_PLAT is not set CONFIG_PCIE_ECRC=y # CONFIG_PCI_ENDPOINT is not set @@ -3875,6 +3902,8 @@ CONFIG_PERSISTENT_KEYRINGS=y # CONFIG_PHONET is not set # CONFIG_PHY_CPCAP_USB is not set CONFIG_PHYLIB=y +CONFIG_PHYLINK=m +# CONFIG_PHY_MVEBU_CP110_COMPHY is not set # CONFIG_PHY_PXA_28NM_HSIC is not set # CONFIG_PHY_PXA_28NM_USB2 is not set # CONFIG_PHY_QCOM_USB_HSIC is not set @@ -3884,19 +3913,23 @@ CONFIG_PHYSICAL_START=0x400000 # CONFIG_PHY_ST_SPEAR1310_MIPHY is not set # CONFIG_PHY_ST_SPEAR1340_MIPHY is not set # CONFIG_PHY_TUSB1210 is not set +# CONFIG_PI433 is not set CONFIG_PID_NS=y CONFIG_PINCONF=y # CONFIG_PINCTRL_AMD is not set CONFIG_PINCTRL_BAYTRAIL=y -# CONFIG_PINCTRL_BCM281XX is not set CONFIG_PINCTRL_BROXTON=m # CONFIG_PINCTRL_CANNONLAKE is not set CONFIG_PINCTRL_CHERRYVIEW=y +CONFIG_PINCTRL_DENVERTON=m # CONFIG_PINCTRL_GEMINILAKE is not set # CONFIG_PINCTRL_IPQ8074 is not set +CONFIG_PINCTRL_LEWISBURG=m # CONFIG_PINCTRL_MCP23S08 is not set -# CONFIG_PINCTRL_MSM8994 is not set +CONFIG_PINCTRL_RK805=m # CONFIG_PINCTRL_SINGLE is not set +# CONFIG_PINCTRL_SPRD is not set +# CONFIG_PINCTRL_SPRD_SC9860 is not set CONFIG_PINCTRL_SUNRISEPOINT=m # CONFIG_PINCTRL_SX150X is not set CONFIG_PINCTRL=y @@ -3915,7 +3948,7 @@ CONFIG_PM_DEVFREQ=y # CONFIG_PMIC_ADP5520 is not set # CONFIG_PMIC_DA903X is not set CONFIG_PMIC_OPREGION=y -# CONFIG_PM_OPP is not set +CONFIG_PM_OPP=y CONFIG_PM_STD_PARTITION="" CONFIG_PM_TEST_SUSPEND=y CONFIG_PM_TRACE_RTC=y @@ -4008,6 +4041,7 @@ CONFIG_PWRSEQ_SIMPLE=m # CONFIG_QCA7000_SPI is not set # CONFIG_QCA7000_UART is not set # CONFIG_QCOM_EMAC is not set +# CONFIG_QCOM_GLINK_SSR is not set # CONFIG_QCOM_HIDMA is not set # CONFIG_QCOM_HIDMA_MGMT is not set CONFIG_QEDE=m @@ -4037,6 +4071,7 @@ CONFIG_R8169=m # CONFIG_R8188EU is not set CONFIG_R8712U=m CONFIG_R8723AU=m # Jes Sorensen maintains this (rhbz 1100162) +CONFIG_R8822BE=m CONFIG_RADIO_ADAPTERS=y CONFIG_RADIO_AZTECH=m CONFIG_RADIO_CADET=m @@ -4105,6 +4140,7 @@ CONFIG_REALTEK_PHY=m # CONFIG_REFCOUNT_FULL is not set CONFIG_REGMAP_I2C=y CONFIG_REGMAP=y +CONFIG_REGULATOR_BD9571MWV=m # CONFIG_REGULATOR_DEBUG is not set # CONFIG_REGULATOR is not set # CONFIG_REGULATOR_TPS65132 is not set @@ -4119,6 +4155,8 @@ CONFIG_RELAY=y # CONFIG_RELOCATABLE_TEST is not set CONFIG_RELOCATABLE=y CONFIG_REMOTEPROC=m +CONFIG_RESET_ATTACK_MITIGATION=y +# CONFIG_RESET_HSDK_V1 is not set # CONFIG_RESET_TI_SYSCON is not set # CONFIG_RFD_FTL is not set CONFIG_RFKILL_GPIO=m @@ -4138,6 +4176,8 @@ CONFIG_RMI4_F55=y CONFIG_RMI4_I2C=m CONFIG_RMI4_SMB=m CONFIG_RMI4_SPI=m +# CONFIG_RMNET is not set +# CONFIG_ROCKCHIP_PHY is not set CONFIG_ROCKER=m CONFIG_ROCKETPORT=m CONFIG_ROMFS_FS=m @@ -4145,6 +4185,7 @@ CONFIG_ROSE=m CONFIG_RPCSEC_GSS_KRB5=m # CONFIG_RPMSG_CHAR is not set # CONFIG_RPMSG_QCOM_GLINK_RPM is not set +# CONFIG_RPMSG_QCOM_GLINK_SMEM is not set CONFIG_RPR0521=m CONFIG_RSI_91X=m CONFIG_RSI_DEBUGFS=y @@ -4522,6 +4563,7 @@ CONFIG_SENSORS_HDAPS=m CONFIG_SENSORS_I5500=m CONFIG_SENSORS_I5K_AMB=m CONFIG_SENSORS_IBMAEM=m +# CONFIG_SENSORS_IBM_CFFPS is not set CONFIG_SENSORS_IBMPEX=m # CONFIG_SENSORS_IIO_HWMON is not set CONFIG_SENSORS_INA209=m @@ -4613,6 +4655,7 @@ CONFIG_SENSORS_TMP108=m CONFIG_SENSORS_TMP401=m CONFIG_SENSORS_TMP421=m CONFIG_SENSORS_TPS40422=m +CONFIG_SENSORS_TPS53679=m CONFIG_SENSORS_TSL2550=m # CONFIG_SENSORS_TSL2563 is not set CONFIG_SENSORS_UCD9000=m @@ -4686,6 +4729,7 @@ CONFIG_SERIO_ALTERA_PS2=m # CONFIG_SERIO_APBPS2 is not set CONFIG_SERIO_ARC_PS2=m # CONFIG_SERIO_CT82C710 is not set +# CONFIG_SERIO_GPIO_PS2 is not set CONFIG_SERIO_I8042=y CONFIG_SERIO_LIBPS2=y # CONFIG_SERIO_OLPC_APSP is not set @@ -4699,6 +4743,7 @@ CONFIG_SFC_FALCON=m CONFIG_SFC_FALCON_MTD=y # CONFIG_SFC is not set CONFIG_SFI=y +CONFIG_SFP=m # CONFIG_SGI_IOC4 is not set CONFIG_SGI_PARTITION=y CONFIG_SH_ETH=m @@ -4718,6 +4763,7 @@ CONFIG_SKGE_GENESIS=y CONFIG_SKGE=m # CONFIG_SKY2_DEBUG is not set CONFIG_SKY2=m +CONFIG_SLAB_FREELIST_HARDENED=y CONFIG_SLAB_FREELIST_RANDOM=y CONFIG_SLAB_MERGE_DEFAULT=y # CONFIG_SLICOSS is not set @@ -4825,7 +4871,7 @@ CONFIG_SND_HDA_INPUT_BEEP_MODE=0 CONFIG_SND_HDA_INPUT_BEEP=y CONFIG_SND_HDA_INTEL=m CONFIG_SND_HDA_PATCH_LOADER=y -CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0 +CONFIG_SND_HDA_POWER_SAVE_DEFAULT=1 CONFIG_SND_HDA_POWER_SAVE=y CONFIG_SND_HDA_PREALLOC_SIZE=4096 CONFIG_SND_HDA_RECONFIG=y @@ -4914,6 +4960,7 @@ CONFIG_SND_SOC_CS42L42=m # CONFIG_SND_SOC_CS42L56 is not set # CONFIG_SND_SOC_CS42L73 is not set # CONFIG_SND_SOC_CS42XX8_I2C is not set +CONFIG_SND_SOC_CS43130=m # CONFIG_SND_SOC_CS4349 is not set # CONFIG_SND_SOC_CS53L30 is not set CONFIG_SND_SOC_DIO2125=m @@ -5001,6 +5048,7 @@ CONFIG_SND_SOC_SSM4567=m CONFIG_SND_SOC_TS3A227E=m # CONFIG_SND_SOC_WM8510 is not set # CONFIG_SND_SOC_WM8523 is not set +CONFIG_SND_SOC_WM8524=m # CONFIG_SND_SOC_WM8580 is not set # CONFIG_SND_SOC_WM8711 is not set # CONFIG_SND_SOC_WM8728 is not set @@ -5100,6 +5148,7 @@ CONFIG_SQUASHFS=m CONFIG_SQUASHFS_XATTR=y CONFIG_SQUASHFS_XZ=y CONFIG_SQUASHFS_ZLIB=y +CONFIG_SQUASHFS_ZSTD=y # CONFIG_SRAM is not set # CONFIG_SRF04 is not set # CONFIG_SRF08 is not set @@ -5134,6 +5183,7 @@ CONFIG_STMMAC_ETH=m # CONFIG_STMMAC_PLATFORM is not set # CONFIG_STM_SOURCE_CONSOLE is not set CONFIG_STRICT_DEVMEM=y +# CONFIG_STRING_SELFTEST is not set CONFIG_STRIP_ASM_SYMS=y # CONFIG_STRIP is not set CONFIG_SUNDANCE=m @@ -5298,7 +5348,6 @@ CONFIG_TIPC=m CONFIG_TIPC_MEDIA_UDP=y CONFIG_TI_SCI_PROTOCOL=m # CONFIG_TI_ST is not set -# CONFIG_TI_SYSCON_RESET is not set # CONFIG_TI_TLC4541 is not set CONFIG_TLAN=m CONFIG_TLS=m @@ -5584,7 +5633,6 @@ CONFIG_USB_KEENE=m CONFIG_USB_LAN78XX=m CONFIG_USB_LCD=m CONFIG_USB_LD=m -CONFIG_USB_LED=m CONFIG_USB_LEDS_TRIGGER_USBPORT=m CONFIG_USB_LED_TRIG=y CONFIG_USB_LEGOTOWER=m @@ -5863,7 +5911,6 @@ CONFIG_VIDEO_NOON010PC30=m CONFIG_VIDEO_PVRUSB2_DVB=y CONFIG_VIDEO_PVRUSB2=m CONFIG_VIDEO_PVRUSB2_SYSFS=y -# CONFIG_VIDEO_RENESAS_VSP1 is not set CONFIG_VIDEO_SAA6588=m CONFIG_VIDEO_SAA7134_ALSA=m CONFIG_VIDEO_SAA7134_DVB=m @@ -5966,6 +6013,7 @@ CONFIG_W1_SLAVE_DS2438=m CONFIG_W1_SLAVE_DS2760=m CONFIG_W1_SLAVE_DS2780=m CONFIG_W1_SLAVE_DS2781=m +CONFIG_W1_SLAVE_DS2805=m CONFIG_W1_SLAVE_DS28E04=m CONFIG_W1_SLAVE_SMEM=m CONFIG_W1_SLAVE_THERM=m @@ -5985,6 +6033,7 @@ CONFIG_WATCHDOG=y CONFIG_WCN36XX=m CONFIG_WDAT_WDT=m CONFIG_WDTPCI=m +CONFIG_WIL6210_DEBUGFS=y CONFIG_WIL6210_ISR_COR=y CONFIG_WIL6210=m # CONFIG_WIL6210_TRACING is not set @@ -6107,6 +6156,7 @@ CONFIG_XEN_NETDEV_BACKEND=m CONFIG_XEN_NETDEV_FRONTEND=m CONFIG_XEN_PCIDEV_BACKEND=m CONFIG_XEN_PCIDEV_FRONTEND=m +# CONFIG_XEN_PVCALLS_BACKEND is not set CONFIG_XEN_PVHVM=y CONFIG_XEN_PVH=y CONFIG_XEN_PV=y @@ -6159,6 +6209,7 @@ CONFIG_ZLIB_INFLATE=y CONFIG_ZONE_DMA=y # CONFIG_ZPA2326 is not set CONFIG_ZRAM=m +# CONFIG_ZRAM_WRITEBACK is not set # CONFIG_ZSMALLOC_STAT is not set CONFIG_ZSMALLOC=y CONFIG_ZSWAP=y diff --git a/freed-ora/current/f26/kernel-ppc64-debug.config b/freed-ora/current/f26/kernel-ppc64-debug.config index 9c105908d..e0117d1a5 100644 --- a/freed-ora/current/f26/kernel-ppc64-debug.config +++ b/freed-ora/current/f26/kernel-ppc64-debug.config @@ -153,7 +153,9 @@ CONFIG_AIX_PARTITION=y CONFIG_ALI_FIR=m CONFIG_ALIM1535_WDT=m CONFIG_ALIM7101_WDT=m +CONFIG_ALLOW_LOCKDOWN_LIFT_BY_SYSRQ=y # CONFIG_ALTERA_MBOX is not set +CONFIG_ALTERA_MSGDMA=m CONFIG_ALTERA_STAPL=m CONFIG_ALTERA_TSE=m CONFIG_ALTIVEC=y @@ -202,6 +204,7 @@ CONFIG_ATH10K=m CONFIG_ATH10K_PCI=m CONFIG_ATH10K_SDIO=m # CONFIG_ATH10K_TRACING is not set +CONFIG_ATH10K_USB=m CONFIG_ATH5K_DEBUG=y CONFIG_ATH5K=m # CONFIG_ATH5K_TRACER is not set @@ -337,6 +340,7 @@ CONFIG_BATMAN_ADV_NC=y # CONFIG_BATTERY_LEGO_EV3 is not set # CONFIG_BATTERY_MAX17040 is not set # CONFIG_BATTERY_MAX17042 is not set +# CONFIG_BATTERY_MAX1721X is not set # CONFIG_BATTERY_SBS is not set CONFIG_BAYCOM_EPP=m CONFIG_BAYCOM_PAR=m @@ -378,7 +382,6 @@ CONFIG_BINFMT_MISC=m CONFIG_BINFMT_SCRIPT=y CONFIG_BLK_CGROUP=y # CONFIG_BLK_CMDLINE_PARSER is not set -CONFIG_BLK_CPQ_CISS_DA=m CONFIG_BLK_DEBUG_FS=y CONFIG_BLK_DEV_3W_XXXX_RAID=m # CONFIG_BLK_DEV_AEC62XX is not set @@ -452,7 +455,6 @@ CONFIG_BLK_DEV_SX8=m CONFIG_BLK_DEV_THROTTLING=y # CONFIG_BLK_DEV_TRIFLEX is not set # CONFIG_BLK_DEV_TRM290 is not set -# CONFIG_BLK_DEV_UB is not set CONFIG_BLK_DEV_UMEM=m # CONFIG_BLK_DEV_VIA82CXXX is not set CONFIG_BLK_DEV=y @@ -476,6 +478,7 @@ CONFIG_BNX2=m CONFIG_BNX2X=m CONFIG_BNX2X_SRIOV=y CONFIG_BNXT_DCB=y +CONFIG_BNXT_FLOWER_OFFLOAD=y CONFIG_BNXT=m CONFIG_BNXT_SRIOV=y CONFIG_BONDING=m @@ -487,6 +490,7 @@ CONFIG_BOOT_PRINTK_DELAY=y CONFIG_BOOTX_TEXT=y CONFIG_BOUNCE=y CONFIG_BPF_JIT=y +CONFIG_BPF_STREAM_PARSER=y CONFIG_BPF_SYSCALL=y CONFIG_BPQETHER=m # CONFIG_BRCMDBG is not set @@ -575,7 +579,6 @@ CONFIG_BT_RFCOMM_TTY=y CONFIG_BTRFS_FS=m CONFIG_BTRFS_FS_POSIX_ACL=y # CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set -CONFIG_BT_SCO=y # CONFIG_BT_SELFTEST is not set # CONFIG_BTT is not set CONFIG_BT_WILINK=m @@ -649,9 +652,11 @@ CONFIG_CB710_CORE=m # CONFIG_CB710_DEBUG is not set # CONFIG_CC10001_ADC is not set # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set +# CONFIG_CCS811 is not set CONFIG_CDROM_PKTCDVD_BUFFERS=8 CONFIG_CDROM_PKTCDVD=m # CONFIG_CDROM_PKTCDVD_WCACHE is not set +CONFIG_CEC_PIN=y CONFIG_CEC_PLATFORM_DRIVERS=y CONFIG_CEPH_FSCACHE=y CONFIG_CEPH_FS=m @@ -694,7 +699,6 @@ CONFIG_CGROUPS=y # CONFIG_CHARGER_LTC3651 is not set # CONFIG_CHARGER_MAX8903 is not set # CONFIG_CHARGER_PCF50633 is not set -# CONFIG_CHARGER_QCOM_SMBB is not set # CONFIG_CHARGER_RT9455 is not set # CONFIG_CHARGER_SBS is not set CONFIG_CHARGER_SMB347=m @@ -728,9 +732,10 @@ CONFIG_CIFS_STATS=y CONFIG_CIFS_UPCALL=y CONFIG_CIFS_WEAK_PW_HASH=y CONFIG_CIFS_XATTR=y -CONFIG_CISS_SCSI_TAPE=y CONFIG_CLEANCACHE=y +# CONFIG_CLK_HSDK is not set # CONFIG_CLK_QORIQ is not set +# CONFIG_CLOCK_THERMAL is not set CONFIG_CLS_U32_MARK=y CONFIG_CLS_U32_PERF=y CONFIG_CM32181=m @@ -844,6 +849,7 @@ CONFIG_CRYPTO_DEV_NX_COMPRESS_POWERNV=m CONFIG_CRYPTO_DEV_NX_COMPRESS_PSERIES=m CONFIG_CRYPTO_DEV_NX_ENCRYPT=m CONFIG_CRYPTO_DEV_NX=y +# CONFIG_CRYPTO_DEV_SP_CCP is not set CONFIG_CRYPTO_DEV_VIRTIO=m CONFIG_CRYPTO_DEV_VMX_ENCRYPT=m CONFIG_CRYPTO_DEV_VMX=y @@ -1009,6 +1015,7 @@ CONFIG_DEV_DAX_PMEM=m # CONFIG_DEVFREQ_GOV_POWERSAVE is not set CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=m # CONFIG_DEVFREQ_GOV_USERSPACE is not set +# CONFIG_DEVFREQ_THERMAL is not set # CONFIG_DEVKMEM is not set CONFIG_DEVMEM=y CONFIG_DEVPORT=y @@ -1166,6 +1173,7 @@ CONFIG_DVB_BUDGET_PATCH=m CONFIG_DVB_CORE=m # CONFIG_DVB_CXD2099 is not set CONFIG_DVB_DDBRIDGE=m +# CONFIG_DVB_DDBRIDGE_MSIENABLE is not set # CONFIG_DVB_DEMUX_SECTION_LOSS_LOG is not set CONFIG_DVB_DM1105=m CONFIG_DVB_DYNAMIC_MINORS=y @@ -1238,7 +1246,7 @@ CONFIG_E1000E=m CONFIG_E1000=m CONFIG_E100=m CONFIG_EARLY_PRINTK_DBGP=y -# CONFIG_EARLY_PRINTK_USB_XDBC is not set +CONFIG_EARLY_PRINTK_USB_XDBC=y # CONFIG_EBC_C384_WDT is not set CONFIG_ECHO=m CONFIG_ECRYPT_FS=m @@ -1285,7 +1293,6 @@ CONFIG_ETHOC=m # CONFIG_EVM is not set # CONFIG_EXOFS_DEBUG is not set # CONFIG_EXOFS_FS is not set -CONFIG_EXPERIMENTAL=y # CONFIG_EXPERT is not set CONFIG_EXPORTFS=y # CONFIG_EXT2_FS is not set @@ -1527,13 +1534,14 @@ CONFIG_GIRBIL_DONGLE=m # CONFIG_GPIO_ADP5588 is not set # CONFIG_GPIO_ALTERA is not set # CONFIG_GPIO_AMDPT is not set +CONFIG_GPIO_BD9571MWV=m # CONFIG_GPIO_BT8XX is not set # CONFIG_GPIO_DWAPB is not set CONFIG_GPIO_EXAR=m # CONFIG_GPIO_FTGPIO010 is not set # CONFIG_GPIO_GENERIC_PLATFORM is not set # CONFIG_GPIO_GRGPIO is not set -CONFIG_GPIO_IT87=m +# CONFIG_GPIO_IT87 is not set CONFIG_GPIOLIB=y # CONFIG_GPIO_MAX7300 is not set # CONFIG_GPIO_MAX7301 is not set @@ -1553,6 +1561,7 @@ CONFIG_GPIO_PCI_IDIO_16=m # CONFIG_GPIO_SYSCON is not set # CONFIG_GPIO_SYSFS is not set # CONFIG_GPIO_TPIC2810 is not set +CONFIG_GPIO_TPS68470=y # CONFIG_GPIO_TS4900 is not set # CONFIG_GPIO_TS5500 is not set # CONFIG_GPIO_UCB1400 is not set @@ -1601,7 +1610,7 @@ CONFIG_HID_CHERRY=m CONFIG_HID_CHICONY=m CONFIG_HID_CMEDIA=m CONFIG_HID_CORSAIR=m -# CONFIG_HID_CP2112 is not set +CONFIG_HID_CP2112=m CONFIG_HID_CYPRESS=m CONFIG_HID_DRAGONRISE=m CONFIG_HID_ELECOM=m @@ -1824,8 +1833,7 @@ CONFIG_I2C_NFORCE2=m # CONFIG_I2C_NFORCE2_S4985 is not set # CONFIG_I2C_OCORES is not set CONFIG_I2C_OPAL=m -CONFIG_I2C_PARPORT_LIGHT=m -CONFIG_I2C_PARPORT=m +# CONFIG_I2C_PARPORT_LIGHT is not set CONFIG_I2C_PCA_PLATFORM=m # CONFIG_I2C_PIIX4 is not set CONFIG_I2C_POWERMAC=m @@ -1947,6 +1955,7 @@ CONFIG_INET=y # CONFIG_INFINIBAND_CXGB3_DEBUG is not set CONFIG_INFINIBAND_CXGB3=m CONFIG_INFINIBAND_CXGB4=m +# CONFIG_INFINIBAND_EXP_USER_ACCESS is not set CONFIG_INFINIBAND_I40IW=m CONFIG_INFINIBAND_IPOIB_CM=y CONFIG_INFINIBAND_IPOIB_DEBUG_DATA=y @@ -1973,7 +1982,6 @@ CONFIG_INFINIBAND_USNIC=m # CONFIG_INFTL is not set CONFIG_INITRAMFS_SOURCE="" CONFIG_INOTIFY_USER=y -CONFIG_INOTIFY=y # CONFIG_INPUT_AD714X is not set # CONFIG_INPUT_ADXL34X is not set CONFIG_INPUT_APANEL=m @@ -2022,7 +2030,9 @@ CONFIG_INPUT_PMIC8XXX_PWRKEY=m CONFIG_INPUT_POLLDEV=m CONFIG_INPUT_POWERMATE=m CONFIG_INPUT_PWM_BEEPER=m +# CONFIG_INPUT_PWM_VIBRA is not set CONFIG_INPUT_RETU_PWRBUTTON=m +CONFIG_INPUT_RK805_PWRKEY=m CONFIG_INPUT_SPARSEKMAP=m CONFIG_INPUT_TABLET=y CONFIG_INPUT_TOUCHSCREEN=y @@ -2075,7 +2085,7 @@ CONFIG_IP_DCCP_CCID2=m # CONFIG_IP_DCCP_CCID3_DEBUG is not set CONFIG_IP_DCCP_CCID3=y # CONFIG_IP_DCCP_DEBUG is not set -CONFIG_IP_DCCP=m +# CONFIG_IP_DCCP is not set CONFIG_IPDDP_ENCAP=y CONFIG_IPDDP=m CONFIG_IP_FIB_TRIE_STATS=y @@ -2198,6 +2208,7 @@ CONFIG_IRDA=m CONFIG_IR_ENE=m CONFIG_IR_FINTEK=m CONFIG_IR_GPIO_CIR=m +CONFIG_IR_GPIO_TX=m CONFIG_IR_HIX5HD2=m CONFIG_IR_IGORPLUGUSB=m CONFIG_IR_IGUANA=m @@ -2212,6 +2223,7 @@ CONFIG_IR_MCEUSB=m CONFIG_IR_NEC_DECODER=m CONFIG_IRNET=m CONFIG_IR_NUVOTON=m +CONFIG_IR_PWM_TX=m CONFIG_IRQ_ALL_CPUS=y # CONFIG_IRQ_DOMAIN_DEBUG is not set # CONFIG_IRQSOFF_TRACER is not set @@ -2444,6 +2456,7 @@ CONFIG_LCD_PLATFORM=m # CONFIG_LDM_DEBUG is not set CONFIG_LDM_PARTITION=y # CONFIG_LEDS_AAT1290 is not set +CONFIG_LEDS_AS3645A=m # CONFIG_LEDS_BCM6328 is not set # CONFIG_LEDS_BCM6358 is not set # CONFIG_LEDS_BD2802 is not set @@ -2542,6 +2555,7 @@ CONFIG_LMP91000=m CONFIG_LOCALVERSION="" # CONFIG_LOCALVERSION_AUTO is not set CONFIG_LOCKD=m +# CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT is not set # CONFIG_LOCK_DOWN_KERNEL is not set CONFIG_LOCKD_V4=y CONFIG_LOCK_STAT=y @@ -2568,6 +2582,7 @@ CONFIG_LPFC_NVME_INITIATOR=y CONFIG_LPFC_NVME_TARGET=y CONFIG_LSI_ET1011C_PHY=m CONFIG_LSM_MMAP_MIN_ADDR=65536 +# CONFIG_LTC2471 is not set # CONFIG_LTC2485 is not set # CONFIG_LTC2497 is not set # CONFIG_LTC2632 is not set @@ -2649,6 +2664,7 @@ CONFIG_MDIO_BITBANG=m # CONFIG_MDIO_BUS_MUX_MMIOREG is not set CONFIG_MDIO_GPIO=m # CONFIG_MDIO_HISI_FEMAC is not set +CONFIG_MDIO_I2C=m # CONFIG_MDIO_OCTEON is not set # CONFIG_MDIO_THUNDER is not set CONFIG_MD_LINEAR=m @@ -2717,6 +2733,7 @@ CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 # CONFIG_MFD_AXP20X_I2C is not set # CONFIG_MFD_AXP20X is not set # CONFIG_MFD_BCM590XX is not set +CONFIG_MFD_BD9571MWV=m CONFIG_MFD_CORE=m # CONFIG_MFD_CPCAP is not set # CONFIG_MFD_CROS_EC is not set @@ -2781,6 +2798,7 @@ CONFIG_MFD_SM501=m # CONFIG_MFD_TPS65912_I2C is not set # CONFIG_MFD_TPS65912 is not set # CONFIG_MFD_TPS65912_SPI is not set +CONFIG_MFD_TPS68470=y # CONFIG_MFD_TPS80031 is not set CONFIG_MFD_VIPERBOARD=m CONFIG_MFD_VX855=m @@ -2825,8 +2843,10 @@ CONFIG_MLX5_CORE_EN=y CONFIG_MLX5_CORE_IPOIB=y CONFIG_MLX5_CORE=m # CONFIG_MLX5_EN_IPSEC is not set +CONFIG_MLX5_ESWITCH=y # CONFIG_MLX5_FPGA is not set CONFIG_MLX5_INFINIBAND=m +CONFIG_MLX5_MPFS=y # CONFIG_MLX90614 is not set CONFIG_MLX_CPLD_PLATFORM=m CONFIG_MLXFW=m @@ -2847,7 +2867,6 @@ CONFIG_MMA7660=m # CONFIG_MMA9551 is not set # CONFIG_MMA9553 is not set # CONFIG_MMC35240 is not set -CONFIG_MMC_BLOCK_BOUNCE=y CONFIG_MMC_BLOCK=m CONFIG_MMC_BLOCK_MINORS=8 CONFIG_MMC_CB710=m @@ -3193,6 +3212,7 @@ CONFIG_NETLABEL=y CONFIG_NETLINK_DIAG=m CONFIG_NET_MPLS_GSO=m CONFIG_NET_NCSI=y +CONFIG_NET_NSH=m CONFIG_NET_NS=y CONFIG_NET_PACKET_ENGINE=y CONFIG_NET_PKTGEN=m @@ -3261,6 +3281,7 @@ CONFIG_NET_VENDOR_EXAR=y # CONFIG_NET_VENDOR_FUJITSU is not set # CONFIG_NET_VENDOR_HISILICON is not set # CONFIG_NET_VENDOR_HP is not set +# CONFIG_NET_VENDOR_HUAWEI is not set # CONFIG_NET_VENDOR_I825XX is not set CONFIG_NET_VENDOR_IBM=y CONFIG_NET_VENDOR_INTEL=y @@ -3284,6 +3305,7 @@ CONFIG_NET_VENDOR_ROCKER=y CONFIG_NET_VENDOR_SILAN=y CONFIG_NET_VENDOR_SIS=y CONFIG_NET_VENDOR_SMSC=y +# CONFIG_NET_VENDOR_SNI is not set # CONFIG_NET_VENDOR_SOLARFLARE is not set CONFIG_NET_VENDOR_STMICRO=y CONFIG_NET_VENDOR_SUN=y @@ -3422,6 +3444,7 @@ CONFIG_NFT_EXTHDR=m CONFIG_NFT_FIB_INET=m CONFIG_NFT_FIB_IPV4=m CONFIG_NFT_FIB_IPV6=m +CONFIG_NFT_FIB_NETDEV=m CONFIG_NFT_FWD_NETDEV=m CONFIG_NFT_HASH=m CONFIG_NFT_LIMIT=m @@ -3577,14 +3600,8 @@ CONFIG_PANIC_TIMEOUT=0 CONFIG_PANTHERLORD_FF=y # CONFIG_PARIDE is not set CONFIG_PARMAN=m -CONFIG_PARPORT_1284=y -# CONFIG_PARPORT_AX88796 is not set -CONFIG_PARPORT=m -# CONFIG_PARPORT_PC_FIFO is not set -CONFIG_PARPORT_PC=m -CONFIG_PARPORT_PC_PCMCIA=m -# CONFIG_PARPORT_PC_SUPERIO is not set -CONFIG_PARPORT_SERIAL=m +# CONFIG_PARPORT is not set +# CONFIG_PARPORT_PC is not set CONFIG_PARTITION_ADVANCED=y CONFIG_PATA_ACPI=m CONFIG_PATA_ALI=m @@ -3649,6 +3666,7 @@ CONFIG_PCIEAER=y # CONFIG_PCIEASPM_DEBUG is not set CONFIG_PCIEASPM=y CONFIG_PCIE_DPC=y +# CONFIG_PCIE_DW_HOST_ECAM is not set # CONFIG_PCIE_DW_PLAT is not set CONFIG_PCIE_ECRC=y # CONFIG_PCI_ENDPOINT is not set @@ -3696,6 +3714,8 @@ CONFIG_PERSISTENT_KEYRINGS=y # CONFIG_PHONET is not set # CONFIG_PHY_CPCAP_USB is not set CONFIG_PHYLIB=y +CONFIG_PHYLINK=m +# CONFIG_PHY_MVEBU_CP110_COMPHY is not set # CONFIG_PHY_PXA_28NM_HSIC is not set # CONFIG_PHY_PXA_28NM_USB2 is not set # CONFIG_PHY_QCOM_USB_HSIC is not set @@ -3703,13 +3723,16 @@ CONFIG_PHYLIB=y # CONFIG_PHY_ST_SPEAR1310_MIPHY is not set # CONFIG_PHY_ST_SPEAR1340_MIPHY is not set # CONFIG_PHY_TUSB1210 is not set +# CONFIG_PI433 is not set CONFIG_PID_NS=y # CONFIG_PINCONF is not set # CONFIG_PINCTRL_CANNONLAKE is not set # CONFIG_PINCTRL_IPQ8074 is not set # CONFIG_PINCTRL is not set # CONFIG_PINCTRL_MCP23S08 is not set -# CONFIG_PINCTRL_MSM8994 is not set +CONFIG_PINCTRL_RK805=m +# CONFIG_PINCTRL_SPRD is not set +# CONFIG_PINCTRL_SPRD_SC9860 is not set # CONFIG_PINCTRL_SX150X is not set # CONFIG_PINMUX is not set CONFIG_PKCS7_MESSAGE_PARSER=y @@ -3729,7 +3752,7 @@ CONFIG_PM_DEBUG=y CONFIG_PM_DEVFREQ=y # CONFIG_PMIC_ADP5520 is not set # CONFIG_PMIC_DA903X is not set -# CONFIG_PM_OPP is not set +CONFIG_PM_OPP=y CONFIG_PM_STD_PARTITION="" CONFIG_PM_TEST_SUSPEND=y CONFIG_PM_TRACE_RTC=y @@ -3774,6 +3797,7 @@ CONFIG_PPC_EMULATED_STATS=y # CONFIG_PPC_ICSWX_USE_SIGILL is not set CONFIG_PPC_ICSWX=y CONFIG_PPC_MAPLE=y +# CONFIG_PPC_MEMTRACE is not set # CONFIG_PPC_MPC5200_LPBFIFO is not set CONFIG_PPC_OF_BOOT_TRAMPOLINE=y # CONFIG_PPC_PASEMI is not set @@ -3788,6 +3812,7 @@ CONFIG_PPC_SMLPAR=y CONFIG_PPC_SPLPAR=y CONFIG_PPC_SUBPAGE_PROT=y CONFIG_PPC_TRANSACTIONAL_MEM=y +CONFIG_PPC_VAS=y CONFIG_PPC=y CONFIG_PPDEV=m CONFIG_PPP_ASYNC=m @@ -3804,7 +3829,6 @@ CONFIG_PPP_SYNC_TTY=m CONFIG_PPS_CLIENT_GPIO=m # CONFIG_PPS_CLIENT_KTIMER is not set CONFIG_PPS_CLIENT_LDISC=m -CONFIG_PPS_CLIENT_PARPORT=m # CONFIG_PPS_DEBUG is not set CONFIG_PPS_GENERATOR_PARPORT=m CONFIG_PPS=m @@ -3852,6 +3876,7 @@ CONFIG_PWRSEQ_SIMPLE=m # CONFIG_QCA7000_SPI is not set # CONFIG_QCA7000_UART is not set # CONFIG_QCOM_EMAC is not set +# CONFIG_QCOM_GLINK_SSR is not set # CONFIG_QCOM_HIDMA is not set # CONFIG_QCOM_HIDMA_MGMT is not set CONFIG_QEDE=m @@ -3881,6 +3906,7 @@ CONFIG_R8169=m # CONFIG_R8188EU is not set CONFIG_R8712U=m CONFIG_R8723AU=m # Jes Sorensen maintains this (rhbz 1100162) +CONFIG_R8822BE=m CONFIG_RADIO_ADAPTERS=y CONFIG_RADIO_AZTECH=m CONFIG_RADIO_CADET=m @@ -3948,6 +3974,7 @@ CONFIG_REALTEK_PHY=m CONFIG_REFCOUNT_FULL=y CONFIG_REGMAP_I2C=m CONFIG_REGMAP=y +CONFIG_REGULATOR_BD9571MWV=m # CONFIG_REGULATOR_DEBUG is not set # CONFIG_REGULATOR is not set # CONFIG_REGULATOR_TPS65132 is not set @@ -3962,6 +3989,8 @@ CONFIG_RELAY=y # CONFIG_RELOCATABLE_TEST is not set CONFIG_RELOCATABLE=y CONFIG_REMOTEPROC=m +CONFIG_RESET_ATTACK_MITIGATION=y +# CONFIG_RESET_HSDK_V1 is not set # CONFIG_RESET_TI_SYSCON is not set # CONFIG_RFD_FTL is not set CONFIG_RFKILL_GPIO=m @@ -3981,6 +4010,8 @@ CONFIG_RMI4_F55=y CONFIG_RMI4_I2C=m CONFIG_RMI4_SMB=m CONFIG_RMI4_SPI=m +# CONFIG_RMNET is not set +# CONFIG_ROCKCHIP_PHY is not set CONFIG_ROCKER=m CONFIG_ROCKETPORT=m CONFIG_ROMFS_FS=m @@ -3988,6 +4019,7 @@ CONFIG_ROSE=m CONFIG_RPCSEC_GSS_KRB5=m # CONFIG_RPMSG_CHAR is not set # CONFIG_RPMSG_QCOM_GLINK_RPM is not set +# CONFIG_RPMSG_QCOM_GLINK_SMEM is not set CONFIG_RPR0521=m CONFIG_RSI_91X=m CONFIG_RSI_DEBUGFS=y @@ -4360,6 +4392,7 @@ CONFIG_SENSORS_HDAPS=m # CONFIG_SENSORS_HMC5843_SPI is not set # CONFIG_SENSORS_I5K_AMB is not set CONFIG_SENSORS_IBMAEM=m +CONFIG_SENSORS_IBM_CFFPS=m CONFIG_SENSORS_IBMPEX=m CONFIG_SENSORS_IBMPOWERNV=y # CONFIG_SENSORS_IIO_HWMON is not set @@ -4450,6 +4483,7 @@ CONFIG_SENSORS_TMP108=m CONFIG_SENSORS_TMP401=m CONFIG_SENSORS_TMP421=m CONFIG_SENSORS_TPS40422=m +CONFIG_SENSORS_TPS53679=m CONFIG_SENSORS_TSL2550=m # CONFIG_SENSORS_TSL2563 is not set CONFIG_SENSORS_UCD9000=m @@ -4525,6 +4559,7 @@ CONFIG_SERIO_ALTERA_PS2=m # CONFIG_SERIO_APBPS2 is not set CONFIG_SERIO_ARC_PS2=m # CONFIG_SERIO_CT82C710 is not set +# CONFIG_SERIO_GPIO_PS2 is not set CONFIG_SERIO_I8042=y CONFIG_SERIO_LIBPS2=y # CONFIG_SERIO_OLPC_APSP is not set @@ -4538,6 +4573,7 @@ CONFIG_SERIO=y CONFIG_SFC_FALCON=m CONFIG_SFC_FALCON_MTD=y # CONFIG_SFC is not set +CONFIG_SFP=m # CONFIG_SGI_IOC4 is not set CONFIG_SGI_PARTITION=y CONFIG_SH_ETH=m @@ -4557,6 +4593,7 @@ CONFIG_SKGE_GENESIS=y CONFIG_SKGE=m # CONFIG_SKY2_DEBUG is not set CONFIG_SKY2=m +CONFIG_SLAB_FREELIST_HARDENED=y CONFIG_SLAB_FREELIST_RANDOM=y CONFIG_SLAB_MERGE_DEFAULT=y # CONFIG_SLICOSS is not set @@ -4670,7 +4707,7 @@ CONFIG_SND_HDA_INPUT_BEEP_MODE=0 CONFIG_SND_HDA_INPUT_BEEP=y # CONFIG_SND_HDA_INTEL is not set CONFIG_SND_HDA_PATCH_LOADER=y -CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0 +CONFIG_SND_HDA_POWER_SAVE_DEFAULT=1 CONFIG_SND_HDA_POWER_SAVE=y CONFIG_SND_HDA_PREALLOC_SIZE=4096 CONFIG_SND_HDA_RECONFIG=y @@ -4762,6 +4799,7 @@ CONFIG_SND_SOC_CS42L42=m # CONFIG_SND_SOC_CS42L56 is not set # CONFIG_SND_SOC_CS42L73 is not set # CONFIG_SND_SOC_CS42XX8_I2C is not set +CONFIG_SND_SOC_CS43130=m # CONFIG_SND_SOC_CS4349 is not set # CONFIG_SND_SOC_CS53L30 is not set CONFIG_SND_SOC_DIO2125=m @@ -4824,6 +4862,7 @@ CONFIG_SND_SOC_SPDIF=m # CONFIG_SND_SOC_TS3A227E is not set # CONFIG_SND_SOC_WM8510 is not set # CONFIG_SND_SOC_WM8523 is not set +CONFIG_SND_SOC_WM8524=m # CONFIG_SND_SOC_WM8580 is not set # CONFIG_SND_SOC_WM8711 is not set # CONFIG_SND_SOC_WM8728 is not set @@ -4918,6 +4957,7 @@ CONFIG_SQUASHFS=m CONFIG_SQUASHFS_XATTR=y CONFIG_SQUASHFS_XZ=y CONFIG_SQUASHFS_ZLIB=y +CONFIG_SQUASHFS_ZSTD=y # CONFIG_SRAM is not set # CONFIG_SRF04 is not set # CONFIG_SRF08 is not set @@ -4951,6 +4991,7 @@ CONFIG_STMMAC_ETH=m # CONFIG_STMMAC_PLATFORM is not set # CONFIG_STM_SOURCE_CONSOLE is not set CONFIG_STRICT_DEVMEM=y +# CONFIG_STRING_SELFTEST is not set CONFIG_STRIP_ASM_SYMS=y # CONFIG_STRIP is not set CONFIG_SUNDANCE=m @@ -5109,7 +5150,6 @@ CONFIG_TIPC=m CONFIG_TIPC_MEDIA_UDP=y CONFIG_TI_SCI_PROTOCOL=m # CONFIG_TI_ST is not set -# CONFIG_TI_SYSCON_RESET is not set # CONFIG_TI_TLC4541 is not set CONFIG_TLAN=m CONFIG_TLS=m @@ -5393,7 +5433,6 @@ CONFIG_USB_KEENE=m CONFIG_USB_LAN78XX=m CONFIG_USB_LCD=m CONFIG_USB_LD=m -CONFIG_USB_LED=m CONFIG_USB_LEDS_TRIGGER_USBPORT=m CONFIG_USB_LED_TRIG=y CONFIG_USB_LEGOTOWER=m @@ -5498,7 +5537,6 @@ CONFIG_USB_SERIAL_KLSI=m CONFIG_USB_SERIAL_KOBIL_SCT=m CONFIG_USB_SERIAL_MCT_U232=m # CONFIG_USB_SERIAL_METRO is not set -CONFIG_USB_SERIAL_MOS7715_PARPORT=y CONFIG_USB_SERIAL_MOS7720=m CONFIG_USB_SERIAL_MOS7840=m # CONFIG_USB_SERIAL_MXUPORT is not set @@ -5672,7 +5710,6 @@ CONFIG_VIDEO_NOON010PC30=m CONFIG_VIDEO_PVRUSB2_DVB=y CONFIG_VIDEO_PVRUSB2=m CONFIG_VIDEO_PVRUSB2_SYSFS=y -# CONFIG_VIDEO_RENESAS_VSP1 is not set CONFIG_VIDEO_SAA6588=m CONFIG_VIDEO_SAA7134_ALSA=m CONFIG_VIDEO_SAA7134_DVB=m @@ -5770,6 +5807,7 @@ CONFIG_W1_SLAVE_DS2438=m CONFIG_W1_SLAVE_DS2760=m CONFIG_W1_SLAVE_DS2780=m CONFIG_W1_SLAVE_DS2781=m +CONFIG_W1_SLAVE_DS2805=m CONFIG_W1_SLAVE_DS28E04=m CONFIG_W1_SLAVE_SMEM=m CONFIG_W1_SLAVE_THERM=m @@ -5790,6 +5828,7 @@ CONFIG_WATCHDOG=y CONFIG_WCN36XX=m CONFIG_WDAT_WDT=m CONFIG_WDTPCI=m +CONFIG_WIL6210_DEBUGFS=y CONFIG_WIL6210_ISR_COR=y CONFIG_WIL6210=m # CONFIG_WIL6210_TRACING is not set @@ -5891,6 +5930,7 @@ CONFIG_ZLIB_INFLATE=y # CONFIG_ZONE_DEVICE is not set # CONFIG_ZPA2326 is not set CONFIG_ZRAM=m +# CONFIG_ZRAM_WRITEBACK is not set # CONFIG_ZSMALLOC_STAT is not set CONFIG_ZSMALLOC=y CONFIG_ZSWAP=y diff --git a/freed-ora/current/f26/kernel-ppc64.config b/freed-ora/current/f26/kernel-ppc64.config index 5cd8c2eff..03a5696fc 100644 --- a/freed-ora/current/f26/kernel-ppc64.config +++ b/freed-ora/current/f26/kernel-ppc64.config @@ -153,7 +153,9 @@ CONFIG_AIX_PARTITION=y CONFIG_ALI_FIR=m CONFIG_ALIM1535_WDT=m CONFIG_ALIM7101_WDT=m +CONFIG_ALLOW_LOCKDOWN_LIFT_BY_SYSRQ=y # CONFIG_ALTERA_MBOX is not set +CONFIG_ALTERA_MSGDMA=m CONFIG_ALTERA_STAPL=m CONFIG_ALTERA_TSE=m CONFIG_ALTIVEC=y @@ -201,6 +203,7 @@ CONFIG_ATH10K=m CONFIG_ATH10K_PCI=m CONFIG_ATH10K_SDIO=m # CONFIG_ATH10K_TRACING is not set +CONFIG_ATH10K_USB=m CONFIG_ATH5K_DEBUG=y CONFIG_ATH5K=m # CONFIG_ATH5K_TRACER is not set @@ -336,6 +339,7 @@ CONFIG_BATMAN_ADV_NC=y # CONFIG_BATTERY_LEGO_EV3 is not set # CONFIG_BATTERY_MAX17040 is not set # CONFIG_BATTERY_MAX17042 is not set +# CONFIG_BATTERY_MAX1721X is not set # CONFIG_BATTERY_SBS is not set CONFIG_BAYCOM_EPP=m CONFIG_BAYCOM_PAR=m @@ -377,7 +381,6 @@ CONFIG_BINFMT_MISC=m CONFIG_BINFMT_SCRIPT=y CONFIG_BLK_CGROUP=y # CONFIG_BLK_CMDLINE_PARSER is not set -CONFIG_BLK_CPQ_CISS_DA=m CONFIG_BLK_DEBUG_FS=y CONFIG_BLK_DEV_3W_XXXX_RAID=m # CONFIG_BLK_DEV_AEC62XX is not set @@ -451,7 +454,6 @@ CONFIG_BLK_DEV_SX8=m CONFIG_BLK_DEV_THROTTLING=y # CONFIG_BLK_DEV_TRIFLEX is not set # CONFIG_BLK_DEV_TRM290 is not set -# CONFIG_BLK_DEV_UB is not set CONFIG_BLK_DEV_UMEM=m # CONFIG_BLK_DEV_VIA82CXXX is not set CONFIG_BLK_DEV=y @@ -475,6 +477,7 @@ CONFIG_BNX2=m CONFIG_BNX2X=m CONFIG_BNX2X_SRIOV=y CONFIG_BNXT_DCB=y +CONFIG_BNXT_FLOWER_OFFLOAD=y CONFIG_BNXT=m CONFIG_BNXT_SRIOV=y CONFIG_BONDING=m @@ -486,6 +489,7 @@ CONFIG_BOOT_PRINTK_DELAY=y CONFIG_BOOTX_TEXT=y CONFIG_BOUNCE=y CONFIG_BPF_JIT=y +CONFIG_BPF_STREAM_PARSER=y CONFIG_BPF_SYSCALL=y CONFIG_BPQETHER=m # CONFIG_BRCMDBG is not set @@ -574,7 +578,6 @@ CONFIG_BT_RFCOMM_TTY=y CONFIG_BTRFS_FS=m CONFIG_BTRFS_FS_POSIX_ACL=y # CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set -CONFIG_BT_SCO=y # CONFIG_BT_SELFTEST is not set # CONFIG_BTT is not set CONFIG_BT_WILINK=m @@ -648,9 +651,11 @@ CONFIG_CB710_CORE=m # CONFIG_CB710_DEBUG is not set # CONFIG_CC10001_ADC is not set # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set +# CONFIG_CCS811 is not set CONFIG_CDROM_PKTCDVD_BUFFERS=8 CONFIG_CDROM_PKTCDVD=m # CONFIG_CDROM_PKTCDVD_WCACHE is not set +CONFIG_CEC_PIN=y CONFIG_CEC_PLATFORM_DRIVERS=y CONFIG_CEPH_FSCACHE=y CONFIG_CEPH_FS=m @@ -693,7 +698,6 @@ CONFIG_CGROUPS=y # CONFIG_CHARGER_LTC3651 is not set # CONFIG_CHARGER_MAX8903 is not set # CONFIG_CHARGER_PCF50633 is not set -# CONFIG_CHARGER_QCOM_SMBB is not set # CONFIG_CHARGER_RT9455 is not set # CONFIG_CHARGER_SBS is not set CONFIG_CHARGER_SMB347=m @@ -727,9 +731,10 @@ CONFIG_CIFS_STATS=y CONFIG_CIFS_UPCALL=y CONFIG_CIFS_WEAK_PW_HASH=y CONFIG_CIFS_XATTR=y -CONFIG_CISS_SCSI_TAPE=y CONFIG_CLEANCACHE=y +# CONFIG_CLK_HSDK is not set # CONFIG_CLK_QORIQ is not set +# CONFIG_CLOCK_THERMAL is not set CONFIG_CLS_U32_MARK=y CONFIG_CLS_U32_PERF=y CONFIG_CM32181=m @@ -842,6 +847,7 @@ CONFIG_CRYPTO_DEV_NX_COMPRESS_POWERNV=m CONFIG_CRYPTO_DEV_NX_COMPRESS_PSERIES=m CONFIG_CRYPTO_DEV_NX_ENCRYPT=m CONFIG_CRYPTO_DEV_NX=y +# CONFIG_CRYPTO_DEV_SP_CCP is not set CONFIG_CRYPTO_DEV_VIRTIO=m CONFIG_CRYPTO_DEV_VMX_ENCRYPT=m CONFIG_CRYPTO_DEV_VMX=y @@ -999,6 +1005,7 @@ CONFIG_DEV_DAX_PMEM=m # CONFIG_DEVFREQ_GOV_POWERSAVE is not set CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=m # CONFIG_DEVFREQ_GOV_USERSPACE is not set +# CONFIG_DEVFREQ_THERMAL is not set # CONFIG_DEVKMEM is not set CONFIG_DEVMEM=y CONFIG_DEVPORT=y @@ -1155,6 +1162,7 @@ CONFIG_DVB_BUDGET_PATCH=m CONFIG_DVB_CORE=m # CONFIG_DVB_CXD2099 is not set CONFIG_DVB_DDBRIDGE=m +# CONFIG_DVB_DDBRIDGE_MSIENABLE is not set # CONFIG_DVB_DEMUX_SECTION_LOSS_LOG is not set CONFIG_DVB_DM1105=m CONFIG_DVB_DYNAMIC_MINORS=y @@ -1227,7 +1235,7 @@ CONFIG_E1000E=m CONFIG_E1000=m CONFIG_E100=m CONFIG_EARLY_PRINTK_DBGP=y -# CONFIG_EARLY_PRINTK_USB_XDBC is not set +CONFIG_EARLY_PRINTK_USB_XDBC=y # CONFIG_EBC_C384_WDT is not set CONFIG_ECHO=m CONFIG_ECRYPT_FS=m @@ -1274,7 +1282,6 @@ CONFIG_ETHOC=m # CONFIG_EVM is not set # CONFIG_EXOFS_DEBUG is not set # CONFIG_EXOFS_FS is not set -CONFIG_EXPERIMENTAL=y # CONFIG_EXPERT is not set CONFIG_EXPORTFS=y # CONFIG_EXT2_FS is not set @@ -1509,13 +1516,14 @@ CONFIG_GIRBIL_DONGLE=m # CONFIG_GPIO_ADP5588 is not set # CONFIG_GPIO_ALTERA is not set # CONFIG_GPIO_AMDPT is not set +CONFIG_GPIO_BD9571MWV=m # CONFIG_GPIO_BT8XX is not set # CONFIG_GPIO_DWAPB is not set CONFIG_GPIO_EXAR=m # CONFIG_GPIO_FTGPIO010 is not set # CONFIG_GPIO_GENERIC_PLATFORM is not set # CONFIG_GPIO_GRGPIO is not set -CONFIG_GPIO_IT87=m +# CONFIG_GPIO_IT87 is not set CONFIG_GPIOLIB=y # CONFIG_GPIO_MAX7300 is not set # CONFIG_GPIO_MAX7301 is not set @@ -1535,6 +1543,7 @@ CONFIG_GPIO_PCI_IDIO_16=m # CONFIG_GPIO_SYSCON is not set # CONFIG_GPIO_SYSFS is not set # CONFIG_GPIO_TPIC2810 is not set +CONFIG_GPIO_TPS68470=y # CONFIG_GPIO_TS4900 is not set # CONFIG_GPIO_TS5500 is not set # CONFIG_GPIO_UCB1400 is not set @@ -1583,7 +1592,7 @@ CONFIG_HID_CHERRY=m CONFIG_HID_CHICONY=m CONFIG_HID_CMEDIA=m CONFIG_HID_CORSAIR=m -# CONFIG_HID_CP2112 is not set +CONFIG_HID_CP2112=m CONFIG_HID_CYPRESS=m CONFIG_HID_DRAGONRISE=m CONFIG_HID_ELECOM=m @@ -1806,8 +1815,7 @@ CONFIG_I2C_NFORCE2=m # CONFIG_I2C_NFORCE2_S4985 is not set # CONFIG_I2C_OCORES is not set CONFIG_I2C_OPAL=m -CONFIG_I2C_PARPORT_LIGHT=m -CONFIG_I2C_PARPORT=m +# CONFIG_I2C_PARPORT_LIGHT is not set CONFIG_I2C_PCA_PLATFORM=m # CONFIG_I2C_PIIX4 is not set CONFIG_I2C_POWERMAC=m @@ -1929,6 +1937,7 @@ CONFIG_INET=y # CONFIG_INFINIBAND_CXGB3_DEBUG is not set CONFIG_INFINIBAND_CXGB3=m CONFIG_INFINIBAND_CXGB4=m +# CONFIG_INFINIBAND_EXP_USER_ACCESS is not set CONFIG_INFINIBAND_I40IW=m CONFIG_INFINIBAND_IPOIB_CM=y CONFIG_INFINIBAND_IPOIB_DEBUG_DATA=y @@ -1955,7 +1964,6 @@ CONFIG_INFINIBAND_USNIC=m # CONFIG_INFTL is not set CONFIG_INITRAMFS_SOURCE="" CONFIG_INOTIFY_USER=y -CONFIG_INOTIFY=y # CONFIG_INPUT_AD714X is not set # CONFIG_INPUT_ADXL34X is not set CONFIG_INPUT_APANEL=m @@ -2004,7 +2012,9 @@ CONFIG_INPUT_PMIC8XXX_PWRKEY=m CONFIG_INPUT_POLLDEV=m CONFIG_INPUT_POWERMATE=m CONFIG_INPUT_PWM_BEEPER=m +# CONFIG_INPUT_PWM_VIBRA is not set CONFIG_INPUT_RETU_PWRBUTTON=m +CONFIG_INPUT_RK805_PWRKEY=m CONFIG_INPUT_SPARSEKMAP=m CONFIG_INPUT_TABLET=y CONFIG_INPUT_TOUCHSCREEN=y @@ -2057,7 +2067,7 @@ CONFIG_IP_DCCP_CCID2=m # CONFIG_IP_DCCP_CCID3_DEBUG is not set CONFIG_IP_DCCP_CCID3=y # CONFIG_IP_DCCP_DEBUG is not set -CONFIG_IP_DCCP=m +# CONFIG_IP_DCCP is not set CONFIG_IPDDP_ENCAP=y CONFIG_IPDDP=m CONFIG_IP_FIB_TRIE_STATS=y @@ -2180,6 +2190,7 @@ CONFIG_IRDA=m CONFIG_IR_ENE=m CONFIG_IR_FINTEK=m CONFIG_IR_GPIO_CIR=m +CONFIG_IR_GPIO_TX=m CONFIG_IR_HIX5HD2=m CONFIG_IR_IGORPLUGUSB=m CONFIG_IR_IGUANA=m @@ -2194,6 +2205,7 @@ CONFIG_IR_MCEUSB=m CONFIG_IR_NEC_DECODER=m CONFIG_IRNET=m CONFIG_IR_NUVOTON=m +CONFIG_IR_PWM_TX=m CONFIG_IRQ_ALL_CPUS=y # CONFIG_IRQ_DOMAIN_DEBUG is not set # CONFIG_IRQSOFF_TRACER is not set @@ -2424,6 +2436,7 @@ CONFIG_LCD_PLATFORM=m # CONFIG_LDM_DEBUG is not set CONFIG_LDM_PARTITION=y # CONFIG_LEDS_AAT1290 is not set +CONFIG_LEDS_AS3645A=m # CONFIG_LEDS_BCM6328 is not set # CONFIG_LEDS_BCM6358 is not set # CONFIG_LEDS_BD2802 is not set @@ -2522,6 +2535,7 @@ CONFIG_LMP91000=m CONFIG_LOCALVERSION="" # CONFIG_LOCALVERSION_AUTO is not set CONFIG_LOCKD=m +# CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT is not set # CONFIG_LOCK_DOWN_KERNEL is not set CONFIG_LOCKD_V4=y # CONFIG_LOCK_STAT is not set @@ -2548,6 +2562,7 @@ CONFIG_LPFC_NVME_INITIATOR=y CONFIG_LPFC_NVME_TARGET=y CONFIG_LSI_ET1011C_PHY=m CONFIG_LSM_MMAP_MIN_ADDR=65536 +# CONFIG_LTC2471 is not set # CONFIG_LTC2485 is not set # CONFIG_LTC2497 is not set # CONFIG_LTC2632 is not set @@ -2628,6 +2643,7 @@ CONFIG_MDIO_BITBANG=m # CONFIG_MDIO_BUS_MUX_MMIOREG is not set CONFIG_MDIO_GPIO=m # CONFIG_MDIO_HISI_FEMAC is not set +CONFIG_MDIO_I2C=m # CONFIG_MDIO_OCTEON is not set # CONFIG_MDIO_THUNDER is not set CONFIG_MD_LINEAR=m @@ -2696,6 +2712,7 @@ CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 # CONFIG_MFD_AXP20X_I2C is not set # CONFIG_MFD_AXP20X is not set # CONFIG_MFD_BCM590XX is not set +CONFIG_MFD_BD9571MWV=m CONFIG_MFD_CORE=m # CONFIG_MFD_CPCAP is not set # CONFIG_MFD_CROS_EC is not set @@ -2760,6 +2777,7 @@ CONFIG_MFD_SM501=m # CONFIG_MFD_TPS65912_I2C is not set # CONFIG_MFD_TPS65912 is not set # CONFIG_MFD_TPS65912_SPI is not set +CONFIG_MFD_TPS68470=y # CONFIG_MFD_TPS80031 is not set CONFIG_MFD_VIPERBOARD=m CONFIG_MFD_VX855=m @@ -2804,8 +2822,10 @@ CONFIG_MLX5_CORE_EN=y CONFIG_MLX5_CORE_IPOIB=y CONFIG_MLX5_CORE=m # CONFIG_MLX5_EN_IPSEC is not set +CONFIG_MLX5_ESWITCH=y # CONFIG_MLX5_FPGA is not set CONFIG_MLX5_INFINIBAND=m +CONFIG_MLX5_MPFS=y # CONFIG_MLX90614 is not set CONFIG_MLX_CPLD_PLATFORM=m CONFIG_MLXFW=m @@ -2826,7 +2846,6 @@ CONFIG_MMA7660=m # CONFIG_MMA9551 is not set # CONFIG_MMA9553 is not set # CONFIG_MMC35240 is not set -CONFIG_MMC_BLOCK_BOUNCE=y CONFIG_MMC_BLOCK=m CONFIG_MMC_BLOCK_MINORS=8 CONFIG_MMC_CB710=m @@ -3171,6 +3190,7 @@ CONFIG_NETLABEL=y CONFIG_NETLINK_DIAG=m CONFIG_NET_MPLS_GSO=m CONFIG_NET_NCSI=y +CONFIG_NET_NSH=m CONFIG_NET_NS=y CONFIG_NET_PACKET_ENGINE=y CONFIG_NET_PKTGEN=m @@ -3239,6 +3259,7 @@ CONFIG_NET_VENDOR_EXAR=y # CONFIG_NET_VENDOR_FUJITSU is not set # CONFIG_NET_VENDOR_HISILICON is not set # CONFIG_NET_VENDOR_HP is not set +# CONFIG_NET_VENDOR_HUAWEI is not set # CONFIG_NET_VENDOR_I825XX is not set CONFIG_NET_VENDOR_IBM=y CONFIG_NET_VENDOR_INTEL=y @@ -3262,6 +3283,7 @@ CONFIG_NET_VENDOR_ROCKER=y CONFIG_NET_VENDOR_SILAN=y CONFIG_NET_VENDOR_SIS=y CONFIG_NET_VENDOR_SMSC=y +# CONFIG_NET_VENDOR_SNI is not set # CONFIG_NET_VENDOR_SOLARFLARE is not set CONFIG_NET_VENDOR_STMICRO=y CONFIG_NET_VENDOR_SUN=y @@ -3400,6 +3422,7 @@ CONFIG_NFT_EXTHDR=m CONFIG_NFT_FIB_INET=m CONFIG_NFT_FIB_IPV4=m CONFIG_NFT_FIB_IPV6=m +CONFIG_NFT_FIB_NETDEV=m CONFIG_NFT_FWD_NETDEV=m CONFIG_NFT_HASH=m CONFIG_NFT_LIMIT=m @@ -3555,14 +3578,8 @@ CONFIG_PANIC_TIMEOUT=0 CONFIG_PANTHERLORD_FF=y # CONFIG_PARIDE is not set CONFIG_PARMAN=m -CONFIG_PARPORT_1284=y -# CONFIG_PARPORT_AX88796 is not set -CONFIG_PARPORT=m -# CONFIG_PARPORT_PC_FIFO is not set -CONFIG_PARPORT_PC=m -CONFIG_PARPORT_PC_PCMCIA=m -# CONFIG_PARPORT_PC_SUPERIO is not set -CONFIG_PARPORT_SERIAL=m +# CONFIG_PARPORT is not set +# CONFIG_PARPORT_PC is not set CONFIG_PARTITION_ADVANCED=y CONFIG_PATA_ACPI=m CONFIG_PATA_ALI=m @@ -3627,6 +3644,7 @@ CONFIG_PCIEAER=y # CONFIG_PCIEASPM_DEBUG is not set CONFIG_PCIEASPM=y CONFIG_PCIE_DPC=y +# CONFIG_PCIE_DW_HOST_ECAM is not set # CONFIG_PCIE_DW_PLAT is not set CONFIG_PCIE_ECRC=y # CONFIG_PCI_ENDPOINT is not set @@ -3674,6 +3692,8 @@ CONFIG_PERSISTENT_KEYRINGS=y # CONFIG_PHONET is not set # CONFIG_PHY_CPCAP_USB is not set CONFIG_PHYLIB=y +CONFIG_PHYLINK=m +# CONFIG_PHY_MVEBU_CP110_COMPHY is not set # CONFIG_PHY_PXA_28NM_HSIC is not set # CONFIG_PHY_PXA_28NM_USB2 is not set # CONFIG_PHY_QCOM_USB_HSIC is not set @@ -3681,13 +3701,16 @@ CONFIG_PHYLIB=y # CONFIG_PHY_ST_SPEAR1310_MIPHY is not set # CONFIG_PHY_ST_SPEAR1340_MIPHY is not set # CONFIG_PHY_TUSB1210 is not set +# CONFIG_PI433 is not set CONFIG_PID_NS=y # CONFIG_PINCONF is not set # CONFIG_PINCTRL_CANNONLAKE is not set # CONFIG_PINCTRL_IPQ8074 is not set # CONFIG_PINCTRL is not set # CONFIG_PINCTRL_MCP23S08 is not set -# CONFIG_PINCTRL_MSM8994 is not set +CONFIG_PINCTRL_RK805=m +# CONFIG_PINCTRL_SPRD is not set +# CONFIG_PINCTRL_SPRD_SC9860 is not set # CONFIG_PINCTRL_SX150X is not set # CONFIG_PINMUX is not set CONFIG_PKCS7_MESSAGE_PARSER=y @@ -3707,7 +3730,7 @@ CONFIG_PM_DEBUG=y CONFIG_PM_DEVFREQ=y # CONFIG_PMIC_ADP5520 is not set # CONFIG_PMIC_DA903X is not set -# CONFIG_PM_OPP is not set +CONFIG_PM_OPP=y CONFIG_PM_STD_PARTITION="" CONFIG_PM_TEST_SUSPEND=y CONFIG_PM_TRACE_RTC=y @@ -3752,6 +3775,7 @@ CONFIG_PPC_EMULATED_STATS=y # CONFIG_PPC_ICSWX_USE_SIGILL is not set CONFIG_PPC_ICSWX=y CONFIG_PPC_MAPLE=y +# CONFIG_PPC_MEMTRACE is not set # CONFIG_PPC_MPC5200_LPBFIFO is not set CONFIG_PPC_OF_BOOT_TRAMPOLINE=y # CONFIG_PPC_PASEMI is not set @@ -3766,6 +3790,7 @@ CONFIG_PPC_SMLPAR=y CONFIG_PPC_SPLPAR=y CONFIG_PPC_SUBPAGE_PROT=y CONFIG_PPC_TRANSACTIONAL_MEM=y +CONFIG_PPC_VAS=y CONFIG_PPC=y CONFIG_PPDEV=m CONFIG_PPP_ASYNC=m @@ -3782,7 +3807,6 @@ CONFIG_PPP_SYNC_TTY=m CONFIG_PPS_CLIENT_GPIO=m # CONFIG_PPS_CLIENT_KTIMER is not set CONFIG_PPS_CLIENT_LDISC=m -CONFIG_PPS_CLIENT_PARPORT=m # CONFIG_PPS_DEBUG is not set CONFIG_PPS_GENERATOR_PARPORT=m CONFIG_PPS=m @@ -3829,6 +3853,7 @@ CONFIG_PWRSEQ_SIMPLE=m # CONFIG_QCA7000_SPI is not set # CONFIG_QCA7000_UART is not set # CONFIG_QCOM_EMAC is not set +# CONFIG_QCOM_GLINK_SSR is not set # CONFIG_QCOM_HIDMA is not set # CONFIG_QCOM_HIDMA_MGMT is not set CONFIG_QEDE=m @@ -3858,6 +3883,7 @@ CONFIG_R8169=m # CONFIG_R8188EU is not set CONFIG_R8712U=m CONFIG_R8723AU=m # Jes Sorensen maintains this (rhbz 1100162) +CONFIG_R8822BE=m CONFIG_RADIO_ADAPTERS=y CONFIG_RADIO_AZTECH=m CONFIG_RADIO_CADET=m @@ -3925,6 +3951,7 @@ CONFIG_REALTEK_PHY=m # CONFIG_REFCOUNT_FULL is not set CONFIG_REGMAP_I2C=m CONFIG_REGMAP=y +CONFIG_REGULATOR_BD9571MWV=m # CONFIG_REGULATOR_DEBUG is not set # CONFIG_REGULATOR is not set # CONFIG_REGULATOR_TPS65132 is not set @@ -3939,6 +3966,8 @@ CONFIG_RELAY=y # CONFIG_RELOCATABLE_TEST is not set CONFIG_RELOCATABLE=y CONFIG_REMOTEPROC=m +CONFIG_RESET_ATTACK_MITIGATION=y +# CONFIG_RESET_HSDK_V1 is not set # CONFIG_RESET_TI_SYSCON is not set # CONFIG_RFD_FTL is not set CONFIG_RFKILL_GPIO=m @@ -3958,6 +3987,8 @@ CONFIG_RMI4_F55=y CONFIG_RMI4_I2C=m CONFIG_RMI4_SMB=m CONFIG_RMI4_SPI=m +# CONFIG_RMNET is not set +# CONFIG_ROCKCHIP_PHY is not set CONFIG_ROCKER=m CONFIG_ROCKETPORT=m CONFIG_ROMFS_FS=m @@ -3965,6 +3996,7 @@ CONFIG_ROSE=m CONFIG_RPCSEC_GSS_KRB5=m # CONFIG_RPMSG_CHAR is not set # CONFIG_RPMSG_QCOM_GLINK_RPM is not set +# CONFIG_RPMSG_QCOM_GLINK_SMEM is not set CONFIG_RPR0521=m CONFIG_RSI_91X=m CONFIG_RSI_DEBUGFS=y @@ -4337,6 +4369,7 @@ CONFIG_SENSORS_HDAPS=m # CONFIG_SENSORS_HMC5843_SPI is not set # CONFIG_SENSORS_I5K_AMB is not set CONFIG_SENSORS_IBMAEM=m +CONFIG_SENSORS_IBM_CFFPS=m CONFIG_SENSORS_IBMPEX=m CONFIG_SENSORS_IBMPOWERNV=y # CONFIG_SENSORS_IIO_HWMON is not set @@ -4427,6 +4460,7 @@ CONFIG_SENSORS_TMP108=m CONFIG_SENSORS_TMP401=m CONFIG_SENSORS_TMP421=m CONFIG_SENSORS_TPS40422=m +CONFIG_SENSORS_TPS53679=m CONFIG_SENSORS_TSL2550=m # CONFIG_SENSORS_TSL2563 is not set CONFIG_SENSORS_UCD9000=m @@ -4502,6 +4536,7 @@ CONFIG_SERIO_ALTERA_PS2=m # CONFIG_SERIO_APBPS2 is not set CONFIG_SERIO_ARC_PS2=m # CONFIG_SERIO_CT82C710 is not set +# CONFIG_SERIO_GPIO_PS2 is not set CONFIG_SERIO_I8042=y CONFIG_SERIO_LIBPS2=y # CONFIG_SERIO_OLPC_APSP is not set @@ -4515,6 +4550,7 @@ CONFIG_SERIO=y CONFIG_SFC_FALCON=m CONFIG_SFC_FALCON_MTD=y # CONFIG_SFC is not set +CONFIG_SFP=m # CONFIG_SGI_IOC4 is not set CONFIG_SGI_PARTITION=y CONFIG_SH_ETH=m @@ -4534,6 +4570,7 @@ CONFIG_SKGE_GENESIS=y CONFIG_SKGE=m # CONFIG_SKY2_DEBUG is not set CONFIG_SKY2=m +CONFIG_SLAB_FREELIST_HARDENED=y CONFIG_SLAB_FREELIST_RANDOM=y CONFIG_SLAB_MERGE_DEFAULT=y # CONFIG_SLICOSS is not set @@ -4647,7 +4684,7 @@ CONFIG_SND_HDA_INPUT_BEEP_MODE=0 CONFIG_SND_HDA_INPUT_BEEP=y # CONFIG_SND_HDA_INTEL is not set CONFIG_SND_HDA_PATCH_LOADER=y -CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0 +CONFIG_SND_HDA_POWER_SAVE_DEFAULT=1 CONFIG_SND_HDA_POWER_SAVE=y CONFIG_SND_HDA_PREALLOC_SIZE=4096 CONFIG_SND_HDA_RECONFIG=y @@ -4738,6 +4775,7 @@ CONFIG_SND_SOC_CS42L42=m # CONFIG_SND_SOC_CS42L56 is not set # CONFIG_SND_SOC_CS42L73 is not set # CONFIG_SND_SOC_CS42XX8_I2C is not set +CONFIG_SND_SOC_CS43130=m # CONFIG_SND_SOC_CS4349 is not set # CONFIG_SND_SOC_CS53L30 is not set CONFIG_SND_SOC_DIO2125=m @@ -4800,6 +4838,7 @@ CONFIG_SND_SOC_SPDIF=m # CONFIG_SND_SOC_TS3A227E is not set # CONFIG_SND_SOC_WM8510 is not set # CONFIG_SND_SOC_WM8523 is not set +CONFIG_SND_SOC_WM8524=m # CONFIG_SND_SOC_WM8580 is not set # CONFIG_SND_SOC_WM8711 is not set # CONFIG_SND_SOC_WM8728 is not set @@ -4894,6 +4933,7 @@ CONFIG_SQUASHFS=m CONFIG_SQUASHFS_XATTR=y CONFIG_SQUASHFS_XZ=y CONFIG_SQUASHFS_ZLIB=y +CONFIG_SQUASHFS_ZSTD=y # CONFIG_SRAM is not set # CONFIG_SRF04 is not set # CONFIG_SRF08 is not set @@ -4927,6 +4967,7 @@ CONFIG_STMMAC_ETH=m # CONFIG_STMMAC_PLATFORM is not set # CONFIG_STM_SOURCE_CONSOLE is not set CONFIG_STRICT_DEVMEM=y +# CONFIG_STRING_SELFTEST is not set CONFIG_STRIP_ASM_SYMS=y # CONFIG_STRIP is not set CONFIG_SUNDANCE=m @@ -5085,7 +5126,6 @@ CONFIG_TIPC=m CONFIG_TIPC_MEDIA_UDP=y CONFIG_TI_SCI_PROTOCOL=m # CONFIG_TI_ST is not set -# CONFIG_TI_SYSCON_RESET is not set # CONFIG_TI_TLC4541 is not set CONFIG_TLAN=m CONFIG_TLS=m @@ -5369,7 +5409,6 @@ CONFIG_USB_KEENE=m CONFIG_USB_LAN78XX=m CONFIG_USB_LCD=m CONFIG_USB_LD=m -CONFIG_USB_LED=m CONFIG_USB_LEDS_TRIGGER_USBPORT=m CONFIG_USB_LED_TRIG=y CONFIG_USB_LEGOTOWER=m @@ -5474,7 +5513,6 @@ CONFIG_USB_SERIAL_KLSI=m CONFIG_USB_SERIAL_KOBIL_SCT=m CONFIG_USB_SERIAL_MCT_U232=m # CONFIG_USB_SERIAL_METRO is not set -CONFIG_USB_SERIAL_MOS7715_PARPORT=y CONFIG_USB_SERIAL_MOS7720=m CONFIG_USB_SERIAL_MOS7840=m # CONFIG_USB_SERIAL_MXUPORT is not set @@ -5648,7 +5686,6 @@ CONFIG_VIDEO_NOON010PC30=m CONFIG_VIDEO_PVRUSB2_DVB=y CONFIG_VIDEO_PVRUSB2=m CONFIG_VIDEO_PVRUSB2_SYSFS=y -# CONFIG_VIDEO_RENESAS_VSP1 is not set CONFIG_VIDEO_SAA6588=m CONFIG_VIDEO_SAA7134_ALSA=m CONFIG_VIDEO_SAA7134_DVB=m @@ -5746,6 +5783,7 @@ CONFIG_W1_SLAVE_DS2438=m CONFIG_W1_SLAVE_DS2760=m CONFIG_W1_SLAVE_DS2780=m CONFIG_W1_SLAVE_DS2781=m +CONFIG_W1_SLAVE_DS2805=m CONFIG_W1_SLAVE_DS28E04=m CONFIG_W1_SLAVE_SMEM=m CONFIG_W1_SLAVE_THERM=m @@ -5766,6 +5804,7 @@ CONFIG_WATCHDOG=y CONFIG_WCN36XX=m CONFIG_WDAT_WDT=m CONFIG_WDTPCI=m +CONFIG_WIL6210_DEBUGFS=y CONFIG_WIL6210_ISR_COR=y CONFIG_WIL6210=m # CONFIG_WIL6210_TRACING is not set @@ -5867,6 +5906,7 @@ CONFIG_ZLIB_INFLATE=y # CONFIG_ZONE_DEVICE is not set # CONFIG_ZPA2326 is not set CONFIG_ZRAM=m +# CONFIG_ZRAM_WRITEBACK is not set # CONFIG_ZSMALLOC_STAT is not set CONFIG_ZSMALLOC=y CONFIG_ZSWAP=y diff --git a/freed-ora/current/f26/kernel-ppc64le-debug.config b/freed-ora/current/f26/kernel-ppc64le-debug.config index 96b579850..040f120e8 100644 --- a/freed-ora/current/f26/kernel-ppc64le-debug.config +++ b/freed-ora/current/f26/kernel-ppc64le-debug.config @@ -148,7 +148,9 @@ CONFIG_AIX_PARTITION=y CONFIG_ALI_FIR=m CONFIG_ALIM1535_WDT=m CONFIG_ALIM7101_WDT=m +CONFIG_ALLOW_LOCKDOWN_LIFT_BY_SYSRQ=y # CONFIG_ALTERA_MBOX is not set +CONFIG_ALTERA_MSGDMA=m CONFIG_ALTERA_STAPL=m CONFIG_ALTERA_TSE=m CONFIG_ALTIVEC=y @@ -195,6 +197,7 @@ CONFIG_ATH10K=m CONFIG_ATH10K_PCI=m CONFIG_ATH10K_SDIO=m # CONFIG_ATH10K_TRACING is not set +CONFIG_ATH10K_USB=m CONFIG_ATH5K_DEBUG=y CONFIG_ATH5K=m # CONFIG_ATH5K_TRACER is not set @@ -330,6 +333,7 @@ CONFIG_BATMAN_ADV_NC=y # CONFIG_BATTERY_LEGO_EV3 is not set # CONFIG_BATTERY_MAX17040 is not set # CONFIG_BATTERY_MAX17042 is not set +# CONFIG_BATTERY_MAX1721X is not set # CONFIG_BATTERY_SBS is not set CONFIG_BAYCOM_EPP=m CONFIG_BAYCOM_PAR=m @@ -371,7 +375,6 @@ CONFIG_BINFMT_MISC=m CONFIG_BINFMT_SCRIPT=y CONFIG_BLK_CGROUP=y # CONFIG_BLK_CMDLINE_PARSER is not set -CONFIG_BLK_CPQ_CISS_DA=m CONFIG_BLK_DEBUG_FS=y CONFIG_BLK_DEV_3W_XXXX_RAID=m CONFIG_BLK_DEV_BSGLIB=y @@ -409,7 +412,6 @@ CONFIG_BLK_DEV_SR=y CONFIG_BLK_DEV_SX8=m # CONFIG_BLK_DEV_THROTTLING_LOW is not set CONFIG_BLK_DEV_THROTTLING=y -# CONFIG_BLK_DEV_UB is not set CONFIG_BLK_DEV_UMEM=m CONFIG_BLK_DEV=y CONFIG_BLK_DEV_ZONED=y @@ -432,6 +434,7 @@ CONFIG_BNX2=m CONFIG_BNX2X=m CONFIG_BNX2X_SRIOV=y CONFIG_BNXT_DCB=y +CONFIG_BNXT_FLOWER_OFFLOAD=y CONFIG_BNXT=m CONFIG_BNXT_SRIOV=y CONFIG_BONDING=m @@ -443,6 +446,7 @@ CONFIG_BOOT_PRINTK_DELAY=y CONFIG_BOOTX_TEXT=y CONFIG_BOUNCE=y CONFIG_BPF_JIT=y +CONFIG_BPF_STREAM_PARSER=y CONFIG_BPF_SYSCALL=y CONFIG_BPQETHER=m # CONFIG_BRCMDBG is not set @@ -531,7 +535,6 @@ CONFIG_BT_RFCOMM_TTY=y CONFIG_BTRFS_FS=m CONFIG_BTRFS_FS_POSIX_ACL=y # CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set -CONFIG_BT_SCO=y # CONFIG_BT_SELFTEST is not set # CONFIG_BTT is not set CONFIG_BT_WILINK=m @@ -605,9 +608,11 @@ CONFIG_CB710_CORE=m # CONFIG_CB710_DEBUG is not set # CONFIG_CC10001_ADC is not set # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set +# CONFIG_CCS811 is not set CONFIG_CDROM_PKTCDVD_BUFFERS=8 CONFIG_CDROM_PKTCDVD=m # CONFIG_CDROM_PKTCDVD_WCACHE is not set +CONFIG_CEC_PIN=y CONFIG_CEC_PLATFORM_DRIVERS=y CONFIG_CEPH_FSCACHE=y CONFIG_CEPH_FS=m @@ -650,7 +655,6 @@ CONFIG_CGROUPS=y # CONFIG_CHARGER_LTC3651 is not set # CONFIG_CHARGER_MAX8903 is not set # CONFIG_CHARGER_PCF50633 is not set -# CONFIG_CHARGER_QCOM_SMBB is not set # CONFIG_CHARGER_RT9455 is not set # CONFIG_CHARGER_SBS is not set CONFIG_CHARGER_SMB347=m @@ -684,9 +688,10 @@ CONFIG_CIFS_STATS=y CONFIG_CIFS_UPCALL=y CONFIG_CIFS_WEAK_PW_HASH=y CONFIG_CIFS_XATTR=y -CONFIG_CISS_SCSI_TAPE=y CONFIG_CLEANCACHE=y +# CONFIG_CLK_HSDK is not set # CONFIG_CLK_QORIQ is not set +# CONFIG_CLOCK_THERMAL is not set CONFIG_CLS_U32_MARK=y CONFIG_CLS_U32_PERF=y CONFIG_CM32181=m @@ -798,6 +803,7 @@ CONFIG_CRYPTO_DEV_NX_COMPRESS_POWERNV=m CONFIG_CRYPTO_DEV_NX_COMPRESS_PSERIES=m CONFIG_CRYPTO_DEV_NX_ENCRYPT=m CONFIG_CRYPTO_DEV_NX=y +# CONFIG_CRYPTO_DEV_SP_CCP is not set CONFIG_CRYPTO_DEV_VIRTIO=m CONFIG_CRYPTO_DEV_VMX_ENCRYPT=m CONFIG_CRYPTO_DEV_VMX=y @@ -963,6 +969,7 @@ CONFIG_DEV_DAX_PMEM=m # CONFIG_DEVFREQ_GOV_POWERSAVE is not set CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=m # CONFIG_DEVFREQ_GOV_USERSPACE is not set +# CONFIG_DEVFREQ_THERMAL is not set # CONFIG_DEVKMEM is not set CONFIG_DEVMEM=y CONFIG_DEVPORT=y @@ -1121,6 +1128,7 @@ CONFIG_DVB_BUDGET_PATCH=m CONFIG_DVB_CORE=m # CONFIG_DVB_CXD2099 is not set CONFIG_DVB_DDBRIDGE=m +# CONFIG_DVB_DDBRIDGE_MSIENABLE is not set # CONFIG_DVB_DEMUX_SECTION_LOSS_LOG is not set CONFIG_DVB_DM1105=m CONFIG_DVB_DYNAMIC_MINORS=y @@ -1193,7 +1201,7 @@ CONFIG_E1000E=m CONFIG_E1000=m CONFIG_E100=m CONFIG_EARLY_PRINTK_DBGP=y -# CONFIG_EARLY_PRINTK_USB_XDBC is not set +CONFIG_EARLY_PRINTK_USB_XDBC=y # CONFIG_EBC_C384_WDT is not set CONFIG_ECHO=m CONFIG_ECRYPT_FS=m @@ -1238,7 +1246,6 @@ CONFIG_ETHOC=m # CONFIG_EVM is not set # CONFIG_EXOFS_DEBUG is not set # CONFIG_EXOFS_FS is not set -CONFIG_EXPERIMENTAL=y # CONFIG_EXPERT is not set CONFIG_EXPORTFS=y # CONFIG_EXT2_FS is not set @@ -1480,13 +1487,14 @@ CONFIG_GIRBIL_DONGLE=m # CONFIG_GPIO_ADP5588 is not set # CONFIG_GPIO_ALTERA is not set # CONFIG_GPIO_AMDPT is not set +CONFIG_GPIO_BD9571MWV=m # CONFIG_GPIO_BT8XX is not set # CONFIG_GPIO_DWAPB is not set CONFIG_GPIO_EXAR=m # CONFIG_GPIO_FTGPIO010 is not set # CONFIG_GPIO_GENERIC_PLATFORM is not set # CONFIG_GPIO_GRGPIO is not set -CONFIG_GPIO_IT87=m +# CONFIG_GPIO_IT87 is not set CONFIG_GPIOLIB=y # CONFIG_GPIO_MAX7300 is not set # CONFIG_GPIO_MAX7301 is not set @@ -1506,6 +1514,7 @@ CONFIG_GPIO_PCI_IDIO_16=m # CONFIG_GPIO_SYSCON is not set # CONFIG_GPIO_SYSFS is not set # CONFIG_GPIO_TPIC2810 is not set +CONFIG_GPIO_TPS68470=y # CONFIG_GPIO_TS4900 is not set # CONFIG_GPIO_TS5500 is not set # CONFIG_GPIO_UCB1400 is not set @@ -1554,7 +1563,7 @@ CONFIG_HID_CHERRY=m CONFIG_HID_CHICONY=m CONFIG_HID_CMEDIA=m CONFIG_HID_CORSAIR=m -# CONFIG_HID_CP2112 is not set +CONFIG_HID_CP2112=m CONFIG_HID_CYPRESS=m CONFIG_HID_DRAGONRISE=m CONFIG_HID_ELECOM=m @@ -1776,8 +1785,7 @@ CONFIG_I2C_NFORCE2=m # CONFIG_I2C_NFORCE2_S4985 is not set # CONFIG_I2C_OCORES is not set CONFIG_I2C_OPAL=m -CONFIG_I2C_PARPORT_LIGHT=m -CONFIG_I2C_PARPORT=m +# CONFIG_I2C_PARPORT_LIGHT is not set CONFIG_I2C_PCA_PLATFORM=m # CONFIG_I2C_PIIX4 is not set # CONFIG_I2C_RK3X is not set @@ -1892,6 +1900,7 @@ CONFIG_INET=y # CONFIG_INFINIBAND_CXGB3_DEBUG is not set CONFIG_INFINIBAND_CXGB3=m CONFIG_INFINIBAND_CXGB4=m +# CONFIG_INFINIBAND_EXP_USER_ACCESS is not set CONFIG_INFINIBAND_I40IW=m CONFIG_INFINIBAND_IPOIB_CM=y CONFIG_INFINIBAND_IPOIB_DEBUG_DATA=y @@ -1918,7 +1927,6 @@ CONFIG_INFINIBAND_USNIC=m # CONFIG_INFTL is not set CONFIG_INITRAMFS_SOURCE="" CONFIG_INOTIFY_USER=y -CONFIG_INOTIFY=y # CONFIG_INPUT_AD714X is not set # CONFIG_INPUT_ADXL34X is not set CONFIG_INPUT_APANEL=m @@ -1967,7 +1975,9 @@ CONFIG_INPUT_PMIC8XXX_PWRKEY=m CONFIG_INPUT_POLLDEV=m CONFIG_INPUT_POWERMATE=m CONFIG_INPUT_PWM_BEEPER=m +# CONFIG_INPUT_PWM_VIBRA is not set CONFIG_INPUT_RETU_PWRBUTTON=m +CONFIG_INPUT_RK805_PWRKEY=m CONFIG_INPUT_SPARSEKMAP=m CONFIG_INPUT_TABLET=y CONFIG_INPUT_TOUCHSCREEN=y @@ -2020,7 +2030,7 @@ CONFIG_IP_DCCP_CCID2=m # CONFIG_IP_DCCP_CCID3_DEBUG is not set CONFIG_IP_DCCP_CCID3=y # CONFIG_IP_DCCP_DEBUG is not set -CONFIG_IP_DCCP=m +# CONFIG_IP_DCCP is not set CONFIG_IPDDP_ENCAP=y CONFIG_IPDDP=m CONFIG_IP_FIB_TRIE_STATS=y @@ -2143,6 +2153,7 @@ CONFIG_IRDA=m CONFIG_IR_ENE=m CONFIG_IR_FINTEK=m CONFIG_IR_GPIO_CIR=m +CONFIG_IR_GPIO_TX=m CONFIG_IR_HIX5HD2=m CONFIG_IR_IGORPLUGUSB=m CONFIG_IR_IGUANA=m @@ -2157,6 +2168,7 @@ CONFIG_IR_MCEUSB=m CONFIG_IR_NEC_DECODER=m CONFIG_IRNET=m CONFIG_IR_NUVOTON=m +CONFIG_IR_PWM_TX=m CONFIG_IRQ_ALL_CPUS=y # CONFIG_IRQ_DOMAIN_DEBUG is not set # CONFIG_IRQSOFF_TRACER is not set @@ -2389,6 +2401,7 @@ CONFIG_LCD_PLATFORM=m # CONFIG_LDM_DEBUG is not set CONFIG_LDM_PARTITION=y # CONFIG_LEDS_AAT1290 is not set +CONFIG_LEDS_AS3645A=m # CONFIG_LEDS_BCM6328 is not set # CONFIG_LEDS_BCM6358 is not set # CONFIG_LEDS_BD2802 is not set @@ -2487,6 +2500,7 @@ CONFIG_LMP91000=m CONFIG_LOCALVERSION="" # CONFIG_LOCALVERSION_AUTO is not set CONFIG_LOCKD=m +# CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT is not set # CONFIG_LOCK_DOWN_KERNEL is not set CONFIG_LOCKD_V4=y CONFIG_LOCK_STAT=y @@ -2513,6 +2527,7 @@ CONFIG_LPFC_NVME_INITIATOR=y CONFIG_LPFC_NVME_TARGET=y CONFIG_LSI_ET1011C_PHY=m CONFIG_LSM_MMAP_MIN_ADDR=65536 +# CONFIG_LTC2471 is not set # CONFIG_LTC2485 is not set # CONFIG_LTC2497 is not set # CONFIG_LTC2632 is not set @@ -2594,6 +2609,7 @@ CONFIG_MDIO_BITBANG=m # CONFIG_MDIO_BUS_MUX_MMIOREG is not set CONFIG_MDIO_GPIO=m # CONFIG_MDIO_HISI_FEMAC is not set +CONFIG_MDIO_I2C=m # CONFIG_MDIO_OCTEON is not set # CONFIG_MDIO_THUNDER is not set CONFIG_MD_LINEAR=m @@ -2662,6 +2678,7 @@ CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 # CONFIG_MFD_AXP20X_I2C is not set # CONFIG_MFD_AXP20X is not set # CONFIG_MFD_BCM590XX is not set +CONFIG_MFD_BD9571MWV=m CONFIG_MFD_CORE=m # CONFIG_MFD_CPCAP is not set # CONFIG_MFD_CROS_EC is not set @@ -2726,6 +2743,7 @@ CONFIG_MFD_SM501=m # CONFIG_MFD_TPS65912_I2C is not set # CONFIG_MFD_TPS65912 is not set # CONFIG_MFD_TPS65912_SPI is not set +CONFIG_MFD_TPS68470=y # CONFIG_MFD_TPS80031 is not set CONFIG_MFD_VIPERBOARD=m CONFIG_MFD_VX855=m @@ -2770,8 +2788,10 @@ CONFIG_MLX5_CORE_EN=y CONFIG_MLX5_CORE_IPOIB=y CONFIG_MLX5_CORE=m # CONFIG_MLX5_EN_IPSEC is not set +CONFIG_MLX5_ESWITCH=y # CONFIG_MLX5_FPGA is not set CONFIG_MLX5_INFINIBAND=m +CONFIG_MLX5_MPFS=y # CONFIG_MLX90614 is not set CONFIG_MLX_CPLD_PLATFORM=m CONFIG_MLXFW=m @@ -2792,7 +2812,6 @@ CONFIG_MMA7660=m # CONFIG_MMA9551 is not set # CONFIG_MMA9553 is not set # CONFIG_MMC35240 is not set -CONFIG_MMC_BLOCK_BOUNCE=y CONFIG_MMC_BLOCK=m CONFIG_MMC_BLOCK_MINORS=8 CONFIG_MMC_CB710=m @@ -3137,6 +3156,7 @@ CONFIG_NETLABEL=y CONFIG_NETLINK_DIAG=m CONFIG_NET_MPLS_GSO=m CONFIG_NET_NCSI=y +CONFIG_NET_NSH=m CONFIG_NET_NS=y CONFIG_NET_PACKET_ENGINE=y CONFIG_NET_PKTGEN=m @@ -3205,6 +3225,7 @@ CONFIG_NET_VENDOR_EXAR=y # CONFIG_NET_VENDOR_FUJITSU is not set # CONFIG_NET_VENDOR_HISILICON is not set # CONFIG_NET_VENDOR_HP is not set +# CONFIG_NET_VENDOR_HUAWEI is not set # CONFIG_NET_VENDOR_I825XX is not set CONFIG_NET_VENDOR_IBM=y CONFIG_NET_VENDOR_INTEL=y @@ -3228,6 +3249,7 @@ CONFIG_NET_VENDOR_ROCKER=y CONFIG_NET_VENDOR_SILAN=y CONFIG_NET_VENDOR_SIS=y CONFIG_NET_VENDOR_SMSC=y +# CONFIG_NET_VENDOR_SNI is not set # CONFIG_NET_VENDOR_SOLARFLARE is not set CONFIG_NET_VENDOR_STMICRO=y CONFIG_NET_VENDOR_SUN=y @@ -3366,6 +3388,7 @@ CONFIG_NFT_EXTHDR=m CONFIG_NFT_FIB_INET=m CONFIG_NFT_FIB_IPV4=m CONFIG_NFT_FIB_IPV6=m +CONFIG_NFT_FIB_NETDEV=m CONFIG_NFT_FWD_NETDEV=m CONFIG_NFT_HASH=m CONFIG_NFT_LIMIT=m @@ -3521,14 +3544,8 @@ CONFIG_PANIC_TIMEOUT=0 CONFIG_PANTHERLORD_FF=y # CONFIG_PARIDE is not set CONFIG_PARMAN=m -CONFIG_PARPORT_1284=y -# CONFIG_PARPORT_AX88796 is not set -CONFIG_PARPORT=m -# CONFIG_PARPORT_PC_FIFO is not set -CONFIG_PARPORT_PC=m -CONFIG_PARPORT_PC_PCMCIA=m -# CONFIG_PARPORT_PC_SUPERIO is not set -CONFIG_PARPORT_SERIAL=m +# CONFIG_PARPORT is not set +# CONFIG_PARPORT_PC is not set CONFIG_PARTITION_ADVANCED=y CONFIG_PATA_ACPI=m CONFIG_PATA_ALI=m @@ -3591,6 +3608,7 @@ CONFIG_PCIEAER=y # CONFIG_PCIEASPM_DEBUG is not set CONFIG_PCIEASPM=y CONFIG_PCIE_DPC=y +# CONFIG_PCIE_DW_HOST_ECAM is not set # CONFIG_PCIE_DW_PLAT is not set CONFIG_PCIE_ECRC=y # CONFIG_PCI_ENDPOINT is not set @@ -3638,6 +3656,8 @@ CONFIG_PERSISTENT_KEYRINGS=y # CONFIG_PHONET is not set # CONFIG_PHY_CPCAP_USB is not set CONFIG_PHYLIB=y +CONFIG_PHYLINK=m +# CONFIG_PHY_MVEBU_CP110_COMPHY is not set # CONFIG_PHY_PXA_28NM_HSIC is not set # CONFIG_PHY_PXA_28NM_USB2 is not set # CONFIG_PHY_QCOM_USB_HSIC is not set @@ -3645,13 +3665,16 @@ CONFIG_PHYLIB=y # CONFIG_PHY_ST_SPEAR1310_MIPHY is not set # CONFIG_PHY_ST_SPEAR1340_MIPHY is not set # CONFIG_PHY_TUSB1210 is not set +# CONFIG_PI433 is not set CONFIG_PID_NS=y # CONFIG_PINCONF is not set # CONFIG_PINCTRL_CANNONLAKE is not set # CONFIG_PINCTRL_IPQ8074 is not set # CONFIG_PINCTRL is not set # CONFIG_PINCTRL_MCP23S08 is not set -# CONFIG_PINCTRL_MSM8994 is not set +CONFIG_PINCTRL_RK805=m +# CONFIG_PINCTRL_SPRD is not set +# CONFIG_PINCTRL_SPRD_SC9860 is not set # CONFIG_PINCTRL_SX150X is not set # CONFIG_PINMUX is not set CONFIG_PKCS7_MESSAGE_PARSER=y @@ -3667,7 +3690,7 @@ CONFIG_PM_DEBUG=y CONFIG_PM_DEVFREQ=y # CONFIG_PMIC_ADP5520 is not set # CONFIG_PMIC_DA903X is not set -# CONFIG_PM_OPP is not set +CONFIG_PM_OPP=y CONFIG_PM_STD_PARTITION="" CONFIG_PM_TEST_SUSPEND=y CONFIG_PM_TRACE_RTC=y @@ -3713,6 +3736,7 @@ CONFIG_PPC_EMULATED_STATS=y # CONFIG_PPC_ICSWX_USE_SIGILL is not set CONFIG_PPC_ICSWX=y # CONFIG_PPC_MAPLE is not set +# CONFIG_PPC_MEMTRACE is not set # CONFIG_PPC_MPC5200_LPBFIFO is not set CONFIG_PPC_OF_BOOT_TRAMPOLINE=y # CONFIG_PPC_PASEMI is not set @@ -3727,6 +3751,7 @@ CONFIG_PPC_SMLPAR=y CONFIG_PPC_SPLPAR=y CONFIG_PPC_SUBPAGE_PROT=y CONFIG_PPC_TRANSACTIONAL_MEM=y +CONFIG_PPC_VAS=y CONFIG_PPC=y CONFIG_PPDEV=m CONFIG_PPP_ASYNC=m @@ -3743,7 +3768,6 @@ CONFIG_PPP_SYNC_TTY=m CONFIG_PPS_CLIENT_GPIO=m # CONFIG_PPS_CLIENT_KTIMER is not set CONFIG_PPS_CLIENT_LDISC=m -CONFIG_PPS_CLIENT_PARPORT=m # CONFIG_PPS_DEBUG is not set CONFIG_PPS_GENERATOR_PARPORT=m CONFIG_PPS=m @@ -3791,6 +3815,7 @@ CONFIG_PWRSEQ_SIMPLE=m # CONFIG_QCA7000_SPI is not set # CONFIG_QCA7000_UART is not set # CONFIG_QCOM_EMAC is not set +# CONFIG_QCOM_GLINK_SSR is not set # CONFIG_QCOM_HIDMA is not set # CONFIG_QCOM_HIDMA_MGMT is not set CONFIG_QEDE=m @@ -3820,6 +3845,7 @@ CONFIG_R8169=m # CONFIG_R8188EU is not set CONFIG_R8712U=m CONFIG_R8723AU=m # Jes Sorensen maintains this (rhbz 1100162) +CONFIG_R8822BE=m CONFIG_RADIO_ADAPTERS=y CONFIG_RADIO_AZTECH=m CONFIG_RADIO_CADET=m @@ -3887,6 +3913,7 @@ CONFIG_REALTEK_PHY=m CONFIG_REFCOUNT_FULL=y CONFIG_REGMAP_I2C=m CONFIG_REGMAP=y +CONFIG_REGULATOR_BD9571MWV=m # CONFIG_REGULATOR_DEBUG is not set # CONFIG_REGULATOR is not set # CONFIG_REGULATOR_TPS65132 is not set @@ -3901,6 +3928,8 @@ CONFIG_RELAY=y # CONFIG_RELOCATABLE_TEST is not set CONFIG_RELOCATABLE=y CONFIG_REMOTEPROC=m +CONFIG_RESET_ATTACK_MITIGATION=y +# CONFIG_RESET_HSDK_V1 is not set # CONFIG_RESET_TI_SYSCON is not set # CONFIG_RFD_FTL is not set CONFIG_RFKILL_GPIO=m @@ -3920,6 +3949,8 @@ CONFIG_RMI4_F55=y CONFIG_RMI4_I2C=m CONFIG_RMI4_SMB=m CONFIG_RMI4_SPI=m +# CONFIG_RMNET is not set +# CONFIG_ROCKCHIP_PHY is not set CONFIG_ROCKER=m CONFIG_ROCKETPORT=m CONFIG_ROMFS_FS=m @@ -3927,6 +3958,7 @@ CONFIG_ROSE=m CONFIG_RPCSEC_GSS_KRB5=m # CONFIG_RPMSG_CHAR is not set # CONFIG_RPMSG_QCOM_GLINK_RPM is not set +# CONFIG_RPMSG_QCOM_GLINK_SMEM is not set CONFIG_RPR0521=m CONFIG_RSI_91X=m CONFIG_RSI_DEBUGFS=y @@ -4299,6 +4331,7 @@ CONFIG_SENSORS_HDAPS=m # CONFIG_SENSORS_HMC5843_SPI is not set # CONFIG_SENSORS_I5K_AMB is not set CONFIG_SENSORS_IBMAEM=m +CONFIG_SENSORS_IBM_CFFPS=m CONFIG_SENSORS_IBMPEX=m CONFIG_SENSORS_IBMPOWERNV=y # CONFIG_SENSORS_IIO_HWMON is not set @@ -4389,6 +4422,7 @@ CONFIG_SENSORS_TMP108=m CONFIG_SENSORS_TMP401=m CONFIG_SENSORS_TMP421=m CONFIG_SENSORS_TPS40422=m +CONFIG_SENSORS_TPS53679=m CONFIG_SENSORS_TSL2550=m # CONFIG_SENSORS_TSL2563 is not set CONFIG_SENSORS_UCD9000=m @@ -4462,6 +4496,7 @@ CONFIG_SERIO_ALTERA_PS2=m # CONFIG_SERIO_APBPS2 is not set CONFIG_SERIO_ARC_PS2=m # CONFIG_SERIO_CT82C710 is not set +# CONFIG_SERIO_GPIO_PS2 is not set CONFIG_SERIO_I8042=y CONFIG_SERIO_LIBPS2=y # CONFIG_SERIO_OLPC_APSP is not set @@ -4475,6 +4510,7 @@ CONFIG_SERIO=y CONFIG_SFC_FALCON=m CONFIG_SFC_FALCON_MTD=y # CONFIG_SFC is not set +CONFIG_SFP=m # CONFIG_SGI_IOC4 is not set CONFIG_SGI_PARTITION=y CONFIG_SH_ETH=m @@ -4494,6 +4530,7 @@ CONFIG_SKGE_GENESIS=y CONFIG_SKGE=m # CONFIG_SKY2_DEBUG is not set CONFIG_SKY2=m +CONFIG_SLAB_FREELIST_HARDENED=y CONFIG_SLAB_FREELIST_RANDOM=y CONFIG_SLAB_MERGE_DEFAULT=y # CONFIG_SLICOSS is not set @@ -4600,7 +4637,7 @@ CONFIG_SND_HDA_INPUT_BEEP_MODE=0 CONFIG_SND_HDA_INPUT_BEEP=y # CONFIG_SND_HDA_INTEL is not set CONFIG_SND_HDA_PATCH_LOADER=y -CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0 +CONFIG_SND_HDA_POWER_SAVE_DEFAULT=1 CONFIG_SND_HDA_POWER_SAVE=y CONFIG_SND_HDA_PREALLOC_SIZE=4096 CONFIG_SND_HDA_RECONFIG=y @@ -4690,6 +4727,7 @@ CONFIG_SND_SOC_CS42L42=m # CONFIG_SND_SOC_CS42L56 is not set # CONFIG_SND_SOC_CS42L73 is not set # CONFIG_SND_SOC_CS42XX8_I2C is not set +CONFIG_SND_SOC_CS43130=m # CONFIG_SND_SOC_CS4349 is not set # CONFIG_SND_SOC_CS53L30 is not set CONFIG_SND_SOC_DIO2125=m @@ -4752,6 +4790,7 @@ CONFIG_SND_SOC_SPDIF=m # CONFIG_SND_SOC_TS3A227E is not set # CONFIG_SND_SOC_WM8510 is not set # CONFIG_SND_SOC_WM8523 is not set +CONFIG_SND_SOC_WM8524=m # CONFIG_SND_SOC_WM8580 is not set # CONFIG_SND_SOC_WM8711 is not set # CONFIG_SND_SOC_WM8728 is not set @@ -4846,6 +4885,7 @@ CONFIG_SQUASHFS=m CONFIG_SQUASHFS_XATTR=y CONFIG_SQUASHFS_XZ=y CONFIG_SQUASHFS_ZLIB=y +CONFIG_SQUASHFS_ZSTD=y # CONFIG_SRAM is not set # CONFIG_SRF04 is not set # CONFIG_SRF08 is not set @@ -4879,6 +4919,7 @@ CONFIG_STMMAC_ETH=m # CONFIG_STMMAC_PLATFORM is not set # CONFIG_STM_SOURCE_CONSOLE is not set CONFIG_STRICT_DEVMEM=y +# CONFIG_STRING_SELFTEST is not set CONFIG_STRIP_ASM_SYMS=y # CONFIG_STRIP is not set CONFIG_SUNDANCE=m @@ -5037,7 +5078,6 @@ CONFIG_TIPC=m CONFIG_TIPC_MEDIA_UDP=y CONFIG_TI_SCI_PROTOCOL=m # CONFIG_TI_ST is not set -# CONFIG_TI_SYSCON_RESET is not set # CONFIG_TI_TLC4541 is not set CONFIG_TLAN=m CONFIG_TLS=m @@ -5321,7 +5361,6 @@ CONFIG_USB_KEENE=m CONFIG_USB_LAN78XX=m CONFIG_USB_LCD=m CONFIG_USB_LD=m -CONFIG_USB_LED=m CONFIG_USB_LEDS_TRIGGER_USBPORT=m CONFIG_USB_LED_TRIG=y CONFIG_USB_LEGOTOWER=m @@ -5426,7 +5465,6 @@ CONFIG_USB_SERIAL_KLSI=m CONFIG_USB_SERIAL_KOBIL_SCT=m CONFIG_USB_SERIAL_MCT_U232=m # CONFIG_USB_SERIAL_METRO is not set -CONFIG_USB_SERIAL_MOS7715_PARPORT=y CONFIG_USB_SERIAL_MOS7720=m CONFIG_USB_SERIAL_MOS7840=m # CONFIG_USB_SERIAL_MXUPORT is not set @@ -5600,7 +5638,6 @@ CONFIG_VIDEO_NOON010PC30=m CONFIG_VIDEO_PVRUSB2_DVB=y CONFIG_VIDEO_PVRUSB2=m CONFIG_VIDEO_PVRUSB2_SYSFS=y -# CONFIG_VIDEO_RENESAS_VSP1 is not set CONFIG_VIDEO_SAA6588=m CONFIG_VIDEO_SAA7134_ALSA=m CONFIG_VIDEO_SAA7134_DVB=m @@ -5698,6 +5735,7 @@ CONFIG_W1_SLAVE_DS2438=m CONFIG_W1_SLAVE_DS2760=m CONFIG_W1_SLAVE_DS2780=m CONFIG_W1_SLAVE_DS2781=m +CONFIG_W1_SLAVE_DS2805=m CONFIG_W1_SLAVE_DS28E04=m CONFIG_W1_SLAVE_SMEM=m CONFIG_W1_SLAVE_THERM=m @@ -5718,6 +5756,7 @@ CONFIG_WATCHDOG=y CONFIG_WCN36XX=m CONFIG_WDAT_WDT=m CONFIG_WDTPCI=m +CONFIG_WIL6210_DEBUGFS=y CONFIG_WIL6210_ISR_COR=y CONFIG_WIL6210=m # CONFIG_WIL6210_TRACING is not set @@ -5813,6 +5852,7 @@ CONFIG_ZLIB_INFLATE=y # CONFIG_ZONE_DEVICE is not set # CONFIG_ZPA2326 is not set CONFIG_ZRAM=m +# CONFIG_ZRAM_WRITEBACK is not set # CONFIG_ZSMALLOC_STAT is not set CONFIG_ZSMALLOC=y CONFIG_ZSWAP=y diff --git a/freed-ora/current/f26/kernel-ppc64le.config b/freed-ora/current/f26/kernel-ppc64le.config index 831df7eff..efe040ba3 100644 --- a/freed-ora/current/f26/kernel-ppc64le.config +++ b/freed-ora/current/f26/kernel-ppc64le.config @@ -148,7 +148,9 @@ CONFIG_AIX_PARTITION=y CONFIG_ALI_FIR=m CONFIG_ALIM1535_WDT=m CONFIG_ALIM7101_WDT=m +CONFIG_ALLOW_LOCKDOWN_LIFT_BY_SYSRQ=y # CONFIG_ALTERA_MBOX is not set +CONFIG_ALTERA_MSGDMA=m CONFIG_ALTERA_STAPL=m CONFIG_ALTERA_TSE=m CONFIG_ALTIVEC=y @@ -194,6 +196,7 @@ CONFIG_ATH10K=m CONFIG_ATH10K_PCI=m CONFIG_ATH10K_SDIO=m # CONFIG_ATH10K_TRACING is not set +CONFIG_ATH10K_USB=m CONFIG_ATH5K_DEBUG=y CONFIG_ATH5K=m # CONFIG_ATH5K_TRACER is not set @@ -329,6 +332,7 @@ CONFIG_BATMAN_ADV_NC=y # CONFIG_BATTERY_LEGO_EV3 is not set # CONFIG_BATTERY_MAX17040 is not set # CONFIG_BATTERY_MAX17042 is not set +# CONFIG_BATTERY_MAX1721X is not set # CONFIG_BATTERY_SBS is not set CONFIG_BAYCOM_EPP=m CONFIG_BAYCOM_PAR=m @@ -370,7 +374,6 @@ CONFIG_BINFMT_MISC=m CONFIG_BINFMT_SCRIPT=y CONFIG_BLK_CGROUP=y # CONFIG_BLK_CMDLINE_PARSER is not set -CONFIG_BLK_CPQ_CISS_DA=m CONFIG_BLK_DEBUG_FS=y CONFIG_BLK_DEV_3W_XXXX_RAID=m CONFIG_BLK_DEV_BSGLIB=y @@ -408,7 +411,6 @@ CONFIG_BLK_DEV_SR=y CONFIG_BLK_DEV_SX8=m # CONFIG_BLK_DEV_THROTTLING_LOW is not set CONFIG_BLK_DEV_THROTTLING=y -# CONFIG_BLK_DEV_UB is not set CONFIG_BLK_DEV_UMEM=m CONFIG_BLK_DEV=y CONFIG_BLK_DEV_ZONED=y @@ -431,6 +433,7 @@ CONFIG_BNX2=m CONFIG_BNX2X=m CONFIG_BNX2X_SRIOV=y CONFIG_BNXT_DCB=y +CONFIG_BNXT_FLOWER_OFFLOAD=y CONFIG_BNXT=m CONFIG_BNXT_SRIOV=y CONFIG_BONDING=m @@ -442,6 +445,7 @@ CONFIG_BOOT_PRINTK_DELAY=y CONFIG_BOOTX_TEXT=y CONFIG_BOUNCE=y CONFIG_BPF_JIT=y +CONFIG_BPF_STREAM_PARSER=y CONFIG_BPF_SYSCALL=y CONFIG_BPQETHER=m # CONFIG_BRCMDBG is not set @@ -530,7 +534,6 @@ CONFIG_BT_RFCOMM_TTY=y CONFIG_BTRFS_FS=m CONFIG_BTRFS_FS_POSIX_ACL=y # CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set -CONFIG_BT_SCO=y # CONFIG_BT_SELFTEST is not set # CONFIG_BTT is not set CONFIG_BT_WILINK=m @@ -604,9 +607,11 @@ CONFIG_CB710_CORE=m # CONFIG_CB710_DEBUG is not set # CONFIG_CC10001_ADC is not set # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set +# CONFIG_CCS811 is not set CONFIG_CDROM_PKTCDVD_BUFFERS=8 CONFIG_CDROM_PKTCDVD=m # CONFIG_CDROM_PKTCDVD_WCACHE is not set +CONFIG_CEC_PIN=y CONFIG_CEC_PLATFORM_DRIVERS=y CONFIG_CEPH_FSCACHE=y CONFIG_CEPH_FS=m @@ -649,7 +654,6 @@ CONFIG_CGROUPS=y # CONFIG_CHARGER_LTC3651 is not set # CONFIG_CHARGER_MAX8903 is not set # CONFIG_CHARGER_PCF50633 is not set -# CONFIG_CHARGER_QCOM_SMBB is not set # CONFIG_CHARGER_RT9455 is not set # CONFIG_CHARGER_SBS is not set CONFIG_CHARGER_SMB347=m @@ -683,9 +687,10 @@ CONFIG_CIFS_STATS=y CONFIG_CIFS_UPCALL=y CONFIG_CIFS_WEAK_PW_HASH=y CONFIG_CIFS_XATTR=y -CONFIG_CISS_SCSI_TAPE=y CONFIG_CLEANCACHE=y +# CONFIG_CLK_HSDK is not set # CONFIG_CLK_QORIQ is not set +# CONFIG_CLOCK_THERMAL is not set CONFIG_CLS_U32_MARK=y CONFIG_CLS_U32_PERF=y CONFIG_CM32181=m @@ -796,6 +801,7 @@ CONFIG_CRYPTO_DEV_NX_COMPRESS_POWERNV=m CONFIG_CRYPTO_DEV_NX_COMPRESS_PSERIES=m CONFIG_CRYPTO_DEV_NX_ENCRYPT=m CONFIG_CRYPTO_DEV_NX=y +# CONFIG_CRYPTO_DEV_SP_CCP is not set CONFIG_CRYPTO_DEV_VIRTIO=m CONFIG_CRYPTO_DEV_VMX_ENCRYPT=m CONFIG_CRYPTO_DEV_VMX=y @@ -953,6 +959,7 @@ CONFIG_DEV_DAX_PMEM=m # CONFIG_DEVFREQ_GOV_POWERSAVE is not set CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=m # CONFIG_DEVFREQ_GOV_USERSPACE is not set +# CONFIG_DEVFREQ_THERMAL is not set # CONFIG_DEVKMEM is not set CONFIG_DEVMEM=y CONFIG_DEVPORT=y @@ -1110,6 +1117,7 @@ CONFIG_DVB_BUDGET_PATCH=m CONFIG_DVB_CORE=m # CONFIG_DVB_CXD2099 is not set CONFIG_DVB_DDBRIDGE=m +# CONFIG_DVB_DDBRIDGE_MSIENABLE is not set # CONFIG_DVB_DEMUX_SECTION_LOSS_LOG is not set CONFIG_DVB_DM1105=m CONFIG_DVB_DYNAMIC_MINORS=y @@ -1182,7 +1190,7 @@ CONFIG_E1000E=m CONFIG_E1000=m CONFIG_E100=m CONFIG_EARLY_PRINTK_DBGP=y -# CONFIG_EARLY_PRINTK_USB_XDBC is not set +CONFIG_EARLY_PRINTK_USB_XDBC=y # CONFIG_EBC_C384_WDT is not set CONFIG_ECHO=m CONFIG_ECRYPT_FS=m @@ -1227,7 +1235,6 @@ CONFIG_ETHOC=m # CONFIG_EVM is not set # CONFIG_EXOFS_DEBUG is not set # CONFIG_EXOFS_FS is not set -CONFIG_EXPERIMENTAL=y # CONFIG_EXPERT is not set CONFIG_EXPORTFS=y # CONFIG_EXT2_FS is not set @@ -1462,13 +1469,14 @@ CONFIG_GIRBIL_DONGLE=m # CONFIG_GPIO_ADP5588 is not set # CONFIG_GPIO_ALTERA is not set # CONFIG_GPIO_AMDPT is not set +CONFIG_GPIO_BD9571MWV=m # CONFIG_GPIO_BT8XX is not set # CONFIG_GPIO_DWAPB is not set CONFIG_GPIO_EXAR=m # CONFIG_GPIO_FTGPIO010 is not set # CONFIG_GPIO_GENERIC_PLATFORM is not set # CONFIG_GPIO_GRGPIO is not set -CONFIG_GPIO_IT87=m +# CONFIG_GPIO_IT87 is not set CONFIG_GPIOLIB=y # CONFIG_GPIO_MAX7300 is not set # CONFIG_GPIO_MAX7301 is not set @@ -1488,6 +1496,7 @@ CONFIG_GPIO_PCI_IDIO_16=m # CONFIG_GPIO_SYSCON is not set # CONFIG_GPIO_SYSFS is not set # CONFIG_GPIO_TPIC2810 is not set +CONFIG_GPIO_TPS68470=y # CONFIG_GPIO_TS4900 is not set # CONFIG_GPIO_TS5500 is not set # CONFIG_GPIO_UCB1400 is not set @@ -1536,7 +1545,7 @@ CONFIG_HID_CHERRY=m CONFIG_HID_CHICONY=m CONFIG_HID_CMEDIA=m CONFIG_HID_CORSAIR=m -# CONFIG_HID_CP2112 is not set +CONFIG_HID_CP2112=m CONFIG_HID_CYPRESS=m CONFIG_HID_DRAGONRISE=m CONFIG_HID_ELECOM=m @@ -1758,8 +1767,7 @@ CONFIG_I2C_NFORCE2=m # CONFIG_I2C_NFORCE2_S4985 is not set # CONFIG_I2C_OCORES is not set CONFIG_I2C_OPAL=m -CONFIG_I2C_PARPORT_LIGHT=m -CONFIG_I2C_PARPORT=m +# CONFIG_I2C_PARPORT_LIGHT is not set CONFIG_I2C_PCA_PLATFORM=m # CONFIG_I2C_PIIX4 is not set # CONFIG_I2C_RK3X is not set @@ -1874,6 +1882,7 @@ CONFIG_INET=y # CONFIG_INFINIBAND_CXGB3_DEBUG is not set CONFIG_INFINIBAND_CXGB3=m CONFIG_INFINIBAND_CXGB4=m +# CONFIG_INFINIBAND_EXP_USER_ACCESS is not set CONFIG_INFINIBAND_I40IW=m CONFIG_INFINIBAND_IPOIB_CM=y CONFIG_INFINIBAND_IPOIB_DEBUG_DATA=y @@ -1900,7 +1909,6 @@ CONFIG_INFINIBAND_USNIC=m # CONFIG_INFTL is not set CONFIG_INITRAMFS_SOURCE="" CONFIG_INOTIFY_USER=y -CONFIG_INOTIFY=y # CONFIG_INPUT_AD714X is not set # CONFIG_INPUT_ADXL34X is not set CONFIG_INPUT_APANEL=m @@ -1949,7 +1957,9 @@ CONFIG_INPUT_PMIC8XXX_PWRKEY=m CONFIG_INPUT_POLLDEV=m CONFIG_INPUT_POWERMATE=m CONFIG_INPUT_PWM_BEEPER=m +# CONFIG_INPUT_PWM_VIBRA is not set CONFIG_INPUT_RETU_PWRBUTTON=m +CONFIG_INPUT_RK805_PWRKEY=m CONFIG_INPUT_SPARSEKMAP=m CONFIG_INPUT_TABLET=y CONFIG_INPUT_TOUCHSCREEN=y @@ -2002,7 +2012,7 @@ CONFIG_IP_DCCP_CCID2=m # CONFIG_IP_DCCP_CCID3_DEBUG is not set CONFIG_IP_DCCP_CCID3=y # CONFIG_IP_DCCP_DEBUG is not set -CONFIG_IP_DCCP=m +# CONFIG_IP_DCCP is not set CONFIG_IPDDP_ENCAP=y CONFIG_IPDDP=m CONFIG_IP_FIB_TRIE_STATS=y @@ -2125,6 +2135,7 @@ CONFIG_IRDA=m CONFIG_IR_ENE=m CONFIG_IR_FINTEK=m CONFIG_IR_GPIO_CIR=m +CONFIG_IR_GPIO_TX=m CONFIG_IR_HIX5HD2=m CONFIG_IR_IGORPLUGUSB=m CONFIG_IR_IGUANA=m @@ -2139,6 +2150,7 @@ CONFIG_IR_MCEUSB=m CONFIG_IR_NEC_DECODER=m CONFIG_IRNET=m CONFIG_IR_NUVOTON=m +CONFIG_IR_PWM_TX=m CONFIG_IRQ_ALL_CPUS=y # CONFIG_IRQ_DOMAIN_DEBUG is not set # CONFIG_IRQSOFF_TRACER is not set @@ -2369,6 +2381,7 @@ CONFIG_LCD_PLATFORM=m # CONFIG_LDM_DEBUG is not set CONFIG_LDM_PARTITION=y # CONFIG_LEDS_AAT1290 is not set +CONFIG_LEDS_AS3645A=m # CONFIG_LEDS_BCM6328 is not set # CONFIG_LEDS_BCM6358 is not set # CONFIG_LEDS_BD2802 is not set @@ -2467,6 +2480,7 @@ CONFIG_LMP91000=m CONFIG_LOCALVERSION="" # CONFIG_LOCALVERSION_AUTO is not set CONFIG_LOCKD=m +# CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT is not set # CONFIG_LOCK_DOWN_KERNEL is not set CONFIG_LOCKD_V4=y # CONFIG_LOCK_STAT is not set @@ -2493,6 +2507,7 @@ CONFIG_LPFC_NVME_INITIATOR=y CONFIG_LPFC_NVME_TARGET=y CONFIG_LSI_ET1011C_PHY=m CONFIG_LSM_MMAP_MIN_ADDR=65536 +# CONFIG_LTC2471 is not set # CONFIG_LTC2485 is not set # CONFIG_LTC2497 is not set # CONFIG_LTC2632 is not set @@ -2573,6 +2588,7 @@ CONFIG_MDIO_BITBANG=m # CONFIG_MDIO_BUS_MUX_MMIOREG is not set CONFIG_MDIO_GPIO=m # CONFIG_MDIO_HISI_FEMAC is not set +CONFIG_MDIO_I2C=m # CONFIG_MDIO_OCTEON is not set # CONFIG_MDIO_THUNDER is not set CONFIG_MD_LINEAR=m @@ -2641,6 +2657,7 @@ CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 # CONFIG_MFD_AXP20X_I2C is not set # CONFIG_MFD_AXP20X is not set # CONFIG_MFD_BCM590XX is not set +CONFIG_MFD_BD9571MWV=m CONFIG_MFD_CORE=m # CONFIG_MFD_CPCAP is not set # CONFIG_MFD_CROS_EC is not set @@ -2705,6 +2722,7 @@ CONFIG_MFD_SM501=m # CONFIG_MFD_TPS65912_I2C is not set # CONFIG_MFD_TPS65912 is not set # CONFIG_MFD_TPS65912_SPI is not set +CONFIG_MFD_TPS68470=y # CONFIG_MFD_TPS80031 is not set CONFIG_MFD_VIPERBOARD=m CONFIG_MFD_VX855=m @@ -2749,8 +2767,10 @@ CONFIG_MLX5_CORE_EN=y CONFIG_MLX5_CORE_IPOIB=y CONFIG_MLX5_CORE=m # CONFIG_MLX5_EN_IPSEC is not set +CONFIG_MLX5_ESWITCH=y # CONFIG_MLX5_FPGA is not set CONFIG_MLX5_INFINIBAND=m +CONFIG_MLX5_MPFS=y # CONFIG_MLX90614 is not set CONFIG_MLX_CPLD_PLATFORM=m CONFIG_MLXFW=m @@ -2771,7 +2791,6 @@ CONFIG_MMA7660=m # CONFIG_MMA9551 is not set # CONFIG_MMA9553 is not set # CONFIG_MMC35240 is not set -CONFIG_MMC_BLOCK_BOUNCE=y CONFIG_MMC_BLOCK=m CONFIG_MMC_BLOCK_MINORS=8 CONFIG_MMC_CB710=m @@ -3115,6 +3134,7 @@ CONFIG_NETLABEL=y CONFIG_NETLINK_DIAG=m CONFIG_NET_MPLS_GSO=m CONFIG_NET_NCSI=y +CONFIG_NET_NSH=m CONFIG_NET_NS=y CONFIG_NET_PACKET_ENGINE=y CONFIG_NET_PKTGEN=m @@ -3183,6 +3203,7 @@ CONFIG_NET_VENDOR_EXAR=y # CONFIG_NET_VENDOR_FUJITSU is not set # CONFIG_NET_VENDOR_HISILICON is not set # CONFIG_NET_VENDOR_HP is not set +# CONFIG_NET_VENDOR_HUAWEI is not set # CONFIG_NET_VENDOR_I825XX is not set CONFIG_NET_VENDOR_IBM=y CONFIG_NET_VENDOR_INTEL=y @@ -3206,6 +3227,7 @@ CONFIG_NET_VENDOR_ROCKER=y CONFIG_NET_VENDOR_SILAN=y CONFIG_NET_VENDOR_SIS=y CONFIG_NET_VENDOR_SMSC=y +# CONFIG_NET_VENDOR_SNI is not set # CONFIG_NET_VENDOR_SOLARFLARE is not set CONFIG_NET_VENDOR_STMICRO=y CONFIG_NET_VENDOR_SUN=y @@ -3344,6 +3366,7 @@ CONFIG_NFT_EXTHDR=m CONFIG_NFT_FIB_INET=m CONFIG_NFT_FIB_IPV4=m CONFIG_NFT_FIB_IPV6=m +CONFIG_NFT_FIB_NETDEV=m CONFIG_NFT_FWD_NETDEV=m CONFIG_NFT_HASH=m CONFIG_NFT_LIMIT=m @@ -3499,14 +3522,8 @@ CONFIG_PANIC_TIMEOUT=0 CONFIG_PANTHERLORD_FF=y # CONFIG_PARIDE is not set CONFIG_PARMAN=m -CONFIG_PARPORT_1284=y -# CONFIG_PARPORT_AX88796 is not set -CONFIG_PARPORT=m -# CONFIG_PARPORT_PC_FIFO is not set -CONFIG_PARPORT_PC=m -CONFIG_PARPORT_PC_PCMCIA=m -# CONFIG_PARPORT_PC_SUPERIO is not set -CONFIG_PARPORT_SERIAL=m +# CONFIG_PARPORT is not set +# CONFIG_PARPORT_PC is not set CONFIG_PARTITION_ADVANCED=y CONFIG_PATA_ACPI=m CONFIG_PATA_ALI=m @@ -3569,6 +3586,7 @@ CONFIG_PCIEAER=y # CONFIG_PCIEASPM_DEBUG is not set CONFIG_PCIEASPM=y CONFIG_PCIE_DPC=y +# CONFIG_PCIE_DW_HOST_ECAM is not set # CONFIG_PCIE_DW_PLAT is not set CONFIG_PCIE_ECRC=y # CONFIG_PCI_ENDPOINT is not set @@ -3616,6 +3634,8 @@ CONFIG_PERSISTENT_KEYRINGS=y # CONFIG_PHONET is not set # CONFIG_PHY_CPCAP_USB is not set CONFIG_PHYLIB=y +CONFIG_PHYLINK=m +# CONFIG_PHY_MVEBU_CP110_COMPHY is not set # CONFIG_PHY_PXA_28NM_HSIC is not set # CONFIG_PHY_PXA_28NM_USB2 is not set # CONFIG_PHY_QCOM_USB_HSIC is not set @@ -3623,13 +3643,16 @@ CONFIG_PHYLIB=y # CONFIG_PHY_ST_SPEAR1310_MIPHY is not set # CONFIG_PHY_ST_SPEAR1340_MIPHY is not set # CONFIG_PHY_TUSB1210 is not set +# CONFIG_PI433 is not set CONFIG_PID_NS=y # CONFIG_PINCONF is not set # CONFIG_PINCTRL_CANNONLAKE is not set # CONFIG_PINCTRL_IPQ8074 is not set # CONFIG_PINCTRL is not set # CONFIG_PINCTRL_MCP23S08 is not set -# CONFIG_PINCTRL_MSM8994 is not set +CONFIG_PINCTRL_RK805=m +# CONFIG_PINCTRL_SPRD is not set +# CONFIG_PINCTRL_SPRD_SC9860 is not set # CONFIG_PINCTRL_SX150X is not set # CONFIG_PINMUX is not set CONFIG_PKCS7_MESSAGE_PARSER=y @@ -3645,7 +3668,7 @@ CONFIG_PM_DEBUG=y CONFIG_PM_DEVFREQ=y # CONFIG_PMIC_ADP5520 is not set # CONFIG_PMIC_DA903X is not set -# CONFIG_PM_OPP is not set +CONFIG_PM_OPP=y CONFIG_PM_STD_PARTITION="" CONFIG_PM_TEST_SUSPEND=y CONFIG_PM_TRACE_RTC=y @@ -3691,6 +3714,7 @@ CONFIG_PPC_EMULATED_STATS=y # CONFIG_PPC_ICSWX_USE_SIGILL is not set CONFIG_PPC_ICSWX=y # CONFIG_PPC_MAPLE is not set +# CONFIG_PPC_MEMTRACE is not set # CONFIG_PPC_MPC5200_LPBFIFO is not set CONFIG_PPC_OF_BOOT_TRAMPOLINE=y # CONFIG_PPC_PASEMI is not set @@ -3705,6 +3729,7 @@ CONFIG_PPC_SMLPAR=y CONFIG_PPC_SPLPAR=y CONFIG_PPC_SUBPAGE_PROT=y CONFIG_PPC_TRANSACTIONAL_MEM=y +CONFIG_PPC_VAS=y CONFIG_PPC=y CONFIG_PPDEV=m CONFIG_PPP_ASYNC=m @@ -3721,7 +3746,6 @@ CONFIG_PPP_SYNC_TTY=m CONFIG_PPS_CLIENT_GPIO=m # CONFIG_PPS_CLIENT_KTIMER is not set CONFIG_PPS_CLIENT_LDISC=m -CONFIG_PPS_CLIENT_PARPORT=m # CONFIG_PPS_DEBUG is not set CONFIG_PPS_GENERATOR_PARPORT=m CONFIG_PPS=m @@ -3768,6 +3792,7 @@ CONFIG_PWRSEQ_SIMPLE=m # CONFIG_QCA7000_SPI is not set # CONFIG_QCA7000_UART is not set # CONFIG_QCOM_EMAC is not set +# CONFIG_QCOM_GLINK_SSR is not set # CONFIG_QCOM_HIDMA is not set # CONFIG_QCOM_HIDMA_MGMT is not set CONFIG_QEDE=m @@ -3797,6 +3822,7 @@ CONFIG_R8169=m # CONFIG_R8188EU is not set CONFIG_R8712U=m CONFIG_R8723AU=m # Jes Sorensen maintains this (rhbz 1100162) +CONFIG_R8822BE=m CONFIG_RADIO_ADAPTERS=y CONFIG_RADIO_AZTECH=m CONFIG_RADIO_CADET=m @@ -3864,6 +3890,7 @@ CONFIG_REALTEK_PHY=m # CONFIG_REFCOUNT_FULL is not set CONFIG_REGMAP_I2C=m CONFIG_REGMAP=y +CONFIG_REGULATOR_BD9571MWV=m # CONFIG_REGULATOR_DEBUG is not set # CONFIG_REGULATOR is not set # CONFIG_REGULATOR_TPS65132 is not set @@ -3878,6 +3905,8 @@ CONFIG_RELAY=y # CONFIG_RELOCATABLE_TEST is not set CONFIG_RELOCATABLE=y CONFIG_REMOTEPROC=m +CONFIG_RESET_ATTACK_MITIGATION=y +# CONFIG_RESET_HSDK_V1 is not set # CONFIG_RESET_TI_SYSCON is not set # CONFIG_RFD_FTL is not set CONFIG_RFKILL_GPIO=m @@ -3897,6 +3926,8 @@ CONFIG_RMI4_F55=y CONFIG_RMI4_I2C=m CONFIG_RMI4_SMB=m CONFIG_RMI4_SPI=m +# CONFIG_RMNET is not set +# CONFIG_ROCKCHIP_PHY is not set CONFIG_ROCKER=m CONFIG_ROCKETPORT=m CONFIG_ROMFS_FS=m @@ -3904,6 +3935,7 @@ CONFIG_ROSE=m CONFIG_RPCSEC_GSS_KRB5=m # CONFIG_RPMSG_CHAR is not set # CONFIG_RPMSG_QCOM_GLINK_RPM is not set +# CONFIG_RPMSG_QCOM_GLINK_SMEM is not set CONFIG_RPR0521=m CONFIG_RSI_91X=m CONFIG_RSI_DEBUGFS=y @@ -4276,6 +4308,7 @@ CONFIG_SENSORS_HDAPS=m # CONFIG_SENSORS_HMC5843_SPI is not set # CONFIG_SENSORS_I5K_AMB is not set CONFIG_SENSORS_IBMAEM=m +CONFIG_SENSORS_IBM_CFFPS=m CONFIG_SENSORS_IBMPEX=m CONFIG_SENSORS_IBMPOWERNV=y # CONFIG_SENSORS_IIO_HWMON is not set @@ -4366,6 +4399,7 @@ CONFIG_SENSORS_TMP108=m CONFIG_SENSORS_TMP401=m CONFIG_SENSORS_TMP421=m CONFIG_SENSORS_TPS40422=m +CONFIG_SENSORS_TPS53679=m CONFIG_SENSORS_TSL2550=m # CONFIG_SENSORS_TSL2563 is not set CONFIG_SENSORS_UCD9000=m @@ -4439,6 +4473,7 @@ CONFIG_SERIO_ALTERA_PS2=m # CONFIG_SERIO_APBPS2 is not set CONFIG_SERIO_ARC_PS2=m # CONFIG_SERIO_CT82C710 is not set +# CONFIG_SERIO_GPIO_PS2 is not set CONFIG_SERIO_I8042=y CONFIG_SERIO_LIBPS2=y # CONFIG_SERIO_OLPC_APSP is not set @@ -4452,6 +4487,7 @@ CONFIG_SERIO=y CONFIG_SFC_FALCON=m CONFIG_SFC_FALCON_MTD=y # CONFIG_SFC is not set +CONFIG_SFP=m # CONFIG_SGI_IOC4 is not set CONFIG_SGI_PARTITION=y CONFIG_SH_ETH=m @@ -4471,6 +4507,7 @@ CONFIG_SKGE_GENESIS=y CONFIG_SKGE=m # CONFIG_SKY2_DEBUG is not set CONFIG_SKY2=m +CONFIG_SLAB_FREELIST_HARDENED=y CONFIG_SLAB_FREELIST_RANDOM=y CONFIG_SLAB_MERGE_DEFAULT=y # CONFIG_SLICOSS is not set @@ -4577,7 +4614,7 @@ CONFIG_SND_HDA_INPUT_BEEP_MODE=0 CONFIG_SND_HDA_INPUT_BEEP=y # CONFIG_SND_HDA_INTEL is not set CONFIG_SND_HDA_PATCH_LOADER=y -CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0 +CONFIG_SND_HDA_POWER_SAVE_DEFAULT=1 CONFIG_SND_HDA_POWER_SAVE=y CONFIG_SND_HDA_PREALLOC_SIZE=4096 CONFIG_SND_HDA_RECONFIG=y @@ -4666,6 +4703,7 @@ CONFIG_SND_SOC_CS42L42=m # CONFIG_SND_SOC_CS42L56 is not set # CONFIG_SND_SOC_CS42L73 is not set # CONFIG_SND_SOC_CS42XX8_I2C is not set +CONFIG_SND_SOC_CS43130=m # CONFIG_SND_SOC_CS4349 is not set # CONFIG_SND_SOC_CS53L30 is not set CONFIG_SND_SOC_DIO2125=m @@ -4728,6 +4766,7 @@ CONFIG_SND_SOC_SPDIF=m # CONFIG_SND_SOC_TS3A227E is not set # CONFIG_SND_SOC_WM8510 is not set # CONFIG_SND_SOC_WM8523 is not set +CONFIG_SND_SOC_WM8524=m # CONFIG_SND_SOC_WM8580 is not set # CONFIG_SND_SOC_WM8711 is not set # CONFIG_SND_SOC_WM8728 is not set @@ -4822,6 +4861,7 @@ CONFIG_SQUASHFS=m CONFIG_SQUASHFS_XATTR=y CONFIG_SQUASHFS_XZ=y CONFIG_SQUASHFS_ZLIB=y +CONFIG_SQUASHFS_ZSTD=y # CONFIG_SRAM is not set # CONFIG_SRF04 is not set # CONFIG_SRF08 is not set @@ -4855,6 +4895,7 @@ CONFIG_STMMAC_ETH=m # CONFIG_STMMAC_PLATFORM is not set # CONFIG_STM_SOURCE_CONSOLE is not set CONFIG_STRICT_DEVMEM=y +# CONFIG_STRING_SELFTEST is not set CONFIG_STRIP_ASM_SYMS=y # CONFIG_STRIP is not set CONFIG_SUNDANCE=m @@ -5013,7 +5054,6 @@ CONFIG_TIPC=m CONFIG_TIPC_MEDIA_UDP=y CONFIG_TI_SCI_PROTOCOL=m # CONFIG_TI_ST is not set -# CONFIG_TI_SYSCON_RESET is not set # CONFIG_TI_TLC4541 is not set CONFIG_TLAN=m CONFIG_TLS=m @@ -5297,7 +5337,6 @@ CONFIG_USB_KEENE=m CONFIG_USB_LAN78XX=m CONFIG_USB_LCD=m CONFIG_USB_LD=m -CONFIG_USB_LED=m CONFIG_USB_LEDS_TRIGGER_USBPORT=m CONFIG_USB_LED_TRIG=y CONFIG_USB_LEGOTOWER=m @@ -5402,7 +5441,6 @@ CONFIG_USB_SERIAL_KLSI=m CONFIG_USB_SERIAL_KOBIL_SCT=m CONFIG_USB_SERIAL_MCT_U232=m # CONFIG_USB_SERIAL_METRO is not set -CONFIG_USB_SERIAL_MOS7715_PARPORT=y CONFIG_USB_SERIAL_MOS7720=m CONFIG_USB_SERIAL_MOS7840=m # CONFIG_USB_SERIAL_MXUPORT is not set @@ -5576,7 +5614,6 @@ CONFIG_VIDEO_NOON010PC30=m CONFIG_VIDEO_PVRUSB2_DVB=y CONFIG_VIDEO_PVRUSB2=m CONFIG_VIDEO_PVRUSB2_SYSFS=y -# CONFIG_VIDEO_RENESAS_VSP1 is not set CONFIG_VIDEO_SAA6588=m CONFIG_VIDEO_SAA7134_ALSA=m CONFIG_VIDEO_SAA7134_DVB=m @@ -5674,6 +5711,7 @@ CONFIG_W1_SLAVE_DS2438=m CONFIG_W1_SLAVE_DS2760=m CONFIG_W1_SLAVE_DS2780=m CONFIG_W1_SLAVE_DS2781=m +CONFIG_W1_SLAVE_DS2805=m CONFIG_W1_SLAVE_DS28E04=m CONFIG_W1_SLAVE_SMEM=m CONFIG_W1_SLAVE_THERM=m @@ -5694,6 +5732,7 @@ CONFIG_WATCHDOG=y CONFIG_WCN36XX=m CONFIG_WDAT_WDT=m CONFIG_WDTPCI=m +CONFIG_WIL6210_DEBUGFS=y CONFIG_WIL6210_ISR_COR=y CONFIG_WIL6210=m # CONFIG_WIL6210_TRACING is not set @@ -5789,6 +5828,7 @@ CONFIG_ZLIB_INFLATE=y # CONFIG_ZONE_DEVICE is not set # CONFIG_ZPA2326 is not set CONFIG_ZRAM=m +# CONFIG_ZRAM_WRITEBACK is not set # CONFIG_ZSMALLOC_STAT is not set CONFIG_ZSMALLOC=y CONFIG_ZSWAP=y diff --git a/freed-ora/current/f26/kernel-ppc64p7-debug.config b/freed-ora/current/f26/kernel-ppc64p7-debug.config deleted file mode 100644 index 2c016e208..000000000 --- a/freed-ora/current/f26/kernel-ppc64p7-debug.config +++ /dev/null @@ -1,5818 +0,0 @@ -# powerpc -# CONFIG_3C515 is not set -# CONFIG_60XX_WDT is not set -CONFIG_6LOWPAN_DEBUGFS=y -CONFIG_6LOWPAN_GHC_EXT_HDR_DEST=m -CONFIG_6LOWPAN_GHC_EXT_HDR_FRAG=m -CONFIG_6LOWPAN_GHC_EXT_HDR_HOP=m -CONFIG_6LOWPAN_GHC_EXT_HDR_ROUTE=m -CONFIG_6LOWPAN_GHC_ICMPV6=m -CONFIG_6LOWPAN_GHC_UDP=m -CONFIG_6LOWPAN=m -CONFIG_6LOWPAN_NHC_DEST=m -CONFIG_6LOWPAN_NHC_FRAGMENT=m -CONFIG_6LOWPAN_NHC_HOP=m -CONFIG_6LOWPAN_NHC_IPV6=m -CONFIG_6LOWPAN_NHC=m -CONFIG_6LOWPAN_NHC_MOBILITY=m -CONFIG_6LOWPAN_NHC_ROUTING=m -CONFIG_6LOWPAN_NHC_UDP=m -CONFIG_6PACK=m -CONFIG_8139CP=m -# CONFIG_8139_OLD_RX_RESET is not set -CONFIG_8139TOO_8129=y -CONFIG_8139TOO=m -# CONFIG_8139TOO_PIO is not set -# CONFIG_8139TOO_TUNE_TWISTER is not set -# CONFIG_8723AU_AP_MODE is not set -# CONFIG_8723AU_BT_COEXIST is not set -CONFIG_9P_FSCACHE=y -CONFIG_9P_FS=m -CONFIG_9P_FS_POSIX_ACL=y -CONFIG_9P_FS_SECURITY=y -CONFIG_A11Y_BRAILLE_CONSOLE=y -# CONFIG_AB3100_CORE is not set -# CONFIG_AB3100_OTP is not set -CONFIG_ABP060MG=m -# CONFIG_ABX500_CORE is not set -CONFIG_ACCESSIBILITY=y -CONFIG_ACENIC=m -# CONFIG_ACENIC_OMIT_TIGON_I is not set -# CONFIG_ACORN_PARTITION is not set -CONFIG_ACPI_ALS=m -# CONFIG_ACPI_DEBUGGER is not set -CONFIG_ACPI_DEBUG=y -# CONFIG_ACPI_NFIT is not set -CONFIG_ACPI_PCI_SLOT=y -# CONFIG_ACQUIRE_WDT is not set -CONFIG_ACT200L_DONGLE=m -CONFIG_ACTISYS_DONGLE=m -# CONFIG_AD2S1200 is not set -# CONFIG_AD2S1210 is not set -# CONFIG_AD2S90 is not set -# CONFIG_AD5064 is not set -# CONFIG_AD525X_DPOT is not set -# CONFIG_AD5360 is not set -# CONFIG_AD5380 is not set -# CONFIG_AD5421 is not set -# CONFIG_AD5446 is not set -# CONFIG_AD5449 is not set -# CONFIG_AD5504 is not set -# CONFIG_AD5592R is not set -# CONFIG_AD5593R is not set -# CONFIG_AD5624R_SPI is not set -# CONFIG_AD5686 is not set -# CONFIG_AD5755 is not set -# CONFIG_AD5761 is not set -# CONFIG_AD5764 is not set -# CONFIG_AD5791 is not set -# CONFIG_AD5933 is not set -# CONFIG_AD7150 is not set -# CONFIG_AD7152 is not set -# CONFIG_AD7192 is not set -# CONFIG_AD7266 is not set -# CONFIG_AD7280 is not set -# CONFIG_AD7291 is not set -# CONFIG_AD7298 is not set -# CONFIG_AD7303 is not set -# CONFIG_AD7476 is not set -# CONFIG_AD7606 is not set -# CONFIG_AD7746 is not set -CONFIG_AD7766=m -# CONFIG_AD7780 is not set -# CONFIG_AD7791 is not set -# CONFIG_AD7793 is not set -# CONFIG_AD7816 is not set -# CONFIG_AD7887 is not set -# CONFIG_AD7923 is not set -# CONFIG_AD799X is not set -# CONFIG_AD8366 is not set -# CONFIG_AD8801 is not set -# CONFIG_AD9523 is not set -# CONFIG_AD9832 is not set -# CONFIG_AD9834 is not set -CONFIG_ADAPTEC_STARFIRE=m -# CONFIG_ADE7753 is not set -# CONFIG_ADE7754 is not set -# CONFIG_ADE7758 is not set -# CONFIG_ADE7759 is not set -# CONFIG_ADE7854 is not set -# CONFIG_ADF4350 is not set -# CONFIG_ADFS_FS is not set -# CONFIG_ADIS16060 is not set -# CONFIG_ADIS16080 is not set -# CONFIG_ADIS16130 is not set -# CONFIG_ADIS16136 is not set -# CONFIG_ADIS16201 is not set -# CONFIG_ADIS16203 is not set -# CONFIG_ADIS16209 is not set -# CONFIG_ADIS16240 is not set -# CONFIG_ADIS16260 is not set -# CONFIG_ADIS16400 is not set -# CONFIG_ADIS16480 is not set -# CONFIG_ADJD_S311 is not set -# CONFIG_ADM8211 is not set -# CONFIG_ADT7316 is not set -# CONFIG_ADVANTECH_WDT is not set -# CONFIG_ADXL345_I2C is not set -# CONFIG_ADXL345_SPI is not set -# CONFIG_ADXRS450 is not set -# CONFIG_AFE4403 is not set -# CONFIG_AFE4404 is not set -CONFIG_AFFS_FS=m -# CONFIG_AF_KCM is not set -# CONFIG_AF_RXRPC is not set -# CONFIG_AFS_FS is not set -# CONFIG_AGP is not set -# CONFIG_AHCI_CEVA is not set -# CONFIG_AHCI_QORIQ is not set -# CONFIG_AIC79XX_BUILD_FIRMWARE is not set -CONFIG_AIC79XX_CMDS_PER_DEVICE=4 -# CONFIG_AIC79XX_DEBUG_ENABLE is not set -CONFIG_AIC79XX_DEBUG_MASK=0 -# CONFIG_AIC79XX_REG_PRETTY_PRINT is not set -CONFIG_AIC79XX_RESET_DELAY_MS=15000 -# CONFIG_AIC7XXX_BUILD_FIRMWARE is not set -CONFIG_AIC7XXX_CMDS_PER_DEVICE=4 -# CONFIG_AIC7XXX_DEBUG_ENABLE is not set -CONFIG_AIC7XXX_DEBUG_MASK=0 -# CONFIG_AIC7XXX_REG_PRETTY_PRINT is not set -CONFIG_AIC7XXX_RESET_DELAY_MS=15000 -# CONFIG_AIRO_CS is not set -# CONFIG_AIRO is not set -CONFIG_AIX_PARTITION=y -# CONFIG_AK09911 is not set -# CONFIG_AK8974 is not set -# CONFIG_AK8975 is not set -# CONFIG_AL3320A is not set -CONFIG_ALI_FIR=m -CONFIG_ALIM1535_WDT=m -CONFIG_ALIM7101_WDT=m -# CONFIG_ALTERA_MBOX is not set -CONFIG_ALTERA_STAPL=m -CONFIG_ALTERA_TSE=m -CONFIG_ALTIVEC=y -CONFIG_ALX=m -# CONFIG_AM2315 is not set -CONFIG_AMD8111_ETH=m -CONFIG_AMD_PHY=m -# CONFIG_AMD_XGBE_DCB is not set -# CONFIG_AMD_XGBE is not set -# CONFIG_AMIGAONE is not set -CONFIG_AMIGA_PARTITION=y -# CONFIG_ANDROID is not set -# CONFIG_APDS9300 is not set -CONFIG_APDS9802ALS=m -# CONFIG_APDS9960 is not set -CONFIG_APM_POWER=m -# CONFIG_APPLE_PROPERTIES is not set -# CONFIG_APPLICOM is not set -CONFIG_AQUANTIA_PHY=m -CONFIG_AR5523=m -# CONFIG_ARCNET is not set -CONFIG_ARM64_ERRATUM_858921=y -CONFIG_ARM64_PTDUMP=y -# CONFIG_AS3935 is not set -CONFIG_ASYMMETRIC_KEY_TYPE=y -CONFIG_ASYNC_RAID6_TEST=m -CONFIG_ASYNC_TX_DMA=y -CONFIG_AT76C50X_USB=m -CONFIG_AT803X_PHY=m -CONFIG_ATA_ACPI=y -CONFIG_ATA_BMDMA=y -CONFIG_ATA_GENERIC=m -CONFIG_ATALK=m -CONFIG_ATA_OVER_ETH=m -CONFIG_ATA_PIIX=y -# CONFIG_ATARI_PARTITION is not set -CONFIG_ATA_SFF=y -CONFIG_ATA_VERBOSE_ERROR=y -CONFIG_ATA=y -# CONFIG_ATH10K_AHB is not set -CONFIG_ATH10K_DEBUGFS=y -# CONFIG_ATH10K_DEBUG is not set -CONFIG_ATH10K=m -CONFIG_ATH10K_PCI=m -CONFIG_ATH10K_SDIO=m -# CONFIG_ATH10K_TRACING is not set -CONFIG_ATH5K_DEBUG=y -CONFIG_ATH5K=m -# CONFIG_ATH5K_TRACER is not set -CONFIG_ATH6KL_DEBUG=y -CONFIG_ATH6KL=m -CONFIG_ATH6KL_SDIO=m -# CONFIG_ATH6KL_TRACING is not set -CONFIG_ATH6KL_USB=m -CONFIG_ATH9K_AHB=y -CONFIG_ATH9K_BTCOEX_SUPPORT=y -# CONFIG_ATH9K_CHANNEL_CONTEXT is not set -CONFIG_ATH9K_DEBUGFS=y -# CONFIG_ATH9K_DEBUG is not set -# CONFIG_ATH9K_DYNACK is not set -# CONFIG_ATH9K_HTC_DEBUGFS is not set -CONFIG_ATH9K_HTC=m -# CONFIG_ATH9K_HWRNG is not set -CONFIG_ATH9K=m -CONFIG_ATH9K_PCI=y -# CONFIG_ATH9K_STATION_STATISTICS is not set -# CONFIG_ATH9K_WOW is not set -CONFIG_ATH_COMMON=m -CONFIG_ATH_DEBUG=y -# CONFIG_ATH_TRACEPOINTS is not set -CONFIG_ATL1C=m -CONFIG_ATL1E=m -CONFIG_ATL1=m -CONFIG_ATL2=m -# CONFIG_ATLAS_PH_SENSOR is not set -# CONFIG_ATM_AMBASSADOR_DEBUG is not set -# CONFIG_ATM_AMBASSADOR is not set -# CONFIG_ATM_BR2684_IPFILTER is not set -CONFIG_ATM_BR2684=m -CONFIG_ATM_CLIP=m -# CONFIG_ATM_CLIP_NO_ICMP is not set -CONFIG_ATM_DRIVERS=y -# CONFIG_ATM_DUMMY is not set -# CONFIG_ATMEL is not set -# CONFIG_ATM_ENI_DEBUG is not set -CONFIG_ATM_ENI=m -# CONFIG_ATM_ENI_TUNE_BURST is not set -# CONFIG_ATM_FIRESTREAM is not set -CONFIG_ATM_FORE200E_DEBUG=0 -# CONFIG_ATM_FORE200E is not set -CONFIG_ATM_FORE200E_TX_RETRY=16 -# CONFIG_ATM_FORE200E_USE_TASKLET is not set -CONFIG_ATM_HE=m -# CONFIG_ATM_HE_USE_SUNI is not set -# CONFIG_ATM_HORIZON_DEBUG is not set -# CONFIG_ATM_HORIZON is not set -# CONFIG_ATM_IA_DEBUG is not set -# CONFIG_ATM_IA is not set -# CONFIG_ATM_IDT77252_DEBUG is not set -# CONFIG_ATM_IDT77252 is not set -# CONFIG_ATM_IDT77252_RCV_ALL is not set -# CONFIG_ATM_LANAI is not set -CONFIG_ATM_LANE=m -CONFIG_ATM=m -# CONFIG_ATM_MPOA is not set -CONFIG_ATM_NICSTAR=m -# CONFIG_ATM_NICSTAR_USE_IDT77105 is not set -# CONFIG_ATM_NICSTAR_USE_SUNI is not set -CONFIG_ATM_SOLOS=m -CONFIG_ATM_TCP=m -# CONFIG_ATM_ZATM_DEBUG is not set -# CONFIG_ATM_ZATM is not set -CONFIG_ATOMIC64_SELFTEST=y -CONFIG_ATP=m -CONFIG_AUDITSYSCALL=y -CONFIG_AUDIT=y -CONFIG_AUTOFS4_FS=y -CONFIG_AUXDISPLAY=y -# CONFIG_AVERAGE is not set -CONFIG_AX25_DAMA_SLAVE=y -CONFIG_AX25=m -# CONFIG_AXON_RAM is not set -CONFIG_B43_BCMA_PIO=y -CONFIG_B43_BCMA=y -CONFIG_B43_DEBUG=y -CONFIG_B43LEGACY_DEBUG=y -CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y -# CONFIG_B43LEGACY_DMA_MODE is not set -CONFIG_B43LEGACY_DMA=y -CONFIG_B43LEGACY=m -# CONFIG_B43LEGACY_PIO_MODE is not set -CONFIG_B43LEGACY_PIO=y -CONFIG_B43=m -CONFIG_B43_PHY_G=y -CONFIG_B43_PHY_HT=y -CONFIG_B43_PHY_LP=y -CONFIG_B43_PHY_N=y -CONFIG_B43_SDIO=y -CONFIG_B44=m -CONFIG_B44_PCI=y -CONFIG_B53=m -CONFIG_B53_MDIO_DRIVER=m -CONFIG_B53_MMAP_DRIVER=m -CONFIG_B53_SPI_DRIVER=m -CONFIG_B53_SRAB_DRIVER=m -# CONFIG_BACKLIGHT_ADP8860 is not set -# CONFIG_BACKLIGHT_ADP8870 is not set -CONFIG_BACKLIGHT_ARCXCNN=m -# CONFIG_BACKLIGHT_BD6107 is not set -CONFIG_BACKLIGHT_CLASS_DEVICE=y -# CONFIG_BACKLIGHT_GENERIC is not set -# CONFIG_BACKLIGHT_GPIO is not set -CONFIG_BACKLIGHT_LCD_SUPPORT=y -# CONFIG_BACKLIGHT_LM3630A is not set -# CONFIG_BACKLIGHT_LM3630 is not set -# CONFIG_BACKLIGHT_LM3639 is not set -CONFIG_BACKLIGHT_LP855X=m -# CONFIG_BACKLIGHT_LV5207LP is not set -# CONFIG_BACKLIGHT_PM8941_WLED is not set -CONFIG_BACKLIGHT_PWM=m -# CONFIG_BACKLIGHT_SAHARA is not set -CONFIG_BACKLIGHT_WM831X=m -# CONFIG_BACKTRACE_SELF_TEST is not set -CONFIG_BALLOON_COMPACTION=y -CONFIG_BATMAN_ADV_BATMAN_V=y -CONFIG_BATMAN_ADV_BLA=y -CONFIG_BATMAN_ADV_DAT=y -# CONFIG_BATMAN_ADV_DEBUGFS is not set -# CONFIG_BATMAN_ADV_DEBUG is not set -CONFIG_BATMAN_ADV=m -CONFIG_BATMAN_ADV_MCAST=y -CONFIG_BATMAN_ADV_NC=y -# CONFIG_BATTERY_BQ27XXX is not set -# CONFIG_BATTERY_DS2760 is not set -# CONFIG_BATTERY_DS2780 is not set -# CONFIG_BATTERY_DS2781 is not set -# CONFIG_BATTERY_DS2782 is not set -# CONFIG_BATTERY_GAUGE_LTC2941 is not set -# CONFIG_BATTERY_LEGO_EV3 is not set -# CONFIG_BATTERY_MAX17040 is not set -# CONFIG_BATTERY_MAX17042 is not set -# CONFIG_BATTERY_SBS is not set -CONFIG_BAYCOM_EPP=m -CONFIG_BAYCOM_PAR=m -CONFIG_BAYCOM_SER_FDX=m -CONFIG_BAYCOM_SER_HDX=m -# CONFIG_BCACHE_CLOSURES_DEBUG is not set -# CONFIG_BCACHE_DEBUG is not set -CONFIG_BCACHE=m -# CONFIG_BCM2835_VCHIQ is not set -CONFIG_BCM63XX_PHY=m -# CONFIG_BCM7038_WDT is not set -CONFIG_BCM7XXX_PHY=m -CONFIG_BCM87XX_PHY=m -CONFIG_BCMA_BLOCKIO=y -# CONFIG_BCMA_DEBUG is not set -CONFIG_BCMA_DRIVER_GMAC_CMN=y -CONFIG_BCMA_DRIVER_GPIO=y -CONFIG_BCMA_HOST_PCI_POSSIBLE=y -CONFIG_BCMA_HOST_PCI=y -# CONFIG_BCMA_HOST_SOC is not set -CONFIG_BCMA=m -# CONFIG_BCM_FLEXRM_MBOX is not set -CONFIG_BCMGENET=m -# CONFIG_BCM_KONA_USB2_PHY is not set -CONFIG_BE2ISCSI=m -# CONFIG_BE2NET_HWMON is not set -CONFIG_BE2NET=m -# CONFIG_BEFS_DEBUG is not set -CONFIG_BEFS_FS=m -CONFIG_BFQ_GROUP_IOSCHED=y -# CONFIG_BFS_FS is not set -CONFIG_BH1750=m -# CONFIG_BH1780 is not set -CONFIG_BIG_KEYS=y -# CONFIG_BINFMT_AOUT is not set -CONFIG_BINFMT_ELF=y -# CONFIG_BINFMT_FLAT is not set -CONFIG_BINFMT_MISC=m -CONFIG_BINFMT_SCRIPT=y -CONFIG_BLK_CGROUP=y -# CONFIG_BLK_CMDLINE_PARSER is not set -CONFIG_BLK_CPQ_CISS_DA=m -CONFIG_BLK_DEBUG_FS=y -CONFIG_BLK_DEV_3W_XXXX_RAID=m -CONFIG_BLK_DEV_BSGLIB=y -CONFIG_BLK_DEV_BSG=y -# CONFIG_BLK_DEV_CRYPTOLOOP is not set -CONFIG_BLK_DEV_DAC960=m -CONFIG_BLK_DEV_DM=y -CONFIG_BLK_DEV_DRBD=m -CONFIG_BLK_DEV_FD=m -CONFIG_BLK_DEV_INITRD=y -CONFIG_BLK_DEV_INTEGRITY=y -CONFIG_BLK_DEV_IO_TRACE=y -CONFIG_BLK_DEV_IT8172=m -CONFIG_BLK_DEV_LOOP=m -CONFIG_BLK_DEV_LOOP_MIN_COUNT=0 -CONFIG_BLK_DEV_MD=y -CONFIG_BLK_DEV_NBD=m -CONFIG_BLK_DEV_NULL_BLK=m -CONFIG_BLK_DEV_NVME=m -# CONFIG_BLK_DEV_NVME_SCSI is not set -CONFIG_BLK_DEV_OSD=m -# CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set -# CONFIG_BLK_DEV_PLATFORM is not set -CONFIG_BLK_DEV_PMEM=m -CONFIG_BLK_DEV_RAM_COUNT=16 -CONFIG_BLK_DEV_RAM_DAX=y -CONFIG_BLK_DEV_RAM=m -CONFIG_BLK_DEV_RAM_SIZE=16384 -CONFIG_BLK_DEV_RBD=m -CONFIG_BLK_DEV_RSXX=m -CONFIG_BLK_DEV_SD=y -CONFIG_BLK_DEV_SKD=m -CONFIG_BLK_DEV_SR_VENDOR=y -CONFIG_BLK_DEV_SR=y -CONFIG_BLK_DEV_SX8=m -# CONFIG_BLK_DEV_THROTTLING_LOW is not set -CONFIG_BLK_DEV_THROTTLING=y -# CONFIG_BLK_DEV_UB is not set -CONFIG_BLK_DEV_UMEM=m -CONFIG_BLK_DEV=y -CONFIG_BLK_DEV_ZONED=y -CONFIG_BLK_SED_OPAL=y -CONFIG_BLK_WBT_MQ=y -# CONFIG_BLK_WBT_SQ is not set -CONFIG_BLK_WBT=y -# CONFIG_BMA180 is not set -# CONFIG_BMA220 is not set -CONFIG_BMC150_ACCEL=m -# CONFIG_BMC150_MAGN_I2C is not set -# CONFIG_BMC150_MAGN is not set -# CONFIG_BMC150_MAGN_SPI is not set -# CONFIG_BMG160 is not set -# CONFIG_BMI160_I2C is not set -# CONFIG_BMI160_SPI is not set -CONFIG_BMP280=m -CONFIG_BNA=m -CONFIG_BNX2=m -CONFIG_BNX2X=m -CONFIG_BNX2X_SRIOV=y -CONFIG_BNXT_DCB=y -CONFIG_BNXT=m -CONFIG_BNXT_SRIOV=y -CONFIG_BONDING=m -# CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is not set -# CONFIG_BOOTPARAM_HOTPLUG_CPU0 is not set -# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set -# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set -CONFIG_BOOT_PRINTK_DELAY=y -CONFIG_BOOTX_TEXT=y -CONFIG_BOUNCE=y -CONFIG_BPF_JIT=y -CONFIG_BPF_SYSCALL=y -CONFIG_BPQETHER=m -# CONFIG_BRCMDBG is not set -CONFIG_BRCMFMAC=m -CONFIG_BRCMFMAC_PCIE=y -CONFIG_BRCMFMAC_SDIO=y -CONFIG_BRCMFMAC_USB=y -CONFIG_BRCMSMAC=m -# CONFIG_BRCMSTB_GISB_ARB is not set -# CONFIG_BRCM_TRACING is not set -CONFIG_BRIDGE_EBT_802_3=m -CONFIG_BRIDGE_EBT_AMONG=m -CONFIG_BRIDGE_EBT_ARP=m -CONFIG_BRIDGE_EBT_ARPREPLY=m -CONFIG_BRIDGE_EBT_BROUTE=m -CONFIG_BRIDGE_EBT_DNAT=m -CONFIG_BRIDGE_EBT_IP6=m -CONFIG_BRIDGE_EBT_IP=m -CONFIG_BRIDGE_EBT_LIMIT=m -CONFIG_BRIDGE_EBT_LOG=m -CONFIG_BRIDGE_EBT_MARK=m -CONFIG_BRIDGE_EBT_MARK_T=m -CONFIG_BRIDGE_EBT_NFLOG=m -CONFIG_BRIDGE_EBT_PKTTYPE=m -CONFIG_BRIDGE_EBT_REDIRECT=m -CONFIG_BRIDGE_EBT_SNAT=m -CONFIG_BRIDGE_EBT_STP=m -CONFIG_BRIDGE_EBT_T_FILTER=m -CONFIG_BRIDGE_EBT_T_NAT=m -CONFIG_BRIDGE_EBT_VLAN=m -CONFIG_BRIDGE_IGMP_SNOOPING=y -CONFIG_BRIDGE=m -CONFIG_BRIDGE_NETFILTER=m -CONFIG_BRIDGE_NF_EBTABLES=m -CONFIG_BRIDGE_VLAN_FILTERING=y -CONFIG_BROADCOM_PHY=m -CONFIG_BSD_DISKLABEL=y -CONFIG_BSD_PROCESS_ACCT_V3=y -CONFIG_BSD_PROCESS_ACCT=y -CONFIG_BT_6LOWPAN=m -CONFIG_BT_ATH3K=m -CONFIG_BT_BNEP=m -CONFIG_BT_BNEP_MC_FILTER=y -CONFIG_BT_BNEP_PROTO_FILTER=y -CONFIG_BT_BREDR=y -CONFIG_BT_CMTP=m -# CONFIG_BT_DEBUGFS is not set -CONFIG_BT_HCIBCM203X=m -CONFIG_BT_HCIBFUSB=m -CONFIG_BT_HCIBLUECARD=m -CONFIG_BT_HCIBPA10X=m -CONFIG_BT_HCIBT3C=m -CONFIG_BT_HCIBTSDIO=m -CONFIG_BT_HCIBTUART=m -CONFIG_BT_HCIBTUSB_BCM=y -CONFIG_BT_HCIBTUSB=m -CONFIG_BT_HCIBTUSB_RTL=y -CONFIG_BT_HCIDTL1=m -CONFIG_BT_HCIUART_3WIRE=y -CONFIG_BT_HCIUART_AG6XX=y -CONFIG_BT_HCIUART_ATH3K=y -CONFIG_BT_HCIUART_BCM=y -CONFIG_BT_HCIUART_BCSP=y -CONFIG_BT_HCIUART_H4=y -CONFIG_BT_HCIUART_INTEL=y -CONFIG_BT_HCIUART_LL=y -CONFIG_BT_HCIUART=m -CONFIG_BT_HCIUART_MRVL=y -CONFIG_BT_HCIUART_NOKIA=m -CONFIG_BT_HCIUART_QCA=y -CONFIG_BT_HCIUART_SERDEV=y -CONFIG_BT_HCIVHCI=m -CONFIG_BT_HIDP=m -CONFIG_BT_HS=y -CONFIG_BT_LEDS=y -CONFIG_BT_LE=y -CONFIG_BT=m -CONFIG_BT_MRVL=m -CONFIG_BT_MRVL_SDIO=m -CONFIG_BT_QCA=m -CONFIG_BT_RFCOMM=m -CONFIG_BT_RFCOMM_TTY=y -# CONFIG_BTRFS_ASSERT is not set -# CONFIG_BTRFS_DEBUG is not set -# CONFIG_BTRFS_FS_CHECK_INTEGRITY is not set -CONFIG_BTRFS_FS=m -CONFIG_BTRFS_FS_POSIX_ACL=y -# CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set -CONFIG_BT_SCO=y -# CONFIG_BT_SELFTEST is not set -# CONFIG_BTT is not set -CONFIG_BT_WILINK=m -CONFIG_BUG_ON_DATA_CORRUPTION=y -CONFIG_BUILD_DOCSRC=y -# CONFIG_C2PORT is not set -# CONFIG_CACHEFILES_DEBUG is not set -# CONFIG_CACHEFILES_HISTOGRAM is not set -CONFIG_CACHEFILES=m -# CONFIG_CADENCE_WATCHDOG is not set -# CONFIG_CAIF is not set -CONFIG_CAN_8DEV_USB=m -CONFIG_CAN_BCM=m -CONFIG_CAN_CALC_BITTIMING=y -# CONFIG_CAN_CC770_ISA is not set -CONFIG_CAN_CC770=m -CONFIG_CAN_CC770_PLATFORM=m -CONFIG_CAN_C_CAN=m -CONFIG_CAN_C_CAN_PCI=m -CONFIG_CAN_C_CAN_PLATFORM=m -CONFIG_CAN_DEBUG_DEVICES=y -CONFIG_CAN_DEV=m -CONFIG_CAN_EMS_PCI=m -# CONFIG_CAN_EMS_PCMCIA is not set -CONFIG_CAN_EMS_USB=m -CONFIG_CAN_ESD_USB2=m -# CONFIG_CAN_FLEXCAN is not set -# CONFIG_CAN_GRCAN is not set -CONFIG_CAN_GS_USB=m -CONFIG_CAN_GW=m -CONFIG_CAN_HI311X=m -CONFIG_CAN_IFI_CANFD=m -CONFIG_CAN_KVASER_PCI=m -CONFIG_CAN_KVASER_USB=m -CONFIG_CAN_LEDS=y -CONFIG_CAN=m -CONFIG_CAN_M_CAN=m -CONFIG_CAN_MCBA_USB=m -# CONFIG_CAN_MCP251X is not set -# CONFIG_CAN_MPC5XXX is not set -# CONFIG_CAN_MSCAN is not set -CONFIG_CAN_PEAK_PCIEC=y -CONFIG_CAN_PEAK_PCIEFD=m -CONFIG_CAN_PEAK_PCI=m -# CONFIG_CAN_PEAK_PCMCIA is not set -CONFIG_CAN_PEAK_USB=m -CONFIG_CAN_PLX_PCI=m -CONFIG_CAN_RAW=m -# CONFIG_CAN_SJA1000_ISA is not set -CONFIG_CAN_SJA1000=m -CONFIG_CAN_SJA1000_PLATFORM=m -CONFIG_CAN_SLCAN=m -# CONFIG_CAN_SOFTING_CS is not set -CONFIG_CAN_SOFTING=m -# CONFIG_CAN_TSCAN1 is not set -CONFIG_CAN_VCAN=m -CONFIG_CAN_VXCAN=m -# CONFIG_CAN_XILINXCAN is not set -CONFIG_CAPI_AVM=y -CONFIG_CAPI_EICON=y -# CONFIG_CAPI_TRACE is not set -CONFIG_CARDBUS=y -CONFIG_CARDMAN_4000=m -CONFIG_CARDMAN_4040=m -CONFIG_CARL9170_DEBUGFS=y -# CONFIG_CARL9170_HWRNG is not set -CONFIG_CARL9170_LEDS=y -CONFIG_CARL9170=m -CONFIG_CASSINI=m -CONFIG_CB710_CORE=m -# CONFIG_CB710_DEBUG is not set -# CONFIG_CC10001_ADC is not set -# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set -CONFIG_CDROM_PKTCDVD_BUFFERS=8 -CONFIG_CDROM_PKTCDVD=m -# CONFIG_CDROM_PKTCDVD_WCACHE is not set -CONFIG_CEC_PLATFORM_DRIVERS=y -CONFIG_CEPH_FSCACHE=y -CONFIG_CEPH_FS=m -CONFIG_CEPH_FS_POSIX_ACL=y -CONFIG_CEPH_LIB=m -CONFIG_CEPH_LIB_PRETTYDEBUG=y -# CONFIG_CEPH_LIB_USE_DNS_RESOLVER is not set -CONFIG_CFAG12864B=m -CONFIG_CFAG12864B_RATE=20 -CONFIG_CFG80211_CRDA_SUPPORT=y -CONFIG_CFG80211_DEBUGFS=y -CONFIG_CFG80211_DEFAULT_PS=y -# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set -CONFIG_CFG80211=m -CONFIG_CFG80211_WEXT=y -CONFIG_CFQ_GROUP_IOSCHED=y -CONFIG_CFS_BANDWIDTH=y -CONFIG_CGROUP_BPF=y -CONFIG_CGROUP_CPUACCT=y -# CONFIG_CGROUP_DEBUG is not set -CONFIG_CGROUP_DEVICE=y -CONFIG_CGROUP_FREEZER=y -CONFIG_CGROUP_HUGETLB=y -CONFIG_CGROUP_NET_CLASSID=y -CONFIG_CGROUP_NET_PRIO=y -CONFIG_CGROUP_PERF=y -CONFIG_CGROUP_PIDS=y -# CONFIG_CGROUP_RDMA is not set -CONFIG_CGROUP_SCHED=y -CONFIG_CGROUPS=y -# CONFIG_CHARGER_BQ2415X is not set -# CONFIG_CHARGER_BQ24190 is not set -# CONFIG_CHARGER_BQ24257 is not set -# CONFIG_CHARGER_BQ24735 is not set -# CONFIG_CHARGER_BQ25890 is not set -# CONFIG_CHARGER_DETECTOR_MAX14656 is not set -# CONFIG_CHARGER_GPIO is not set -# CONFIG_CHARGER_ISP1704 is not set -# CONFIG_CHARGER_LP8727 is not set -# CONFIG_CHARGER_LTC3651 is not set -# CONFIG_CHARGER_MAX8903 is not set -# CONFIG_CHARGER_PCF50633 is not set -# CONFIG_CHARGER_QCOM_SMBB is not set -# CONFIG_CHARGER_RT9455 is not set -# CONFIG_CHARGER_SBS is not set -CONFIG_CHARGER_SMB347=m -# CONFIG_CHECKPOINT_RESTORE is not set -CONFIG_CHELSIO_T1_1G=y -CONFIG_CHELSIO_T1=m -CONFIG_CHELSIO_T3=m -CONFIG_CHELSIO_T4_DCB=y -# CONFIG_CHELSIO_T4_FCOE is not set -CONFIG_CHELSIO_T4=m -CONFIG_CHELSIO_T4VF=m -CONFIG_CHR_DEV_OSST=m -CONFIG_CHR_DEV_SCH=m -CONFIG_CHR_DEV_SG=y -CONFIG_CHR_DEV_ST=m -CONFIG_CHROME_PLATFORMS=y -CONFIG_CICADA_PHY=m -CONFIG_CIFS_ACL=y -# CONFIG_CIFS_DEBUG2 is not set -# CONFIG_CIFS_DEBUG_DUMP_KEYS is not set -CONFIG_CIFS_DEBUG=y -CONFIG_CIFS_DFS_UPCALL=y -CONFIG_CIFS_FSCACHE=y -CONFIG_CIFS=m -CONFIG_CIFS_NFSD_EXPORT=y -CONFIG_CIFS_POSIX=y -CONFIG_CIFS_SMB2=y -# CONFIG_CIFS_SMB311 is not set -# CONFIG_CIFS_STATS2 is not set -CONFIG_CIFS_STATS=y -CONFIG_CIFS_UPCALL=y -CONFIG_CIFS_WEAK_PW_HASH=y -CONFIG_CIFS_XATTR=y -CONFIG_CISS_SCSI_TAPE=y -CONFIG_CLEANCACHE=y -# CONFIG_CLK_QORIQ is not set -CONFIG_CLS_U32_MARK=y -CONFIG_CLS_U32_PERF=y -CONFIG_CM32181=m -# CONFIG_CM3232 is not set -# CONFIG_CM3323 is not set -CONFIG_CM3605=m -# CONFIG_CM36651 is not set -CONFIG_CMA_AREAS=7 -# CONFIG_CMA_DEBUGFS is not set -# CONFIG_CMA_DEBUG is not set -CONFIG_CMA=y -# CONFIG_CMDLINE_BOOL is not set -# CONFIG_CMDLINE_PARTITION is not set -CONFIG_CMM=y -CONFIG_CNIC=m -CONFIG_CODA_FS=m -# CONFIG_CODE_PATCHING_SELFTEST is not set -# CONFIG_COMEDI is not set -# CONFIG_COMMON_CLK_CDCE706 is not set -# CONFIG_COMMON_CLK_CDCE925 is not set -# CONFIG_COMMON_CLK_CS2000_CP is not set -# CONFIG_COMMON_CLK_PWM is not set -# CONFIG_COMMON_CLK_SI514 is not set -# CONFIG_COMMON_CLK_SI5351 is not set -# CONFIG_COMMON_CLK_SI570 is not set -# CONFIG_COMMON_CLK_VC5 is not set -# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set -# CONFIG_COMMON_RESET_HI3660 is not set -CONFIG_COMPACTION=y -# CONFIG_COMPAT_BRK is not set -# CONFIG_COMPILE_TEST is not set -CONFIG_CONFIGFS_FS=y -CONFIG_CONNECTOR=y -# CONFIG_CONSISTENT_SIZE_BOOL is not set -CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7 -CONFIG_CONTEXT_SWITCH_TRACER=y -CONFIG_CORDIC=m -CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y -CONFIG_CORTINA_PHY=m -# CONFIG_CPU5_WDT is not set -CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y -# CONFIG_CPUFREQ_DT is not set -CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y -CONFIG_CPU_FREQ_GOV_ONDEMAND=y -CONFIG_CPU_FREQ_GOV_PERFORMANCE=y -CONFIG_CPU_FREQ_GOV_POWERSAVE=y -CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y -CONFIG_CPU_FREQ_GOV_USERSPACE=y -CONFIG_CPU_FREQ_STAT_DETAILS=y -CONFIG_CPU_FREQ_STAT=y -CONFIG_CPU_FREQ=y -# CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set -# CONFIG_CPU_IDLE_GOV_LADDER is not set -CONFIG_CPU_IDLE=y -# CONFIG_CPU_LITTLE_ENDIAN is not set -CONFIG_CPUMASK_OFFSTACK=y -CONFIG_CPU_NOTIFIER_ERROR_INJECT=m -CONFIG_CPUSETS=y -# CONFIG_CPU_THERMAL is not set -CONFIG_CRAMFS=m -CONFIG_CRASH_DUMP=y -CONFIG_CRASH=m -CONFIG_CRC16=y -# CONFIG_CRC32_SELFTEST is not set -CONFIG_CRC32=y -CONFIG_CRC4=m -CONFIG_CRC7=m -CONFIG_CRC8=m -CONFIG_CRC_CCITT=y -CONFIG_CRC_ITU_T=m -CONFIG_CRC_T10DIF=y -CONFIG_CROS_KBD_LED_BACKLIGHT=m -CONFIG_CROSS_COMPILE="" -CONFIG_CROSS_MEMORY_ATTACH=y -CONFIG_CRYPTO_842=m -CONFIG_CRYPTO_AES_TI=m -CONFIG_CRYPTO_AES=y -CONFIG_CRYPTO_ANSI_CPRNG=m -CONFIG_CRYPTO_ANUBIS=m -CONFIG_CRYPTO_ARC4=m -CONFIG_CRYPTO_AUTHENC=m -CONFIG_CRYPTO_BLKCIPHER=y -CONFIG_CRYPTO_BLOWFISH=m -CONFIG_CRYPTO_CAMELLIA=m -CONFIG_CRYPTO_CAST5=m -CONFIG_CRYPTO_CAST6=m -CONFIG_CRYPTO_CBC=y -CONFIG_CRYPTO_CCM=m -CONFIG_CRYPTO_CHACHA20=m -CONFIG_CRYPTO_CHACHA20POLY1305=m -CONFIG_CRYPTO_CMAC=m -CONFIG_CRYPTO_CRC32C_VPMSUM=m -CONFIG_CRYPTO_CRC32C=y -CONFIG_CRYPTO_CRC32=m -CONFIG_CRYPTO_CRCT10DIF_VPMSUM=m -# CONFIG_CRYPTO_CRYPTD is not set -CONFIG_CRYPTO_CTR=y -CONFIG_CRYPTO_CTS=y -CONFIG_CRYPTO_DEFLATE=m -CONFIG_CRYPTO_DES=m -# CONFIG_CRYPTO_DEV_CCREE is not set -CONFIG_CRYPTO_DEV_CHELSIO=m -# CONFIG_CRYPTO_DEV_FSL_CAAM is not set -CONFIG_CRYPTO_DEV_HIFN_795X=m -CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y -CONFIG_CRYPTO_DEV_NITROX_CNN55XX=m -CONFIG_CRYPTO_DEV_NX_COMPRESS=m -CONFIG_CRYPTO_DEV_NX_COMPRESS_POWERNV=m -CONFIG_CRYPTO_DEV_NX_COMPRESS_PSERIES=m -CONFIG_CRYPTO_DEV_NX_ENCRYPT=m -CONFIG_CRYPTO_DEV_NX=y -CONFIG_CRYPTO_DEV_VIRTIO=m -CONFIG_CRYPTO_DEV_VMX_ENCRYPT=m -CONFIG_CRYPTO_DEV_VMX=y -CONFIG_CRYPTO_DH=y -CONFIG_CRYPTO_DRBG_CTR=y -CONFIG_CRYPTO_DRBG_HASH=y -CONFIG_CRYPTO_DRBG_MENU=y -CONFIG_CRYPTO_ECB=y -CONFIG_CRYPTO_ECDH=m -CONFIG_CRYPTO_ECHAINIV=m -CONFIG_CRYPTO_FCRYPT=m -CONFIG_CRYPTO_FIPS=y -CONFIG_CRYPTO_GCM=y -CONFIG_CRYPTO_GF128MUL=y -CONFIG_CRYPTO_GHASH=y -CONFIG_CRYPTO_HMAC=y -CONFIG_CRYPTO_HW=y -CONFIG_CRYPTO_KEYWRAP=m -CONFIG_CRYPTO_KHAZAD=m -CONFIG_CRYPTO_LRW=m -CONFIG_CRYPTO_LZ4HC=m -CONFIG_CRYPTO_LZ4=m -CONFIG_CRYPTO_LZO=y -# CONFIG_CRYPTO_MANAGER_DISABLE_TESTS is not set -CONFIG_CRYPTO_MANAGER=y -# CONFIG_CRYPTO_MCRYPTD is not set -CONFIG_CRYPTO_MD4=m -# CONFIG_CRYPTO_MD5_PPC is not set -CONFIG_CRYPTO_MD5=y -CONFIG_CRYPTO_MICHAEL_MIC=m -CONFIG_CRYPTO_NULL=y -CONFIG_CRYPTO_PCBC=m -CONFIG_CRYPTO_PCRYPT=m -CONFIG_CRYPTO_POLY1305=m -CONFIG_CRYPTO_RMD128=m -CONFIG_CRYPTO_RMD160=m -CONFIG_CRYPTO_RMD256=m -CONFIG_CRYPTO_RMD320=m -CONFIG_CRYPTO_RSA=y -CONFIG_CRYPTO_SALSA20_586=m -CONFIG_CRYPTO_SALSA20=m -CONFIG_CRYPTO_SEED=m -CONFIG_CRYPTO_SEQIV=y -CONFIG_CRYPTO_SERPENT=m -# CONFIG_CRYPTO_SHA1_PPC is not set -CONFIG_CRYPTO_SHA1=y -CONFIG_CRYPTO_SHA256=y -CONFIG_CRYPTO_SHA3=m -CONFIG_CRYPTO_SHA512=m -CONFIG_CRYPTO_SIMD=y -CONFIG_CRYPTO_TEA=m -CONFIG_CRYPTO_TEST=m -CONFIG_CRYPTO_TGR192=m -CONFIG_CRYPTO_TWOFISH=m -CONFIG_CRYPTO_USER_API_AEAD=y -CONFIG_CRYPTO_USER_API_HASH=y -CONFIG_CRYPTO_USER_API_RNG=y -CONFIG_CRYPTO_USER_API_SKCIPHER=y -CONFIG_CRYPTO_USER=m -CONFIG_CRYPTO_VMAC=m -# CONFIG_CRYPTO_VPMSUM_TESTER is not set -CONFIG_CRYPTO_WP512=m -CONFIG_CRYPTO_XCBC=m -CONFIG_CRYPTO_XTS=y -CONFIG_CRYPTO=y -CONFIG_CUSE=m -CONFIG_CW1200=m -CONFIG_CW1200_WLAN_SDIO=m -CONFIG_CW1200_WLAN_SPI=m -# CONFIG_CX_ECAT is not set -CONFIG_CXLFLASH=m -CONFIG_CXL=m -CONFIG_CYCLADES=m -# CONFIG_CYZ_INTR is not set -CONFIG_DA280=m -CONFIG_DA311=m -CONFIG_DAVICOM_PHY=m -CONFIG_DCB=y -# CONFIG_DDR is not set -CONFIG_DE2104X_DSL=0 -CONFIG_DE2104X=m -CONFIG_DE4X5=m -CONFIG_DE_AOC=y -CONFIG_DEBUG_ATOMIC_SLEEP=y -CONFIG_DEBUG_BLK_CGROUP=y -# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set -CONFIG_DEBUG_BOOT_PARAMS=y -CONFIG_DEBUG_CREDENTIALS=y -CONFIG_DEBUG_DEVRES=y -# CONFIG_DEBUG_DRIVER is not set -CONFIG_DEBUG_FORCE_WEAK_PER_CPU=y -CONFIG_DEBUG_FS=y -CONFIG_DEBUGGER=y -# CONFIG_DEBUG_GPIO is not set -CONFIG_DEBUG_HIGHMEM=y -# CONFIG_DEBUG_HOTPLUG_CPU0 is not set -# CONFIG_DEBUG_INFO_DWARF4 is not set -# CONFIG_DEBUG_INFO_REDUCED is not set -# CONFIG_DEBUG_INFO_SPLIT is not set -CONFIG_DEBUG_INFO_VTA=y -CONFIG_DEBUG_INFO=y -CONFIG_DEBUG_KERNEL=y -CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF=y -CONFIG_DEBUG_KMEMLEAK_EARLY_LOG_SIZE=4096 -# CONFIG_DEBUG_KMEMLEAK_TEST is not set -CONFIG_DEBUG_KMEMLEAK=y -# CONFIG_DEBUG_KOBJECT is not set -# CONFIG_DEBUG_KOBJECT_RELEASE is not set -CONFIG_DEBUG_LIST=y -CONFIG_DEBUG_LOCK_ALLOC=y -# CONFIG_DEBUG_LOCKDEP is not set -# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set -CONFIG_DEBUG_MUTEXES=y -CONFIG_DEBUG_NOTIFIERS=y -CONFIG_DEBUG_NX_TEST=m -CONFIG_DEBUG_OBJECTS_ENABLE_DEFAULT=1 -CONFIG_DEBUG_OBJECTS_FREE=y -CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER=y -CONFIG_DEBUG_OBJECTS_RCU_HEAD=y -# CONFIG_DEBUG_OBJECTS_SELFTEST is not set -CONFIG_DEBUG_OBJECTS_TIMERS=y -CONFIG_DEBUG_OBJECTS_WORK=y -CONFIG_DEBUG_OBJECTS=y -# CONFIG_DEBUG_PAGEALLOC is not set -# CONFIG_DEBUG_PAGE_REF is not set -CONFIG_DEBUG_PER_CPU_MAPS=y -CONFIG_DEBUG_PERF_USE_VMALLOC=y -CONFIG_DEBUG_PI_LIST=y -# CONFIG_DEBUG_PINCTRL is not set -CONFIG_DEBUG_REFCOUNT=y -CONFIG_DEBUG_RODATA_TEST=y -CONFIG_DEBUG_RT_MUTEXES=y -# CONFIG_DEBUG_SECTION_MISMATCH is not set -CONFIG_DEBUG_SET_MODULE_RONX=y -CONFIG_DEBUG_SG=y -CONFIG_DEBUG_SHIRQ=y -CONFIG_DEBUG_SLAB=y -CONFIG_DEBUG_SPINLOCK=y -CONFIG_DEBUG_STACKOVERFLOW=y -CONFIG_DEBUG_STACK_USAGE=y -# CONFIG_DEBUG_TEST_DRIVER_REMOVE is not set -# CONFIG_DEBUG_TIMEKEEPING is not set -# CONFIG_DEBUG_VIRTUAL is not set -CONFIG_DEBUG_VM_PGFLAGS=y -# CONFIG_DEBUG_VM_RB is not set # revisit this if performance isn't horrible -# CONFIG_DEBUG_VM_VMACACHE is not set -CONFIG_DEBUG_VM=y -# CONFIG_DEBUG_WQ_FORCE_RR_CPU is not set -# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set -# CONFIG_DECNET is not set -CONFIG_DEFAULT_CFQ=y -CONFIG_DEFAULT_HOSTNAME="(none)" -CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120 -CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 -# CONFIG_DEFERRED_STRUCT_PAGE_INIT is not set -# CONFIG_DEFXX is not set -CONFIG_DETECT_HUNG_TASK=y -CONFIG_DEV_APPLETALK=m -CONFIG_DEV_DAX=m -CONFIG_DEV_DAX_PMEM=m -# CONFIG_DEVFREQ_GOV_PASSIVE is not set -# CONFIG_DEVFREQ_GOV_PERFORMANCE is not set -# CONFIG_DEVFREQ_GOV_POWERSAVE is not set -CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=m -# CONFIG_DEVFREQ_GOV_USERSPACE is not set -# CONFIG_DEVKMEM is not set -CONFIG_DEVMEM=y -CONFIG_DEVPORT=y -CONFIG_DEVTMPFS_MOUNT=y -CONFIG_DEVTMPFS=y -# CONFIG_DGAP is not set -# CONFIG_DGNC is not set -CONFIG_DHT11=m -CONFIG_DL2K=m -CONFIG_DLM_DEBUG=y -CONFIG_DLM=m -CONFIG_DM9102=m -CONFIG_DMA_API_DEBUG=y -# CONFIG_DMA_CMA is not set -CONFIG_DMADEVICES_DEBUG=y -# CONFIG_DMADEVICES_VDEBUG is not set -CONFIG_DMADEVICES=y -CONFIG_DMA_ENGINE=y -# CONFIG_DMA_FENCE_TRACE is not set -# CONFIG_DMARD06 is not set -# CONFIG_DMARD09 is not set -CONFIG_DMARD10=m -# CONFIG_DMATEST is not set -CONFIG_DM_CACHE_CLEANER=m -CONFIG_DM_CACHE=m -CONFIG_DM_CACHE_SMQ=m -CONFIG_DM_CRYPT=m -CONFIG_DM_DEBUG_BLOCK_MANAGER_LOCKING=y -# CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set -CONFIG_DM_DEBUG=y -CONFIG_DM_DELAY=m -# CONFIG_DM_ERA is not set -CONFIG_DM_FLAKEY=m -CONFIG_DM_INTEGRITY=m -CONFIG_DM_LOG_USERSPACE=m -CONFIG_DM_LOG_WRITES=m -CONFIG_DM_MIRROR=y -# CONFIG_DM_MQ_DEFAULT is not set -CONFIG_DM_MULTIPATH=m -CONFIG_DM_MULTIPATH_QL=m -CONFIG_DM_MULTIPATH_ST=m -CONFIG_DM_RAID=m -CONFIG_DM_SNAPSHOT=y -CONFIG_DM_SWITCH=m -CONFIG_DM_THIN_PROVISIONING=m -CONFIG_DM_UEVENT=y -CONFIG_DM_VERITY_FEC=y -CONFIG_DM_VERITY=m -CONFIG_DM_ZERO=y -CONFIG_DM_ZONED=m -CONFIG_DNET=m -CONFIG_DNOTIFY=y -CONFIG_DNS_RESOLVER=m -CONFIG_DONGLE=y -CONFIG_DP83640_PHY=m -CONFIG_DP83848_PHY=m -CONFIG_DP83867_PHY=m -# CONFIG_DPM_WATCHDOG is not set # revisit this in debug -CONFIG_DPOT_DAC=m -CONFIG_DRAGONRISE_FF=y -CONFIG_DRBD_FAULT_INJECTION=y -CONFIG_DRM_AMD_ACP=y -CONFIG_DRM_AMDGPU_CIK=y -# CONFIG_DRM_AMDGPU_GART_DEBUGFS is not set -CONFIG_DRM_AMDGPU=m -# CONFIG_DRM_AMDGPU_SI is not set -CONFIG_DRM_AMDGPU_USERPTR=y -CONFIG_DRM_AMD_POWERPLAY=y -CONFIG_DRM_ANALOGIX_ANX78XX=m -# CONFIG_DRM_ARCPGU is not set -CONFIG_DRM_AST=m -CONFIG_DRM_BOCHS=m -CONFIG_DRM_CIRRUS_QEMU=m -# CONFIG_DRM_DEBUG_MM_SELFTEST is not set -CONFIG_DRM_DP_AUX_CHARDEV=y -# CONFIG_DRM_DUMB_VGA_DAC is not set -# CONFIG_DRM_DW_HDMI_AHB_AUDIO is not set -# CONFIG_DRM_DW_HDMI_I2S_AUDIO is not set -CONFIG_DRM_FBDEV_EMULATION=y -CONFIG_DRM_FBDEV_OVERALLOC=100 -CONFIG_DRM_HISI_HIBMC=m -CONFIG_DRM_I2C_ADV7511_AUDIO=y -CONFIG_DRM_I2C_ADV7511=m -CONFIG_DRM_I2C_ADV7533=y -CONFIG_DRM_I2C_CH7006=m -CONFIG_DRM_I2C_NXP_TDA998X=m -CONFIG_DRM_I2C_SIL164=m -# CONFIG_DRM_LEGACY is not set -CONFIG_DRM_LOAD_EDID_FIRMWARE=y -# CONFIG_DRM_LVDS_ENCODER is not set -CONFIG_DRM=m -# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set -CONFIG_DRM_MGAG200=m -# CONFIG_DRM_MGA is not set -# CONFIG_DRM_MXSFB is not set -CONFIG_DRM_NOUVEAU_BACKLIGHT=y -CONFIG_DRM_NOUVEAU=m -# CONFIG_DRM_NXP_PTN3460 is not set -# CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set -# CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set -# CONFIG_DRM_PANEL_LG_LG4573 is not set -# CONFIG_DRM_PANEL_LVDS is not set -# CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00 is not set -# CONFIG_DRM_PANEL_SAMSUNG_LD9040 is not set -# CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2 is not set -# CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0 is not set -# CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 is not set -# CONFIG_DRM_PANEL_SHARP_LS043T1LE01 is not set -# CONFIG_DRM_PANEL_SIMPLE is not set -# CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set -CONFIG_DRM_PANEL=y -# CONFIG_DRM_PARADE_PS8622 is not set -CONFIG_DRM_QXL=m -# CONFIG_DRM_R128 is not set -CONFIG_DRM_RADEON=m -CONFIG_DRM_RADEON_USERPTR=y -# CONFIG_DRM_RCAR_DW_HDMI is not set -# CONFIG_DRM_SAVAGE is not set -# CONFIG_DRM_SII902X is not set -CONFIG_DRM_SIL_SII8620=m -# CONFIG_DRM_SIS is not set -# CONFIG_DRM_TDFX is not set -# CONFIG_DRM_TINYDRM is not set -CONFIG_DRM_TI_TFP410=m -# CONFIG_DRM_TOSHIBA_TC358767 is not set -CONFIG_DRM_UDL=m -# CONFIG_DRM_VBOXVIDEO is not set -CONFIG_DRM_VGEM=m -CONFIG_DRM_VIA=m -CONFIG_DRM_VIRTIO_GPU=m -# CONFIG_DS1682 is not set -# CONFIG_DS1803 is not set -# CONFIG_DT3155 is not set -CONFIG_DTL=y -CONFIG_DUMMY_CONSOLE_COLUMNS=80 -CONFIG_DUMMY_CONSOLE_ROWS=25 -CONFIG_DUMMY_CONSOLE=y -# CONFIG_DUMMY_IRQ is not set -CONFIG_DUMMY=m -CONFIG_DVB_AS102=m -CONFIG_DVB_AV7110=m -CONFIG_DVB_AV7110_OSD=y -# CONFIG_DVB_B2C2_FLEXCOP_DEBUG is not set -CONFIG_DVB_B2C2_FLEXCOP=m -# CONFIG_DVB_B2C2_FLEXCOP_PCI_DEBUG is not set -CONFIG_DVB_B2C2_FLEXCOP_PCI=m -# CONFIG_DVB_B2C2_FLEXCOP_USB_DEBUG is not set -CONFIG_DVB_B2C2_FLEXCOP_USB=m -CONFIG_DVB_BT8XX=m -CONFIG_DVB_BUDGET_AV=m -CONFIG_DVB_BUDGET_CI=m -CONFIG_DVB_BUDGET_CORE=m -CONFIG_DVB_BUDGET=m -CONFIG_DVB_BUDGET_PATCH=m -CONFIG_DVB_CORE=m -# CONFIG_DVB_CXD2099 is not set -CONFIG_DVB_DDBRIDGE=m -# CONFIG_DVB_DEMUX_SECTION_LOSS_LOG is not set -CONFIG_DVB_DM1105=m -CONFIG_DVB_DYNAMIC_MINORS=y -CONFIG_DVB_FIREDTV=m -CONFIG_DVB_HOPPER=m -CONFIG_DVB_MANTIS=m -CONFIG_DVB_MAX_ADAPTERS=8 -CONFIG_DVB_MN88472=m -CONFIG_DVB_MN88473=m -CONFIG_DVB_NETUP_UNIDVB=m -CONFIG_DVB_NET=y -CONFIG_DVB_NGENE=m -# CONFIG_DVB_PLATFORM_DRIVERS is not set -CONFIG_DVB_PLUTO2=m -CONFIG_DVB_PT1=m -# CONFIG_DVB_PT3 is not set -# CONFIG_DVB_RTL2832_SDR is not set -CONFIG_DVB_SMIPCIE=m -CONFIG_DVB_TTUSB_BUDGET=m -CONFIG_DVB_TTUSB_DEC=m -CONFIG_DVB_USB_A800=m -CONFIG_DVB_USB_AF9005=m -CONFIG_DVB_USB_AF9005_REMOTE=m -CONFIG_DVB_USB_AF9015=m -CONFIG_DVB_USB_AF9035=m -CONFIG_DVB_USB_ANYSEE=m -CONFIG_DVB_USB_AU6610=m -CONFIG_DVB_USB_AZ6007=m -CONFIG_DVB_USB_AZ6027=m -CONFIG_DVB_USB_CE6230=m -CONFIG_DVB_USB_CINERGY_T2=m -CONFIG_DVB_USB_CXUSB=m -# CONFIG_DVB_USB_DEBUG is not set -CONFIG_DVB_USB_DIB0700=m -# CONFIG_DVB_USB_DIBUSB_MB_FAULTY is not set -CONFIG_DVB_USB_DIBUSB_MB=m -CONFIG_DVB_USB_DIBUSB_MC=m -CONFIG_DVB_USB_DIGITV=m -CONFIG_DVB_USB_DTT200U=m -CONFIG_DVB_USB_DTV5100=m -CONFIG_DVB_USB_DVBSKY=m -CONFIG_DVB_USB_DW2102=m -CONFIG_DVB_USB_EC168=m -CONFIG_DVB_USB_FRIIO=m -CONFIG_DVB_USB_GL861=m -CONFIG_DVB_USB_GP8PSK=m -CONFIG_DVB_USB_LME2510=m -CONFIG_DVB_USB=m -CONFIG_DVB_USB_M920X=m -CONFIG_DVB_USB_MXL111SF=m -CONFIG_DVB_USB_NOVA_T_USB2=m -CONFIG_DVB_USB_OPERA1=m -CONFIG_DVB_USB_PCTV452E=m -CONFIG_DVB_USB_RTL28XXU=m -CONFIG_DVB_USB_TECHNISAT_USB2=m -CONFIG_DVB_USB_TTUSB2=m -CONFIG_DVB_USB_UMT_010=m -CONFIG_DVB_USB_V2=m -CONFIG_DVB_USB_VP702X=m -CONFIG_DVB_USB_VP7045=m -CONFIG_DVB_USB_ZD1301=m -# CONFIG_DW_DMAC_BIG_ENDIAN_IO is not set -CONFIG_DW_DMAC_CORE=m -CONFIG_DW_DMAC=m -CONFIG_DW_DMAC_PCI=m -# CONFIG_DW_WATCHDOG is not set -CONFIG_DYNAMIC_DEBUG=y -CONFIG_DYNAMIC_FTRACE=y -CONFIG_E1000E=m -CONFIG_E1000=m -CONFIG_E100=m -CONFIG_EARLY_PRINTK_DBGP=y -# CONFIG_EARLY_PRINTK_USB_XDBC is not set -# CONFIG_EBC_C384_WDT is not set -CONFIG_ECHO=m -CONFIG_ECRYPT_FS=m -# CONFIG_ECRYPT_FS_MESSAGING is not set -# CONFIG_EDAC_CPC925 is not set -# CONFIG_EDAC_DEBUG is not set -CONFIG_EDAC_GHES=y -CONFIG_EDAC_LEGACY_SYSFS=y -# CONFIG_EDAC_MPC85XX is not set -CONFIG_EDAC=y -CONFIG_EEPROM_93CX6=m -# CONFIG_EEPROM_93XX46 is not set -CONFIG_EEPROM_AT24=m -# CONFIG_EEPROM_AT25 is not set -CONFIG_EEPROM_IDT_89HPESX=m -CONFIG_EEPROM_LEGACY=m -CONFIG_EEPROM_MAX6875=m -# CONFIG_EFI_ALLOW_SECURE_BOOT_EXIT is not set -CONFIG_EFI_PARTITION=y -CONFIG_EFI_PGT_DUMP=y -# CONFIG_EFI_SECURE_BOOT_LOCK_DOWN is not set -# CONFIG_EFI_SIGNATURE_LIST_PARSER is not set -# CONFIG_EFI_TEST is not set -# CONFIG_EFS_FS is not set -CONFIG_EHEA=m -# CONFIG_EMBEDDED is not set -CONFIG_ENABLE_MUST_CHECK=y -# CONFIG_ENABLE_WARN_DEPRECATED is not set -# CONFIG_ENC28J60 is not set -CONFIG_ENCLOSURE_SERVICES=m -CONFIG_ENCRYPTED_KEYS=y -CONFIG_ENIC=m -CONFIG_ENVELOPE_DETECTOR=m -CONFIG_EPIC100=m -CONFIG_EPOLL=y -CONFIG_EQUALIZER=m -CONFIG_ESI_DONGLE=m -CONFIG_ET131X=m -CONFIG_ETHERNET=y -CONFIG_ETHOC=m -# CONFIG_EUROTECH_WDT is not set -# CONFIG_EVM is not set -# CONFIG_EXOFS_DEBUG is not set -# CONFIG_EXOFS_FS is not set -CONFIG_EXPERIMENTAL=y -# CONFIG_EXPERT is not set -CONFIG_EXPORTFS=y -# CONFIG_EXT2_FS is not set -# CONFIG_EXT3_FS is not set -CONFIG_EXT4_DEBUG=y -CONFIG_EXT4_ENCRYPTION=y -CONFIG_EXT4_FS_POSIX_ACL=y -CONFIG_EXT4_FS_SECURITY=y -CONFIG_EXT4_FS=y -CONFIG_EXT4_USE_FOR_EXT2=y -# CONFIG_EXTCON_ADC_JACK is not set -# CONFIG_EXTCON_GPIO is not set -# CONFIG_EXTCON_MAX3355 is not set -# CONFIG_EXTCON_QCOM_SPMI_MISC is not set -# CONFIG_EXTCON_RT8973A is not set -# CONFIG_EXTCON_SM5502 is not set -# CONFIG_EXTCON_USB_GPIO is not set -CONFIG_EXTCON=y -CONFIG_EXTRA_FIRMWARE="" -CONFIG_EXTRA_TARGETS="" -# CONFIG_EZNPS_GIC is not set -# CONFIG_EZX_PCAP is not set -# CONFIG_F2FS_CHECK_FS is not set -# CONFIG_F2FS_FAULT_INJECTION is not set -# CONFIG_F2FS_FS_ENCRYPTION is not set -CONFIG_F2FS_FS=m -CONFIG_F2FS_FS_POSIX_ACL=y -CONFIG_F2FS_FS_SECURITY=y -CONFIG_F2FS_FS_XATTR=y -# CONFIG_F2FS_IO_TRACE is not set -CONFIG_F2FS_STAT_FS=y -CONFIG_FA_DUMP=y -# CONFIG_FAIL_FUTEX is not set -# CONFIG_FAIL_IOMMU is not set -CONFIG_FAIL_IO_TIMEOUT=y -CONFIG_FAIL_MAKE_REQUEST=y -CONFIG_FAIL_MMC_REQUEST=y -CONFIG_FAIL_PAGE_ALLOC=y -CONFIG_FAILSLAB=y -CONFIG_FAIR_GROUP_SCHED=y -CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y -CONFIG_FANOTIFY=y -CONFIG_FAT_DEFAULT_CODEPAGE=437 -CONFIG_FAT_DEFAULT_IOCHARSET="ascii" -# CONFIG_FAT_DEFAULT_UTF8 is not set -CONFIG_FAT_FS=m -CONFIG_FAULT_INJECTION_DEBUG_FS=y -CONFIG_FAULT_INJECTION_STACKTRACE_FILTER=y -CONFIG_FAULT_INJECTION=y -# CONFIG_FB_3DFX is not set -# CONFIG_FB_ARK is not set -# CONFIG_FB_ASILIANT is not set -CONFIG_FB_ATY128_BACKLIGHT=y -# CONFIG_FB_ATY128 is not set -CONFIG_FB_ATY_BACKLIGHT=y -# CONFIG_FB_ATY_CT is not set -# CONFIG_FB_ATY_GX is not set -# CONFIG_FB_ATY is not set -# CONFIG_FB_AUO_K190X is not set -# CONFIG_FB_BROADSHEET is not set -# CONFIG_FB_CARMINE is not set -# CONFIG_FB_CIRRUS is not set -# CONFIG_FB_CONTROL is not set -# CONFIG_FB_CT65550 is not set -# CONFIG_FB_CYBER2000 is not set -CONFIG_FB_EFI=y -# CONFIG_FB_FOREIGN_ENDIAN is not set -# CONFIG_FB_HECUBA is not set -# CONFIG_FB_I740 is not set -CONFIG_FB_IBM_GXT4500=y -# CONFIG_FB_IMSTT is not set -# CONFIG_FB_KYRO is not set -CONFIG_FB_MATROX_G=y -# CONFIG_FB_MATROX_I2C is not set -# CONFIG_FB_MATROX_MILLENIUM is not set -# CONFIG_FB_MATROX_MYSTIQUE is not set -CONFIG_FB_MATROX=y -# CONFIG_FB_MB862XX_I2C is not set -# CONFIG_FB_MB862XX is not set -# CONFIG_FB_MB862XX_LIME is not set -# CONFIG_FB_MB862XX_PCI_GDC is not set -# CONFIG_FB_METRONOME is not set -# CONFIG_FB_MODE_HELPERS is not set -# CONFIG_FB_NEOMAGIC is not set -CONFIG_FB_NVIDIA_BACKLIGHT=y -# CONFIG_FB_NVIDIA_DEBUG is not set -# CONFIG_FB_NVIDIA_I2C is not set -# CONFIG_FB_NVIDIA is not set -CONFIG_FB_OF=y -# CONFIG_FB_OPENCORES is not set -# CONFIG_FB_PLATINUM is not set -# CONFIG_FB_PM2_FIFO_DISCONNECT is not set -# CONFIG_FB_PM2 is not set -# CONFIG_FB_PM3 is not set -# CONFIG_FB_PRE_INIT_FB is not set -CONFIG_FB_RADEON_BACKLIGHT=y -# CONFIG_FB_RADEON_DEBUG is not set -# CONFIG_FB_RADEON_I2C is not set -# CONFIG_FB_RADEON is not set -CONFIG_FB_RIVA_BACKLIGHT=y -# CONFIG_FB_RIVA_DEBUG is not set -# CONFIG_FB_RIVA_I2C is not set -# CONFIG_FB_RIVA is not set -# CONFIG_FB_S1D13XXX is not set -# CONFIG_FB_S3 is not set -# CONFIG_FB_SAVAGE is not set -# CONFIG_FB_SIMPLE is not set -# CONFIG_FB_SIS is not set -# CONFIG_FB_SM501 is not set -# CONFIG_FB_SM712 is not set -# CONFIG_FB_SM750 is not set -# CONFIG_FB_SMSCUFX is not set -CONFIG_FB_SSD1307=m -# CONFIG_FB_TFT is not set -CONFIG_FB_TILEBLITTING=y -# CONFIG_FB_TMIO is not set -# CONFIG_FB_TRIDENT is not set -# CONFIG_FB_UDL is not set -# CONFIG_FB_UVESA is not set -# CONFIG_FB_VALKYRIE is not set -CONFIG_FB_VESA=y -# CONFIG_FB_VGA16 is not set -CONFIG_FB_VIRTUAL=m -# CONFIG_FB_VOODOO1 is not set -# CONFIG_FB_VT8623 is not set -# CONFIG_FB_XGI is not set -CONFIG_FB=y -CONFIG_FCOE_FNIC=m -CONFIG_FCOE=m -# CONFIG_FDDI is not set -CONFIG_FEALNX=m -CONFIG_FHANDLE=y -# CONFIG_FHCI_DEBUG is not set -CONFIG_FIREWIRE=m -CONFIG_FIREWIRE_NET=m -CONFIG_FIREWIRE_NOSY=m -CONFIG_FIREWIRE_OHCI=m -CONFIG_FIREWIRE_SBP2=m -# CONFIG_FIREWIRE_SERIAL is not set -# CONFIG_FIRMWARE_EDID is not set -# CONFIG_FIRMWARE_IN_KERNEL is not set -CONFIG_FIXED_PHY=y -CONFIG_FM10K=m -CONFIG_FMC_CHARDEV=m -CONFIG_FMC_FAKEDEV=m -CONFIG_FMC=m -CONFIG_FMC_TRIVIAL=m -CONFIG_FMC_WRITE_EEPROM=m -# CONFIG_FONTS is not set -CONFIG_FORCEDETH=m -CONFIG_FORCE_MAX_ZONEORDER=9 -CONFIG_FORTIFY_SOURCE=y -# CONFIG_FPGA is not set -CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y -CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y -CONFIG_FRAMEBUFFER_CONSOLE=y -CONFIG_FRAME_POINTER=y -CONFIG_FRAME_WARN=2048 -CONFIG_FRONTSWAP=y -# CONFIG_FSCACHE_DEBUG is not set -# CONFIG_FSCACHE_HISTOGRAM is not set -CONFIG_FSCACHE=m -CONFIG_FSCACHE_OBJECT_LIST=y -CONFIG_FSCACHE_STATS=y -CONFIG_FS_DAX=y -CONFIG_FS_ENCRYPTION=y -# CONFIG_FS_ENET is not set -CONFIG_FSI=m -CONFIG_FSI_MASTER_GPIO=m -CONFIG_FSI_MASTER_HUB=m -CONFIG_FSI_SCOM=m -# CONFIG_FSL_DMA is not set -# CONFIG_FSL_EDMA is not set -# CONFIG_FSL_LBC is not set -# CONFIG_FSL_PQ_MDIO is not set -CONFIG_FS_MBCACHE=y -CONFIG_FSNOTIFY=y -# CONFIG_FTL is not set -CONFIG_FTRACE_MCOUNT_RECORD=y -# CONFIG_FTRACE_STARTUP_TEST is not set -CONFIG_FTRACE_SYSCALLS=y -CONFIG_FTRACE=y -# CONFIG_FTR_FIXUP_SELFTEST is not set -# CONFIG_FUNCTION_GRAPH_TRACER is not set -CONFIG_FUNCTION_PROFILER=y -CONFIG_FUNCTION_TRACER=y -CONFIG_FUSE_FS=m -CONFIG_FUSION_CTL=m -CONFIG_FUSION_FC=m -CONFIG_FUSION_LAN=m -CONFIG_FUSION_LOGGING=y -CONFIG_FUSION_MAX_SGE=40 -CONFIG_FUSION_SAS=m -CONFIG_FUSION_SPI=m -CONFIG_FUSION=y -CONFIG_FUTEX=y -# CONFIG_FW_CFG_SYSFS_CMDLINE is not set -CONFIG_FW_CFG_SYSFS=m -# CONFIG_FW_LOADER_USER_HELPER_FALLBACK is not set -# CONFIG_FW_LOADER_USER_HELPER is not set -CONFIG_FW_LOADER=y -CONFIG_GACT_PROB=y -CONFIG_GAMEPORT_EMU10K1=m -CONFIG_GAMEPORT_FM801=m -CONFIG_GAMEPORT_L4=m -CONFIG_GAMEPORT=m -CONFIG_GAMEPORT_NS558=m -# CONFIG_GCC_PLUGINS is not set -# CONFIG_GCOV_KERNEL is not set -# CONFIG_GDB_SCRIPTS is not set -# CONFIG_GEF_PPC9A is not set -# CONFIG_GEF_SBC310 is not set -# CONFIG_GEF_SBC610 is not set -# CONFIG_GENERIC_ADC_BATTERY is not set -# CONFIG_GENERIC_ADC_THERMAL is not set -# CONFIG_GENERIC_IRQ_DEBUGFS is not set -CONFIG_GENERIC_PHY=y -CONFIG_GENEVE=m -# CONFIG_GEN_RTC is not set -CONFIG_GENWQE=m -CONFIG_GENWQE_PLATFORM_ERROR_RECOVERY=1 -CONFIG_GFS2_FS_LOCKING_DLM=y -CONFIG_GFS2_FS=m -CONFIG_GIGASET_BASE=m -CONFIG_GIGASET_CAPI=y -# CONFIG_GIGASET_DEBUG is not set -CONFIG_GIGASET_M101=m -CONFIG_GIGASET_M105=m -CONFIG_GIRBIL_DONGLE=m -# CONFIG_GLOB_SELFTEST is not set -# CONFIG_GOLDFISH is not set -# CONFIG_GOOGLE_FIRMWARE is not set -# CONFIG_GP2AP020A00F is not set -# CONFIG_GPIO_104_DIO_48E is not set -# CONFIG_GPIO_104_IDIO_16 is not set -# CONFIG_GPIO_74X164 is not set -# CONFIG_GPIO_74XX_MMIO is not set -# CONFIG_GPIO_ADNP is not set -# CONFIG_GPIO_ADP5588 is not set -# CONFIG_GPIO_ALTERA is not set -# CONFIG_GPIO_AMDPT is not set -# CONFIG_GPIO_BT8XX is not set -# CONFIG_GPIO_DWAPB is not set -CONFIG_GPIO_EXAR=m -# CONFIG_GPIO_FTGPIO010 is not set -# CONFIG_GPIO_GENERIC_PLATFORM is not set -# CONFIG_GPIO_GRGPIO is not set -CONFIG_GPIO_IT87=m -CONFIG_GPIOLIB=y -# CONFIG_GPIO_MAX7300 is not set -# CONFIG_GPIO_MAX7301 is not set -# CONFIG_GPIO_MAX732X is not set -# CONFIG_GPIO_MC33880 is not set -# CONFIG_GPIO_MCP23S08 is not set -# CONFIG_GPIO_MOCKUP is not set -# CONFIG_GPIO_MPC8XXX is not set -CONFIG_GPIO_PCA953X=m -CONFIG_GPIO_PCF857X=m -# CONFIG_GPIO_PCH is not set -CONFIG_GPIO_PCI_IDIO_16=m -# CONFIG_GPIO_PISOSR is not set -# CONFIG_GPIO_RDC321X is not set -# CONFIG_GPIO_SCH311X is not set -# CONFIG_GPIO_SX150X is not set -# CONFIG_GPIO_SYSCON is not set -# CONFIG_GPIO_SYSFS is not set -# CONFIG_GPIO_TPIC2810 is not set -# CONFIG_GPIO_TS4900 is not set -# CONFIG_GPIO_TS5500 is not set -# CONFIG_GPIO_UCB1400 is not set -CONFIG_GPIO_VIPERBOARD=m -# CONFIG_GPIO_WATCHDOG is not set -CONFIG_GPIO_WM831X=m -# CONFIG_GPIO_WS16C48 is not set -# CONFIG_GPIO_XILINX is not set -# CONFIG_GPIO_XRA1403 is not set -CONFIG_GREENASIA_FF=y -# CONFIG_GREYBUS is not set -# CONFIG_GS_FPGABOOT is not set -CONFIG_GTP=m -CONFIG_HAMACHI=m -CONFIG_HAMRADIO=y -CONFIG_HANGCHECK_TIMER=m -CONFIG_HAPPYMEAL=m -CONFIG_HARDENED_USERCOPY=y -CONFIG_HARDLOCKUP_DETECTOR=y -CONFIG_HAVE_BOOTMEM_INFO_NODE=y -# CONFIG_HCALL_STATS is not set -CONFIG_HD44780=m -# CONFIG_HDC100X is not set -CONFIG_HEADERS_CHECK=y -CONFIG_HERMES_CACHE_FW_ON_INIT=y -CONFIG_HERMES=m -CONFIG_HERMES_PRISM=y -CONFIG_HFS_FS=m -CONFIG_HFSPLUS_FS=m -# CONFIG_HFSPLUS_FS_POSIX_ACL is not set -# CONFIG_HI8435 is not set -# CONFIG_HIBERNATION is not set -CONFIG_HID_A4TECH=m -CONFIG_HID_ACCUTOUCH=m -CONFIG_HID_ACRUX_FF=y -CONFIG_HID_ACRUX=m -CONFIG_HID_ALPS=m -CONFIG_HID_APPLEIR=m -CONFIG_HID_APPLE=m -CONFIG_HID_ASUS=m -CONFIG_HID_AUREAL=m -CONFIG_HID_BATTERY_STRENGTH=y -CONFIG_HID_BELKIN=m -CONFIG_HID_BETOP_FF=m -CONFIG_HID_CHERRY=m -CONFIG_HID_CHICONY=m -CONFIG_HID_CMEDIA=m -CONFIG_HID_CORSAIR=m -# CONFIG_HID_CP2112 is not set -CONFIG_HID_CYPRESS=m -CONFIG_HID_DRAGONRISE=m -CONFIG_HID_ELECOM=m -CONFIG_HID_ELO=m -CONFIG_HID_EMS_FF=m -CONFIG_HID_EZKEY=m -CONFIG_HID_GEMBIRD=m -CONFIG_HID_GENERIC=y -CONFIG_HID_GFRM=m -CONFIG_HID_GREENASIA=m -CONFIG_HID_GT683R=m -CONFIG_HID_GYRATION=m -CONFIG_HID_HOLTEK=m -CONFIG_HID_ICADE=m -CONFIG_HID_ITE=m -CONFIG_HID_KENSINGTON=m -CONFIG_HID_KEYTOUCH=m -CONFIG_HID_KYE=m -CONFIG_HID_LCPOWER=m -CONFIG_HID_LED=m -CONFIG_HID_LENOVO=m -CONFIG_HID_LOGITECH_DJ=m -CONFIG_HID_LOGITECH_HIDPP=m -CONFIG_HID_LOGITECH=m -CONFIG_HID_MAGICMOUSE=y -CONFIG_HID_MAYFLASH=m -CONFIG_HID_MICROSOFT=m -CONFIG_HID_MONTEREY=m -CONFIG_HID_MULTITOUCH=m -CONFIG_HID_NTI=m -CONFIG_HID_NTRIG=y -CONFIG_HID_ORTEK=m -CONFIG_HID_PANTHERLORD=m -CONFIG_HID_PENMOUNT=m -CONFIG_HID_PETALYNX=m -CONFIG_HID_PICOLCD=m -CONFIG_HID_PID=y -CONFIG_HID_PLANTRONICS=m -CONFIG_HID_PRIMAX=m -CONFIG_HID_PRODIKEYS=m -CONFIG_HIDRAW=y -CONFIG_HID_RETRODE=m -CONFIG_HID_RMI=m -CONFIG_HID_ROCCAT=m -CONFIG_HID_SAITEK=m -CONFIG_HID_SAMSUNG=m -CONFIG_HID_SENSOR_ACCEL_3D=m -CONFIG_HID_SENSOR_ALS=m -# CONFIG_HID_SENSOR_CUSTOM_SENSOR is not set -CONFIG_HID_SENSOR_DEVICE_ROTATION=m -CONFIG_HID_SENSOR_GYRO_3D=m -CONFIG_HID_SENSOR_HUB=m -CONFIG_HID_SENSOR_HUMIDITY=m -CONFIG_HID_SENSOR_IIO_COMMON=m -CONFIG_HID_SENSOR_IIO_TRIGGER=m -CONFIG_HID_SENSOR_INCLINOMETER_3D=m -CONFIG_HID_SENSOR_MAGNETOMETER_3D=m -# CONFIG_HID_SENSOR_PRESS is not set -# CONFIG_HID_SENSOR_PROX is not set -CONFIG_HID_SENSOR_TEMP=m -CONFIG_HID_SMARTJOYPLUS=m -CONFIG_HID_SONY=m -CONFIG_HID_SPEEDLINK=m -CONFIG_HID_STEELSERIES=m -CONFIG_HID_SUNPLUS=m -CONFIG_HID_THINGM=m -CONFIG_HID_THRUSTMASTER=m -CONFIG_HID_TIVO=m -CONFIG_HID_TOPSEED=m -CONFIG_HID_TWINHAN=m -CONFIG_HID_UCLOGIC=m -CONFIG_HID_UDRAW_PS3=m -CONFIG_HID_WACOM=m -CONFIG_HID_WALTOP=m -CONFIG_HID_WIIMOTE=m -CONFIG_HID_XINMO=m -CONFIG_HID=y -CONFIG_HID_ZEROPLUS=m -CONFIG_HID_ZYDACRON=m -CONFIG_HIGH_RES_TIMERS=y -# CONFIG_HIPPI is not set -CONFIG_HISAX_16_3=y -CONFIG_HISAX_1TR6=y -CONFIG_HISAX_AVM_A1_CS=m -CONFIG_HISAX_AVM_A1_PCMCIA=y -CONFIG_HISAX_BKM_A4T=y -# CONFIG_HISAX_DEBUG is not set -CONFIG_HISAX_DIEHLDIVA=y -CONFIG_HISAX_ELSA_CS=m -CONFIG_HISAX_ELSA=y -CONFIG_HISAX_ENTERNOW_PCI=y -CONFIG_HISAX_EURO=y -CONFIG_HISAX_FRITZ_PCIPNP=m -CONFIG_HISAX_FRITZPCI=y -CONFIG_HISAX_GAZEL=y -CONFIG_HISAX_HFC4S8S=m -CONFIG_HISAX_HFC_PCI=y -CONFIG_HISAX_HFC_SX=y -# CONFIG_HISAX_HFCUSB is not set -CONFIG_HISAX_MAX_CARDS=8 -CONFIG_HISAX_NETJET_U=y -CONFIG_HISAX_NETJET=y -CONFIG_HISAX_NI1=y -CONFIG_HISAX_NICCY=y -CONFIG_HISAX_NO_KEYPAD=y -CONFIG_HISAX_NO_LLC=y -CONFIG_HISAX_NO_SENDCOMPLETE=y -CONFIG_HISAX_S0BOX=y -CONFIG_HISAX_SCT_QUADRO=y -CONFIG_HISAX_SEDLBAUER_CS=m -CONFIG_HISAX_SEDLBAUER=y -CONFIG_HISAX_ST5481=m -CONFIG_HISAX_TELES_CS=m -CONFIG_HISAX_TELESPCI=y -CONFIG_HISAX_W6692=y -CONFIG_HIST_TRIGGERS=y -# CONFIG_HMC6352 is not set -# CONFIG_HMC_DRV is not set -CONFIG_HOLTEK_FF=y -# CONFIG_HOSTAP is not set -CONFIG_HOTPLUG_CPU=y -CONFIG_HOTPLUG_PCI_ACPI_IBM=m -CONFIG_HOTPLUG_PCI_ACPI=y -# CONFIG_HOTPLUG_PCI_CPCI is not set -CONFIG_HOTPLUG_PCI_PCIE=y -# CONFIG_HOTPLUG_PCI_POWERNV is not set -CONFIG_HOTPLUG_PCI_RPA_DLPAR=m -CONFIG_HOTPLUG_PCI_RPA=m -CONFIG_HOTPLUG_PCI_SHPC=m -CONFIG_HOTPLUG_PCI=y -CONFIG_HOTPLUG=y -# CONFIG_HP03 is not set -# CONFIG_HP206C is not set -# CONFIG_HPFS_FS is not set -# CONFIG_HP_ILO is not set -# CONFIG_HSI is not set -# CONFIG_HSR is not set -# CONFIG_HSU_DMA is not set -# CONFIG_HSU_DMA_PCI is not set -CONFIG_HT16K33=m -# CONFIG_HTC_EGPIO is not set -# CONFIG_HTC_I2CPLD is not set -# CONFIG_HTC_PASIC3 is not set -CONFIG_HT_IRQ=y -CONFIG_HTS221=m -# CONFIG_HTU21 is not set -CONFIG_HUGETLBFS=y -CONFIG_HUGETLB_PAGE=y -CONFIG_HVC_CONSOLE=y -# CONFIG_HVC_OLD_HVSI is not set -CONFIG_HVC_OPAL=y -CONFIG_HVC_RTAS=y -CONFIG_HVCS=m -# CONFIG_HVC_UDBG is not set -CONFIG_HV_PERF_CTRS=y -CONFIG_HW_CONSOLE=y -CONFIG_HWLAT_TRACER=y -# CONFIG_HWMON_DEBUG_CHIP is not set -CONFIG_HWMON=y -CONFIG_HWPOISON_INJECT=m -CONFIG_HW_RANDOM_POWERNV=m -CONFIG_HW_RANDOM_PSERIES=m -CONFIG_HW_RANDOM_TIMERIOMEM=m -CONFIG_HW_RANDOM_TPM=m -CONFIG_HW_RANDOM_VIRTIO=m -CONFIG_HW_RANDOM=y -CONFIG_HWSPINLOCK=m -# CONFIG_HX711 is not set -CONFIG_HYSDN_CAPI=y -CONFIG_HYSDN=m -CONFIG_HZ=100 -# CONFIG_HZ_1000 is not set -CONFIG_HZ_100=y -CONFIG_I2C_ALGOBIT=m -CONFIG_I2C_ALGOPCA=m -CONFIG_I2C_ALGOPCF=m -# CONFIG_I2C_ALI1535 is not set -# CONFIG_I2C_ALI1563 is not set -# CONFIG_I2C_ALI15X3 is not set -# CONFIG_I2C_AMD756 is not set -# CONFIG_I2C_AMD756_S4882 is not set -# CONFIG_I2C_AMD8111 is not set -# CONFIG_I2C_ARB_GPIO_CHALLENGE is not set -# CONFIG_I2C_BCM2048 is not set -# CONFIG_I2C_CADENCE is not set -# CONFIG_I2C_CBUS_GPIO is not set -CONFIG_I2C_CHARDEV=m -CONFIG_I2C_COMPAT=y -# CONFIG_I2C_CPM is not set -# CONFIG_I2C_DEBUG_ALGO is not set -# CONFIG_I2C_DEBUG_BUS is not set -# CONFIG_I2C_DEBUG_CORE is not set -# CONFIG_I2C_DEMUX_PINCTRL is not set -# CONFIG_I2C_DESIGNWARE is not set -CONFIG_I2C_DESIGNWARE_PCI=m -# CONFIG_I2C_DESIGNWARE_PLATFORM is not set -CONFIG_I2C_DESIGNWARE_SLAVE=y -CONFIG_I2C_DIOLAN_U2C=m -# CONFIG_I2C_EG20T is not set -# CONFIG_I2C_EMEV2 is not set -# CONFIG_I2C_GPIO is not set -CONFIG_I2C_HELPER_AUTO=y -CONFIG_I2C_HID=m -# CONFIG_I2C_I801 is not set -# CONFIG_I2C_ISCH is not set -CONFIG_I2C=m -CONFIG_I2C_MLXCPLD=m -CONFIG_I2C_MPC=m -# CONFIG_I2C_MUX_GPIO is not set -CONFIG_I2C_MUX_GPMUX=m -CONFIG_I2C_MUX_LTC4306=m -CONFIG_I2C_MUX=m -CONFIG_I2C_MUX_MLXCPLD=m -# CONFIG_I2C_MUX_PCA9541 is not set -# CONFIG_I2C_MUX_PCA954x is not set -# CONFIG_I2C_MUX_PINCTRL is not set -# CONFIG_I2C_MUX_REG is not set -CONFIG_I2C_NFORCE2=m -# CONFIG_I2C_NFORCE2_S4985 is not set -# CONFIG_I2C_OCORES is not set -CONFIG_I2C_OPAL=m -CONFIG_I2C_PARPORT_LIGHT=m -CONFIG_I2C_PARPORT=m -CONFIG_I2C_PCA_PLATFORM=m -# CONFIG_I2C_PIIX4 is not set -# CONFIG_I2C_RK3X is not set -# CONFIG_I2C_ROBOTFUZZ_OSIF is not set -CONFIG_I2C_SI470X=m -# CONFIG_I2C_SI4713 is not set -CONFIG_I2C_SIMTEC=m -# CONFIG_I2C_SIS5595 is not set -# CONFIG_I2C_SIS630 is not set -# CONFIG_I2C_SIS96X is not set -CONFIG_I2C_SLAVE_EEPROM=m -CONFIG_I2C_SLAVE=y -CONFIG_I2C_STUB=m -# CONFIG_I2C_TAOS_EVM is not set -CONFIG_I2C_TINY_USB=m -# CONFIG_I2C_VIA is not set -# CONFIG_I2C_VIAPRO is not set -CONFIG_I2C_VIPERBOARD=m -# CONFIG_I2C_XILINX is not set -# CONFIG_I2O is not set -# CONFIG_I40E_DCB is not set -# CONFIG_I40E_FCOE is not set -CONFIG_I40E=m -CONFIG_I40EVF=m -CONFIG_I6300ESB_WDT=m -CONFIG_I82092=m -# CONFIG_IAQCORE is not set -CONFIG_IBM_BSR=m -CONFIG_IBMEBUS=y -# CONFIG_IBM_EMAC is not set -CONFIG_IBMVETH=m -CONFIG_IBMVNIC=m -CONFIG_ICPLUS_PHY=m -# CONFIG_ICS932S401 is not set -# CONFIG_IDE is not set -# CONFIG_IDEPCI_PCIBUS_ORDER is not set -# CONFIG_IDLE_PAGE_TRACKING is not set -# CONFIG_IDMA64 is not set -CONFIG_IEEE802154_6LOWPAN=m -CONFIG_IEEE802154_ADF7242=m -# CONFIG_IEEE802154_AT86RF230_DEBUGFS is not set -CONFIG_IEEE802154_AT86RF230=m -CONFIG_IEEE802154_ATUSB=m -# CONFIG_IEEE802154_CA8210_DEBUGFS is not set -CONFIG_IEEE802154_CA8210=m -CONFIG_IEEE802154_CC2520=m -CONFIG_IEEE802154_DRIVERS=m -CONFIG_IEEE802154_FAKELB=m -CONFIG_IEEE802154=m -CONFIG_IEEE802154_MRF24J40=m -# CONFIG_IEEE802154_NL802154_EXPERIMENTAL is not set -CONFIG_IEEE802154_SOCKET=m -CONFIG_IFB=m -CONFIG_IGB_DCA=y -CONFIG_IGB_HWMON=y -CONFIG_IGB=m -CONFIG_IGBVF=m -CONFIG_IIO_BUFFER_CB=m -CONFIG_IIO_BUFFER=y -CONFIG_IIO_CONFIGFS=m -CONFIG_IIO_CONSUMERS_PER_TRIGGER=2 -# CONFIG_IIO_HRTIMER_TRIGGER is not set -CONFIG_IIO_INTERRUPT_TRIGGER=m -CONFIG_IIO_KFIFO_BUF=m -CONFIG_IIO=m -CONFIG_IIO_MUX=m -# CONFIG_IIO_SIMPLE_DUMMY is not set -# CONFIG_IIO_SSP_SENSORHUB is not set -CONFIG_IIO_ST_ACCEL_3AXIS=m -CONFIG_IIO_ST_ACCEL_I2C_3AXIS=m -CONFIG_IIO_ST_ACCEL_SPI_3AXIS=m -CONFIG_IIO_ST_GYRO_3AXIS=m -CONFIG_IIO_ST_GYRO_I2C_3AXIS=m -CONFIG_IIO_ST_GYRO_SPI_3AXIS=m -# CONFIG_IIO_ST_LSM6DSX is not set -CONFIG_IIO_ST_MAGN_3AXIS=m -# CONFIG_IIO_ST_PRESS is not set -CONFIG_IIO_SW_DEVICE=m -CONFIG_IIO_SW_TRIGGER=m -# CONFIG_IIO_SYSFS_TRIGGER is not set -CONFIG_IIO_TIGHTLOOP_TRIGGER=m -CONFIG_IIO_TRIGGERED_BUFFER=m -CONFIG_IIO_TRIGGER=y -# CONFIG_IKCONFIG is not set -# CONFIG_IMA is not set -CONFIG_IMA_LSM_RULES=y -CONFIG_IMA_MEASURE_PCR_IDX=10 -# CONFIG_IMG_ASCII_LCD is not set -# CONFIG_INA2XX_ADC is not set -CONFIG_INET6_AH=m -CONFIG_INET6_ESP=m -CONFIG_INET6_ESP_OFFLOAD=m -CONFIG_INET6_IPCOMP=m -CONFIG_INET6_XFRM_MODE_BEET=m -CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m -CONFIG_INET6_XFRM_MODE_TRANSPORT=m -CONFIG_INET6_XFRM_MODE_TUNNEL=m -CONFIG_INET_AH=m -CONFIG_INET_DIAG_DESTROY=y -CONFIG_INET_DIAG=m -CONFIG_INET_ESP=m -CONFIG_INET_ESP_OFFLOAD=m -CONFIG_INET_IPCOMP=m -CONFIG_INET_RAW_DIAG=m -CONFIG_INET_TUNNEL=m -CONFIG_INET_UDP_DIAG=m -CONFIG_INET_XFRM_MODE_BEET=m -CONFIG_INET_XFRM_MODE_TRANSPORT=m -CONFIG_INET_XFRM_MODE_TUNNEL=m -CONFIG_INET=y -# CONFIG_INFINIBAND_BNXT_RE is not set -# CONFIG_INFINIBAND_CXGB3_DEBUG is not set -CONFIG_INFINIBAND_CXGB3=m -CONFIG_INFINIBAND_CXGB4=m -CONFIG_INFINIBAND_I40IW=m -CONFIG_INFINIBAND_IPOIB_CM=y -CONFIG_INFINIBAND_IPOIB_DEBUG_DATA=y -CONFIG_INFINIBAND_IPOIB_DEBUG=y -CONFIG_INFINIBAND_IPOIB=m -CONFIG_INFINIBAND_ISER=m -CONFIG_INFINIBAND_ISERT=m -CONFIG_INFINIBAND=m -CONFIG_INFINIBAND_MTHCA=m -# CONFIG_INFINIBAND_NES_DEBUG is not set -CONFIG_INFINIBAND_NES=m -CONFIG_INFINIBAND_OCRDMA=m -CONFIG_INFINIBAND_ON_DEMAND_PAGING=y -# CONFIG_INFINIBAND_QEDR is not set -CONFIG_INFINIBAND_QIB_DCA=y -CONFIG_INFINIBAND_QIB=m -CONFIG_INFINIBAND_RDMAVT=m -CONFIG_INFINIBAND_SRP=m -CONFIG_INFINIBAND_SRPT=m -CONFIG_INFINIBAND_USER_ACCESS=m -CONFIG_INFINIBAND_USER_MAD=m -CONFIG_INFINIBAND_USNIC=m -# CONFIG_INFINIBAND_VMWARE_PVRDMA is not set -# CONFIG_INFTL is not set -CONFIG_INITRAMFS_SOURCE="" -CONFIG_INOTIFY_USER=y -CONFIG_INOTIFY=y -# CONFIG_INPUT_AD714X is not set -# CONFIG_INPUT_ADXL34X is not set -CONFIG_INPUT_APANEL=m -CONFIG_INPUT_ATI_REMOTE2=m -CONFIG_INPUT_ATLAS_BTNS=m -# CONFIG_INPUT_ATMEL_CAPTOUCH is not set -# CONFIG_INPUT_BMA150 is not set -CONFIG_INPUT_CM109=m -CONFIG_INPUT_CMA3000_I2C=m -CONFIG_INPUT_CMA3000=m -# CONFIG_INPUT_DRV260X_HAPTICS is not set -# CONFIG_INPUT_DRV2665_HAPTICS is not set -# CONFIG_INPUT_DRV2667_HAPTICS is not set -CONFIG_INPUT_E3X0_BUTTON=m -# CONFIG_INPUT_EVBUG is not set -CONFIG_INPUT_EVDEV=y -CONFIG_INPUT_FF_MEMLESS=m -# CONFIG_INPUT_GP2A is not set -# CONFIG_INPUT_GPIO_BEEPER is not set -# CONFIG_INPUT_GPIO_DECODER is not set -# CONFIG_INPUT_GPIO is not set -CONFIG_INPUT_GPIO_ROTARY_ENCODER=m -# CONFIG_INPUT_GPIO_TILT_POLLED is not set -CONFIG_INPUT_IDEAPAD_SLIDEBAR=m -# CONFIG_INPUT_IMS_PCU is not set -CONFIG_INPUT_JOYDEV=m -CONFIG_INPUT_JOYSTICK=y -CONFIG_INPUT_KEYBOARD=y -CONFIG_INPUT_KEYSPAN_REMOTE=m -CONFIG_INPUT_KXTJ9=m -# CONFIG_INPUT_KXTJ9_POLLED_MODE is not set -CONFIG_INPUT_LEDS=y -CONFIG_INPUT_MATRIXKMAP=m -CONFIG_INPUT_MISC=y -# CONFIG_INPUT_MMA8450 is not set -# CONFIG_INPUT_MOUSEDEV_PSAUX is not set -CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 -CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 -CONFIG_INPUT_MOUSEDEV=y -CONFIG_INPUT_MOUSE=y -CONFIG_INPUT_PCF50633_PMU=m -# CONFIG_INPUT_PCF8574 is not set -# CONFIG_INPUT_PCSPKR is not set -CONFIG_INPUT_PM8XXX_VIBRATOR=m -CONFIG_INPUT_PMIC8XXX_PWRKEY=m -CONFIG_INPUT_POLLDEV=m -CONFIG_INPUT_POWERMATE=m -CONFIG_INPUT_PWM_BEEPER=m -CONFIG_INPUT_RETU_PWRBUTTON=m -CONFIG_INPUT_SPARSEKMAP=m -CONFIG_INPUT_TABLET=y -CONFIG_INPUT_TOUCHSCREEN=y -CONFIG_INPUT_UINPUT=m -CONFIG_INPUT_WISTRON_BTNS=m -CONFIG_INPUT_WM831X_ON=m -CONFIG_INPUT=y -CONFIG_INPUT_YEALINK=m -# CONFIG_INTEGRITY is not set -# CONFIG_INTEL_IDMA64 is not set -# CONFIG_INTEL_SOC_PMIC is not set -# CONFIG_INTEL_TH is not set -CONFIG_INTEL_XWAY_PHY=m -# CONFIG_INTERVAL_TREE_TEST is not set -# CONFIG_INV_MPU6050_I2C is not set -# CONFIG_INV_MPU6050_IIO is not set -# CONFIG_INV_MPU6050_SPI is not set -CONFIG_IO_EVENT_IRQ=y -CONFIG_IOMMU_SUPPORT=y -CONFIG_IOSCHED_BFQ=m -CONFIG_IOSCHED_CFQ=y -CONFIG_IOSCHED_DEADLINE=y -CONFIG_IOSCHED_NOOP=y -CONFIG_IO_STRICT_DEVMEM=y -CONFIG_IP6_NF_FILTER=m -CONFIG_IP6_NF_IPTABLES=m -CONFIG_IP6_NF_MANGLE=m -CONFIG_IP6_NF_MATCH_AH=m -CONFIG_IP6_NF_MATCH_EUI64=m -CONFIG_IP6_NF_MATCH_FRAG=m -CONFIG_IP6_NF_MATCH_HL=m -CONFIG_IP6_NF_MATCH_IPV6HEADER=m -CONFIG_IP6_NF_MATCH_MH=m -CONFIG_IP6_NF_MATCH_OPTS=m -CONFIG_IP6_NF_MATCH_RPFILTER=m -CONFIG_IP6_NF_MATCH_RT=m -CONFIG_IP6_NF_NAT=m -CONFIG_IP6_NF_RAW=m -CONFIG_IP6_NF_SECURITY=m -CONFIG_IP6_NF_TARGET_HL=m -CONFIG_IP6_NF_TARGET_MASQUERADE=m -# CONFIG_IP6_NF_TARGET_NPT is not set -CONFIG_IP6_NF_TARGET_REJECT=m -CONFIG_IP6_NF_TARGET_SYNPROXY=m -# CONFIG_IPACK_BUS is not set -CONFIG_IP_ADVANCED_ROUTER=y -CONFIG_IPC_NS=y -# CONFIG_IP_DCCP_CCID2_DEBUG is not set -CONFIG_IP_DCCP_CCID2=m -# CONFIG_IP_DCCP_CCID3_DEBUG is not set -CONFIG_IP_DCCP_CCID3=y -# CONFIG_IP_DCCP_DEBUG is not set -CONFIG_IP_DCCP=m -CONFIG_IPDDP_ENCAP=y -CONFIG_IPDDP=m -CONFIG_IP_FIB_TRIE_STATS=y -CONFIG_IPMI_DEVICE_INTERFACE=m -CONFIG_IPMI_HANDLER=m -# CONFIG_IPMI_PANIC_EVENT is not set -CONFIG_IPMI_POWERNV=m -CONFIG_IPMI_POWEROFF=m -CONFIG_IPMI_SI=m -CONFIG_IPMI_SSIF=m -CONFIG_IPMI_WATCHDOG=m -CONFIG_IP_MROUTE_MULTIPLE_TABLES=y -CONFIG_IP_MROUTE=y -CONFIG_IP_MULTICAST=y -CONFIG_IP_MULTIPLE_TABLES=y -CONFIG_IP_NF_ARPFILTER=m -CONFIG_IP_NF_ARP_MANGLE=m -CONFIG_IP_NF_ARPTABLES=m -CONFIG_IP_NF_FILTER=y -CONFIG_IP_NF_IPTABLES=y -CONFIG_IP_NF_MANGLE=m -CONFIG_IP_NF_MATCH_AH=m -CONFIG_IP_NF_MATCH_ECN=m -CONFIG_IP_NF_MATCH_RPFILTER=m -CONFIG_IP_NF_MATCH_TTL=m -CONFIG_IP_NF_NAT=m -CONFIG_IP_NF_RAW=m -CONFIG_IP_NF_SECURITY=m -CONFIG_IP_NF_TARGET_CLUSTERIP=m -CONFIG_IP_NF_TARGET_ECN=m -CONFIG_IP_NF_TARGET_MASQUERADE=m -CONFIG_IP_NF_TARGET_NETMAP=m -CONFIG_IP_NF_TARGET_REDIRECT=m -CONFIG_IP_NF_TARGET_REJECT=y -CONFIG_IP_NF_TARGET_SYNPROXY=m -CONFIG_IP_NF_TARGET_TTL=m -CONFIG_IP_PIMSM_V1=y -CONFIG_IP_PIMSM_V2=y -# CONFIG_IP_PNP is not set -CONFIG_IPPP_FILTER=y -CONFIG_IP_ROUTE_MULTIPATH=y -CONFIG_IP_ROUTE_VERBOSE=y -CONFIG_IP_SCTP=m -CONFIG_IP_SET_BITMAP_IP=m -CONFIG_IP_SET_BITMAP_IPMAC=m -CONFIG_IP_SET_BITMAP_PORT=m -CONFIG_IP_SET_HASH_IP=m -CONFIG_IP_SET_HASH_IPMAC=m -CONFIG_IP_SET_HASH_IPMARK=m -CONFIG_IP_SET_HASH_IPPORTIP=m -CONFIG_IP_SET_HASH_IPPORT=m -CONFIG_IP_SET_HASH_IPPORTNET=m -CONFIG_IP_SET_HASH_MAC=m -CONFIG_IP_SET_HASH_NETIFACE=m -CONFIG_IP_SET_HASH_NET=m -CONFIG_IP_SET_HASH_NETNET=m -CONFIG_IP_SET_HASH_NETPORT=m -CONFIG_IP_SET_HASH_NETPORTNET=m -CONFIG_IP_SET_LIST_SET=m -CONFIG_IP_SET=m -CONFIG_IP_SET_MAX=256 -CONFIG_IPV6_GRE=m -CONFIG_IPV6_ILA=m -CONFIG_IPV6_MIP6=y -CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y -CONFIG_IPV6_MROUTE=y -CONFIG_IPV6_MULTIPLE_TABLES=y -CONFIG_IPV6_OPTIMISTIC_DAD=y -CONFIG_IPV6_PIMSM_V2=y -CONFIG_IPV6_ROUTE_INFO=y -CONFIG_IPV6_ROUTER_PREF=y -CONFIG_IPV6_SEG6_HMAC=y -CONFIG_IPV6_SEG6_INLINE=y -CONFIG_IPV6_SEG6_LWTUNNEL=y -CONFIG_IPV6_SIT_6RD=y -CONFIG_IPV6_SIT=m -CONFIG_IPV6_SUBTREES=y -CONFIG_IPV6_TUNNEL=m -CONFIG_IPV6_VTI=m -CONFIG_IPV6=y -CONFIG_IPVLAN=m -# CONFIG_IP_VS_DEBUG is not set -CONFIG_IP_VS_DH=m -CONFIG_IP_VS_FO=m -CONFIG_IP_VS_FTP=m -CONFIG_IP_VS_IPV6=y -CONFIG_IP_VS_LBLC=m -CONFIG_IP_VS_LBLCR=m -CONFIG_IP_VS_LC=m -CONFIG_IP_VS=m -CONFIG_IP_VS_NQ=m -CONFIG_IP_VS_OVF=m -CONFIG_IP_VS_PE_SIP=m -CONFIG_IP_VS_PROTO_AH=y -CONFIG_IP_VS_PROTO_ESP=y -CONFIG_IP_VS_PROTO_SCTP=y -CONFIG_IP_VS_PROTO_TCP=y -CONFIG_IP_VS_PROTO_UDP=y -CONFIG_IP_VS_RR=m -CONFIG_IP_VS_SED=m -CONFIG_IP_VS_SH=m -CONFIG_IP_VS_SH_TAB_BITS=8 -CONFIG_IP_VS_TAB_BITS=12 -CONFIG_IP_VS_WLC=m -CONFIG_IP_VS_WRR=m -CONFIG_IPVTAP=m -# CONFIG_IPW2100_DEBUG is not set -# CONFIG_IPW2100 is not set -# CONFIG_IPW2200_DEBUG is not set -# CONFIG_IPW2200 is not set -CONFIG_IPWIRELESS=m -# CONFIG_IPX_INTERN is not set -CONFIG_IPX=m -CONFIG_IRCOMM=m -CONFIG_IRDA_CACHE_LAST_LSAP=y -# CONFIG_IRDA_DEBUG is not set -CONFIG_IRDA_FAST_RR=y -CONFIG_IRDA=m -# CONFIG_IRDA_ULTRA is not set -CONFIG_IR_ENE=m -CONFIG_IR_FINTEK=m -CONFIG_IR_GPIO_CIR=m -CONFIG_IR_HIX5HD2=m -CONFIG_IR_IGORPLUGUSB=m -CONFIG_IR_IGUANA=m -# CONFIG_IR_IMG is not set -CONFIG_IR_IMON=m -CONFIG_IR_ITE_CIR=m -CONFIG_IR_JVC_DECODER=m -CONFIG_IRLAN=m -CONFIG_IR_LIRC_CODEC=m -CONFIG_IR_MCE_KBD_DECODER=m -CONFIG_IR_MCEUSB=m -CONFIG_IR_NEC_DECODER=m -CONFIG_IRNET=m -CONFIG_IR_NUVOTON=m -CONFIG_IRQ_ALL_CPUS=y -# CONFIG_IRQ_DOMAIN_DEBUG is not set -# CONFIG_IRQSOFF_TRACER is not set -CONFIG_IRQSTACKS=y -CONFIG_IRQ_TIME_ACCOUNTING=y -CONFIG_IR_RC5_DECODER=m -CONFIG_IR_RC6_DECODER=m -CONFIG_IR_REDRAT3=m -CONFIG_IR_SANYO_DECODER=m -CONFIG_IR_SERIAL=m -CONFIG_IR_SERIAL_TRANSMITTER=y -CONFIG_IR_SHARP_DECODER=m -CONFIG_IR_SIR=m -CONFIG_IR_SONY_DECODER=m -CONFIG_IR_SPI=m -CONFIG_IR_STREAMZAP=m -CONFIG_IR_TTUSBIR=m -CONFIG_IRTTY_SIR=m -CONFIG_IR_WINBOND_CIR=m -CONFIG_IR_XMP_DECODER=m -# CONFIG_ISA is not set -CONFIG_ISCSI_BOOT_SYSFS=m -CONFIG_ISCSI_TARGET_CXGB4=m -CONFIG_ISCSI_TARGET=m -CONFIG_ISCSI_TCP=m -CONFIG_ISDN_AUDIO=y -CONFIG_ISDN_CAPI_CAPI20=m -CONFIG_ISDN_CAPI_CAPIDRV=m -# CONFIG_ISDN_CAPI_CAPIDRV_VERBOSE is not set -CONFIG_ISDN_CAPI=m -CONFIG_ISDN_CAPI_MIDDLEWARE=y -CONFIG_ISDN_DIVAS_BRIPCI=y -CONFIG_ISDN_DIVAS_DIVACAPI=m -CONFIG_ISDN_DIVAS=m -CONFIG_ISDN_DIVAS_MAINT=m -CONFIG_ISDN_DIVAS_PRIPCI=y -CONFIG_ISDN_DIVAS_USERIDI=m -CONFIG_ISDN_DIVERSION=m -CONFIG_ISDN_DRV_AVMB1_AVM_CS=m -CONFIG_ISDN_DRV_AVMB1_B1PCI=m -CONFIG_ISDN_DRV_AVMB1_B1PCIV4=y -CONFIG_ISDN_DRV_AVMB1_B1PCMCIA=m -CONFIG_ISDN_DRV_AVMB1_C4=m -CONFIG_ISDN_DRV_AVMB1_T1PCI=m -CONFIG_ISDN_DRV_GIGASET=m -CONFIG_ISDN_DRV_HISAX=m -CONFIG_ISDN_DRV_LOOP=m -CONFIG_ISDN_I4L=m -CONFIG_ISDN_MPP=y -# CONFIG_ISDN_PPP_BSDCOMP is not set -CONFIG_ISDN_PPP_VJ=y -CONFIG_ISDN_PPP=y -CONFIG_ISDN_TTY_FAX=y -CONFIG_ISDN=y -# CONFIG_ISI is not set -CONFIG_ISL29003=m -CONFIG_ISL29020=m -# CONFIG_ISL29125 is not set -CONFIG_ISO9660_FS=m -CONFIG_IT8712F_WDT=m -CONFIG_IT87_WDT=m -CONFIG_ITCO_VENDOR_SUPPORT=y -CONFIG_ITCO_WDT=m -# CONFIG_ITG3200 is not set -CONFIG_IWL3945=m -CONFIG_IWL4965=m -CONFIG_IWLDVM=m -CONFIG_IWLEGACY_DEBUGFS=y -CONFIG_IWLEGACY_DEBUG=y -CONFIG_IWLEGACY=m -CONFIG_IWLMVM=m -# CONFIG_IWLWIFI_BCAST_FILTERING is not set -CONFIG_IWLWIFI_DEBUGFS=y -CONFIG_IWLWIFI_DEBUG=y -CONFIG_IWLWIFI_DEVICE_TRACING=y -CONFIG_IWLWIFI=m -# CONFIG_IWLWIFI_PCIE_RTPM is not set -# CONFIG_IWM is not set -CONFIG_IXGBE_DCA=y -CONFIG_IXGBE_DCB=y -CONFIG_IXGBE_HWMON=y -CONFIG_IXGBE=m -CONFIG_IXGBEVF=m -CONFIG_IXGB=m -CONFIG_JBD2_DEBUG=y -CONFIG_JBD2=y -# CONFIG_JFFS2_FS is not set -# CONFIG_JFS_DEBUG is not set -CONFIG_JFS_FS=m -CONFIG_JFS_POSIX_ACL=y -CONFIG_JFS_SECURITY=y -# CONFIG_JFS_STATISTICS is not set -CONFIG_JME=m -CONFIG_JOLIET=y -CONFIG_JOYSTICK_A3D=m -CONFIG_JOYSTICK_ADI=m -CONFIG_JOYSTICK_ANALOG=m -# CONFIG_JOYSTICK_AS5011 is not set -CONFIG_JOYSTICK_COBRA=m -CONFIG_JOYSTICK_DB9=m -CONFIG_JOYSTICK_GAMECON=m -CONFIG_JOYSTICK_GF2K=m -CONFIG_JOYSTICK_GRIP=m -CONFIG_JOYSTICK_GRIP_MP=m -CONFIG_JOYSTICK_GUILLEMOT=m -CONFIG_JOYSTICK_IFORCE_232=y -CONFIG_JOYSTICK_IFORCE=m -CONFIG_JOYSTICK_IFORCE_USB=y -CONFIG_JOYSTICK_INTERACT=m -CONFIG_JOYSTICK_JOYDUMP=m -CONFIG_JOYSTICK_MAGELLAN=m -CONFIG_JOYSTICK_PSXPAD_SPI_FF=y -CONFIG_JOYSTICK_PSXPAD_SPI=m -CONFIG_JOYSTICK_SIDEWINDER=m -CONFIG_JOYSTICK_SPACEBALL=m -CONFIG_JOYSTICK_SPACEORB=m -CONFIG_JOYSTICK_STINGER=m -CONFIG_JOYSTICK_TMDC=m -CONFIG_JOYSTICK_TURBOGRAFX=m -CONFIG_JOYSTICK_TWIDJOY=m -CONFIG_JOYSTICK_WALKERA0701=m -CONFIG_JOYSTICK_WARRIOR=m -CONFIG_JOYSTICK_XPAD_FF=y -CONFIG_JOYSTICK_XPAD_LEDS=y -CONFIG_JOYSTICK_XPAD=m -CONFIG_JOYSTICK_ZHENHUA=m -# CONFIG_JSA1212 is not set -# CONFIG_JUMP_LABEL_FEATURE_CHECK_DEBUG is not set -# CONFIG_JUMP_LABEL_FEATURE_CHECKS is not set -CONFIG_JUMP_LABEL=y -CONFIG_KALLSYMS_ALL=y -CONFIG_KALLSYMS=y -CONFIG_KARMA_PARTITION=y -# CONFIG_KASAN is not set -# CONFIG_KCOV is not set -CONFIG_KDB_CONTINUE_CATASTROPHIC=0 -CONFIG_KDB_DEFAULT_ENABLE=0x0 -CONFIG_KDB_KEYBOARD=y -# CONFIG_KERNEL_BZIP2 is not set -CONFIG_KERNEL_GZIP=y -# CONFIG_KERNEL_LZMA is not set -# CONFIG_KERNEL_LZO is not set -# CONFIG_KEXEC_FILE is not set -CONFIG_KEXEC=y -# CONFIG_KEYBOARD_ADC is not set -# CONFIG_KEYBOARD_ADP5588 is not set -# CONFIG_KEYBOARD_ADP5589 is not set -CONFIG_KEYBOARD_ATKBD=y -# CONFIG_KEYBOARD_CAP11XX is not set -# CONFIG_KEYBOARD_DLINK_DIR685 is not set -# CONFIG_KEYBOARD_GPIO is not set -# CONFIG_KEYBOARD_GPIO_POLLED is not set -# CONFIG_KEYBOARD_LKKBD is not set -# CONFIG_KEYBOARD_LM8323 is not set -# CONFIG_KEYBOARD_LM8333 is not set -# CONFIG_KEYBOARD_MATRIX is not set -# CONFIG_KEYBOARD_MAX7359 is not set -# CONFIG_KEYBOARD_MCS is not set -# CONFIG_KEYBOARD_MPR121 is not set -# CONFIG_KEYBOARD_NEWTON is not set -# CONFIG_KEYBOARD_OMAP4 is not set -# CONFIG_KEYBOARD_OPENCORES is not set -CONFIG_KEYBOARD_PMIC8XXX=m -CONFIG_KEYBOARD_QT1070=m -# CONFIG_KEYBOARD_QT2160 is not set -# CONFIG_KEYBOARD_SAMSUNG is not set -# CONFIG_KEYBOARD_SH_KEYSC is not set -# CONFIG_KEYBOARD_STOWAWAY is not set -# CONFIG_KEYBOARD_SUNKBD is not set -# CONFIG_KEYBOARD_TCA6416 is not set -# CONFIG_KEYBOARD_TCA8418 is not set -CONFIG_KEYBOARD_TM2_TOUCHKEY=m -# CONFIG_KEYBOARD_XTKBD is not set -CONFIG_KEY_DH_OPERATIONS=y -CONFIG_KEYS=y -CONFIG_KGDB_KDB=y -CONFIG_KGDB_LOW_LEVEL_TRAP=y -CONFIG_KGDB_SERIAL_CONSOLE=y -# CONFIG_KGDB_TESTS_ON_BOOT is not set -CONFIG_KGDB_TESTS=y -CONFIG_KGDB=y -CONFIG_KINGSUN_DONGLE=m -# CONFIG_KMX61 is not set -CONFIG_KPROBE_EVENTS=y -# CONFIG_KPROBES_SANITY_TEST is not set -CONFIG_KPROBES=y -CONFIG_KS0108_DELAY=2 -CONFIG_KS0108=m -CONFIG_KS0108_PORT=0x378 -# CONFIG_KS7010 is not set -# CONFIG_KS8842 is not set -# CONFIG_KS8851 is not set -# CONFIG_KS8851_MLL is not set -CONFIG_KS959_DONGLE=m -CONFIG_KSDAZZLE_DONGLE=m -CONFIG_KSM=y -CONFIG_KSZ884X_PCI=m -CONFIG_KVM_BOOK3S_64_HV=m -CONFIG_KVM_BOOK3S_64=m -CONFIG_KVM_BOOK3S_64_PR=m -# CONFIG_KVM_BOOK3S_HV_EXIT_TIMING is not set -# CONFIG_KVM_EXIT_TIMING is not set -CONFIG_KVM_GUEST=y -CONFIG_KVM_XICS=y -CONFIG_KXCJK1013=m -# CONFIG_KXSD9 is not set -CONFIG_L2TP_DEBUGFS=m -CONFIG_L2TP_ETH=m -CONFIG_L2TP_IP=m -CONFIG_L2TP=m -CONFIG_L2TP_V3=y -# CONFIG_LANCE is not set -# CONFIG_LAPB is not set -CONFIG_LATENCYTOP=y -# CONFIG_LATTICE_ECP3_CONFIG is not set -# CONFIG_LCD_AMS369FG06 is not set -CONFIG_LCD_CLASS_DEVICE=m -# CONFIG_LCD_HX8357 is not set -# CONFIG_LCD_ILI922X is not set -# CONFIG_LCD_ILI9320 is not set -# CONFIG_LCD_L4F00242T03 is not set -# CONFIG_LCD_LD9040 is not set -# CONFIG_LCD_LMS283GF05 is not set -# CONFIG_LCD_LMS501KF03 is not set -# CONFIG_LCD_LTV350QV is not set -CONFIG_LCD_PLATFORM=m -# CONFIG_LCD_S6E63M0 is not set -# CONFIG_LCD_TDO24M is not set -# CONFIG_LCD_VGG2432A4 is not set -# CONFIG_LDM_DEBUG is not set -CONFIG_LDM_PARTITION=y -# CONFIG_LEDS_AAT1290 is not set -# CONFIG_LEDS_BCM6328 is not set -# CONFIG_LEDS_BCM6358 is not set -# CONFIG_LEDS_BD2802 is not set -CONFIG_LEDS_BLINKM=m -CONFIG_LEDS_BRIGHTNESS_HW_CHANGED=y -CONFIG_LEDS_CLASS_FLASH=m -CONFIG_LEDS_CLASS=y -CONFIG_LEDS_CLEVO_MAIL=m -# CONFIG_LEDS_DAC124S085 is not set -# CONFIG_LEDS_GPIO is not set -# CONFIG_LEDS_IS31FL319X is not set -# CONFIG_LEDS_IS31FL32XX is not set -# CONFIG_LEDS_KTD2692 is not set -CONFIG_LEDS_LM3530=m -# CONFIG_LEDS_LM355x is not set -# CONFIG_LEDS_LM3642 is not set -# CONFIG_LEDS_LOCOMO is not set -CONFIG_LEDS_LP3944=m -CONFIG_LEDS_LP3952=m -# CONFIG_LEDS_LP5521 is not set -# CONFIG_LEDS_LP5523 is not set -# CONFIG_LEDS_LP5562 is not set -# CONFIG_LEDS_LP55XX_COMMON is not set -# CONFIG_LEDS_LP8501 is not set -# CONFIG_LEDS_LP8860 is not set -CONFIG_LEDS_LT3593=m -CONFIG_LEDS_MLXCPLD=m -# CONFIG_LEDS_NET48XX is not set -CONFIG_LEDS_NIC78BX=m -# CONFIG_LEDS_OT200 is not set -# CONFIG_LEDS_PCA9532 is not set -# CONFIG_LEDS_PCA955X is not set -# CONFIG_LEDS_PCA963X is not set -CONFIG_LEDS_POWERNV=m -# CONFIG_LEDS_PWM is not set -CONFIG_LEDS_REGULATOR=m -# CONFIG_LEDS_S3C24XX is not set -# CONFIG_LEDS_SYSCON is not set -# CONFIG_LEDS_TCA6507 is not set -# CONFIG_LEDS_TLC591XX is not set -CONFIG_LEDS_TRIGGER_BACKLIGHT=m -CONFIG_LEDS_TRIGGER_CAMERA=m -# CONFIG_LEDS_TRIGGER_CPU is not set -CONFIG_LEDS_TRIGGER_DEFAULT_ON=m -CONFIG_LEDS_TRIGGER_DISK=y -CONFIG_LEDS_TRIGGER_GPIO=m -CONFIG_LEDS_TRIGGER_HEARTBEAT=m -CONFIG_LEDS_TRIGGER_MTD=y -CONFIG_LEDS_TRIGGER_ONESHOT=m -CONFIG_LEDS_TRIGGER_PANIC=y -CONFIG_LEDS_TRIGGERS=y -CONFIG_LEDS_TRIGGER_TIMER=m -CONFIG_LEDS_TRIGGER_TRANSIENT=m -CONFIG_LEDS_USER=m -CONFIG_LEDS_WM831X_STATUS=m -CONFIG_LEDS_WM8350=m -CONFIG_LED_TRIGGER_PHY=y -# CONFIG_LEGACY_PTYS is not set -CONFIG_LIB80211_CRYPT_CCMP=m -CONFIG_LIB80211_CRYPT_TKIP=m -CONFIG_LIB80211_CRYPT_WEP=m -# CONFIG_LIB80211_DEBUG is not set -CONFIG_LIB80211=m -CONFIG_LIBCRC32C=m -CONFIG_LIBERTAS_CS=m -# CONFIG_LIBERTAS_DEBUG is not set -CONFIG_LIBERTAS=m -CONFIG_LIBERTAS_MESH=y -CONFIG_LIBERTAS_SDIO=m -# CONFIG_LIBERTAS_SPI is not set -# CONFIG_LIBERTAS_THINFIRM is not set -CONFIG_LIBERTAS_USB=m -CONFIG_LIBFC=m -CONFIG_LIBFCOE=m -# CONFIG_LIBIPW_DEBUG is not set -# CONFIG_LIBNVDIMM is not set -# CONFIG_LIDAR_LITE_V2 is not set -CONFIG_LIQUIDIO_VF=m -CONFIG_LIRC_BT829=m -CONFIG_LIRC_IMON=m -CONFIG_LIRC=m -CONFIG_LIRC_PARALLEL=m -CONFIG_LIRC_SERIAL=m -CONFIG_LIRC_SERIAL_TRANSMITTER=y -CONFIG_LIRC_SIR=m -CONFIG_LIRC_STAGING=y -CONFIG_LIRC_ZILOG=m -CONFIG_LITELINK_DONGLE=m -# CONFIG_LIVEPATCH is not set -# CONFIG_LKDTM is not set -# CONFIG_LLC2 is not set -CONFIG_LLC=m -CONFIG_LMP91000=m -# CONFIG_LNET is not set -# CONFIG_LOAD_UEFI_KEYS is not set -CONFIG_LOCALVERSION="" -# CONFIG_LOCALVERSION_AUTO is not set -CONFIG_LOCKD=m -# CONFIG_LOCK_DOWN_KERNEL is not set -CONFIG_LOCKD_V4=y -CONFIG_LOCK_STAT=y -CONFIG_LOCK_TORTURE_TEST=m -CONFIG_LOCKUP_DETECTOR=y -CONFIG_LOG_BUF_SHIFT=18 -CONFIG_LOG_CPU_MAX_BUF_SHIFT=12 -# CONFIG_LOGFS is not set -CONFIG_LOGIG940_FF=y -CONFIG_LOGIRUMBLEPAD2_FF=y -CONFIG_LOGITECH_FF=y -CONFIG_LOGIWHEELS_FF=y -CONFIG_LOGO_LIBRE_CLUT224=y -# CONFIG_LOGO_LINUX_CLUT224 is not set -# CONFIG_LOGO_LINUX_MONO is not set -# CONFIG_LOGO_LINUX_VGA16 is not set -CONFIG_LOGO=y -CONFIG_LOOPBACK_TARGET=m -CONFIG_LPARCFG=y -# CONFIG_LPC_ICH is not set -CONFIG_LP_CONSOLE=y -# CONFIG_LPC_SCH is not set -CONFIG_LPFC_NVME_INITIATOR=y -CONFIG_LPFC_NVME_TARGET=y -CONFIG_LSI_ET1011C_PHY=m -CONFIG_LSM_MMAP_MIN_ADDR=65536 -# CONFIG_LTC2485 is not set -# CONFIG_LTC2497 is not set -# CONFIG_LTC2632 is not set -# CONFIG_LTE_GDM724X is not set -# CONFIG_LTR501 is not set -# CONFIG_LUSTRE_FS is not set -CONFIG_LWTUNNEL_BPF=y -CONFIG_LWTUNNEL=y -CONFIG_LXT_PHY=m -# CONFIG_M62332 is not set -CONFIG_MA600_DONGLE=m -CONFIG_MAC80211_DEBUGFS=y -# CONFIG_MAC80211_DEBUG_MENU is not set -CONFIG_MAC80211_HWSIM=m -CONFIG_MAC80211_LEDS=y -CONFIG_MAC80211=m -CONFIG_MAC80211_MESH=y -# CONFIG_MAC80211_MESSAGE_TRACING is not set -CONFIG_MAC80211_RC_DEFAULT="minstrel_ht" -CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y -CONFIG_MAC80211_RC_MINSTREL=y -CONFIG_MAC802154=m -CONFIG_MACB=m -CONFIG_MACB_PCI=m -CONFIG_MACB_USE_HWSTAMP=y -CONFIG_MAC_EMUMOUSEBTN=y -CONFIG_MACHZ_WDT=m -# CONFIG_MACINTOSH_DRIVERS is not set -CONFIG_MAC_PARTITION=y -CONFIG_MACSEC=m -CONFIG_MACVLAN=m -CONFIG_MACVTAP=m -# CONFIG_MAG3110 is not set -CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x0 -CONFIG_MAGIC_SYSRQ_SERIAL=y -CONFIG_MAGIC_SYSRQ=y -# CONFIG_MAILBOX is not set -# CONFIG_MAILBOX_TEST is not set -# CONFIG_MANDATORY_FILE_LOCKING is not set -CONFIG_MANTIS_CORE=m -CONFIG_MARVELL_10G_PHY=m -CONFIG_MARVELL_PHY=m -# CONFIG_MATH_EMULATION is not set -# CONFIG_MAX1027 is not set -# CONFIG_MAX11100 is not set -# CONFIG_MAX1118 is not set -CONFIG_MAX1363=m -CONFIG_MAX30100=m -# CONFIG_MAX30102 is not set -# CONFIG_MAX44000 is not set -# CONFIG_MAX517 is not set -# CONFIG_MAX5481 is not set -# CONFIG_MAX5487 is not set -# CONFIG_MAX5821 is not set -# CONFIG_MAX63XX_WATCHDOG is not set -# CONFIG_MAX9611 is not set -# CONFIG_MAXIM_THERMOCOUPLE is not set -CONFIG_MAX_RAW_DEVS=8192 -CONFIG_MAXSMP=y -# CONFIG_MC3230 is not set -# CONFIG_MCB is not set -# CONFIG_MCE_AMD_INJ is not set -CONFIG_MCP2120_DONGLE=m -# CONFIG_MCP320X is not set -# CONFIG_MCP3422 is not set -# CONFIG_MCP4131 is not set -# CONFIG_MCP4531 is not set -# CONFIG_MCP4725 is not set -# CONFIG_MCP4922 is not set -CONFIG_MCS_FIR=m -# CONFIG_MCU_MPC8349EMITX is not set -CONFIG_MD_AUTODETECT=y -# CONFIG_MD_CLUSTER is not set -CONFIG_MD_FAULTY=m -CONFIG_MDIO_BCM_UNIMAC=m -CONFIG_MDIO_BITBANG=m -# CONFIG_MDIO_BUS_MUX_GPIO is not set -# CONFIG_MDIO_BUS_MUX is not set -# CONFIG_MDIO_BUS_MUX_MMIOREG is not set -CONFIG_MDIO_GPIO=m -# CONFIG_MDIO_HISI_FEMAC is not set -# CONFIG_MDIO_OCTEON is not set -# CONFIG_MDIO_THUNDER is not set -CONFIG_MD_LINEAR=m -CONFIG_MD_MULTIPATH=m -CONFIG_MD_RAID0=m -CONFIG_MD_RAID10=m -CONFIG_MD_RAID1=m -CONFIG_MD_RAID456=m -CONFIG_MD=y -CONFIG_MEDIA_ALTERA_CI=m -CONFIG_MEDIA_ANALOG_TV_SUPPORT=y -CONFIG_MEDIA_ATTACH=y -CONFIG_MEDIA_CAMERA_SUPPORT=y -CONFIG_MEDIA_CEC_DEBUG=y -CONFIG_MEDIA_CEC_RC=y -CONFIG_MEDIA_CEC_SUPPORT=y -# CONFIG_MEDIA_CONTROLLER_DVB is not set -CONFIG_MEDIA_CONTROLLER=y -CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y -CONFIG_MEDIA_PCI_SUPPORT=y -CONFIG_MEDIA_RADIO_SUPPORT=y -CONFIG_MEDIA_RC_SUPPORT=y -# CONFIG_MEDIA_SDR_SUPPORT is not set -CONFIG_MEDIA_SUBDRV_AUTOSELECT=y -CONFIG_MEDIA_SUPPORT=m -# CONFIG_MEDIA_TUNER_MSI001 is not set -CONFIG_MEDIA_USB_SUPPORT=y -CONFIG_MEGARAID_LEGACY=m -CONFIG_MEGARAID_MAILBOX=m -CONFIG_MEGARAID_MM=m -CONFIG_MEGARAID_NEWGEN=y -CONFIG_MEGARAID_SAS=m -CONFIG_MEMCG_SWAP_ENABLED=y -CONFIG_MEMCG_SWAP=y -CONFIG_MEMCG=y -CONFIG_MEMORY_FAILURE=y -# CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE is not set -CONFIG_MEMORY_HOTPLUG=y -CONFIG_MEMORY_HOTREMOVE=y -# CONFIG_MEMORY is not set -CONFIG_MEM_SOFT_DIRTY=y -# CONFIG_MEMSTICK_DEBUG is not set -CONFIG_MEMSTICK_JMICRON_38X=m -CONFIG_MEMSTICK=m -CONFIG_MEMSTICK_R592=m -CONFIG_MEMSTICK_REALTEK_PCI=m -CONFIG_MEMSTICK_REALTEK_USB=m -CONFIG_MEMSTICK_TIFM_MS=m -# CONFIG_MEMSTICK_UNSAFE_RESUME is not set -# CONFIG_MEMTEST is not set -# CONFIG_MEN_A21_WDT is not set -CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 -# CONFIG_MFD_88PM800 is not set -# CONFIG_MFD_88PM805 is not set -# CONFIG_MFD_88PM860X is not set -# CONFIG_MFD_AAT2870_CORE is not set -# CONFIG_MFD_ACT8945A is not set -# CONFIG_MFD_ARIZONA_I2C is not set -# CONFIG_MFD_ARIZONA is not set -# CONFIG_MFD_ARIZONA_SPI is not set -# CONFIG_MFD_AS3711 is not set -# CONFIG_MFD_AS3722 is not set -# CONFIG_MFD_ASIC3 is not set -# CONFIG_MFD_ATMEL_FLEXCOM is not set -# CONFIG_MFD_ATMEL_HLCDC is not set -# CONFIG_MFD_AXP20X_I2C is not set -# CONFIG_MFD_AXP20X is not set -# CONFIG_MFD_BCM590XX is not set -CONFIG_MFD_CORE=m -# CONFIG_MFD_CPCAP is not set -# CONFIG_MFD_CROS_EC is not set -# CONFIG_MFD_CS5535 is not set -# CONFIG_MFD_DA9052_I2C is not set -# CONFIG_MFD_DA9052_SPI is not set -# CONFIG_MFD_DA9055 is not set -# CONFIG_MFD_DA9062 is not set -# CONFIG_MFD_DA9063 is not set -# CONFIG_MFD_DA9150 is not set -# CONFIG_MFD_DLN2 is not set -# CONFIG_MFD_HI6421_PMIC is not set -# CONFIG_MFD_JANZ_CMODIO is not set -# CONFIG_MFD_KEMPLD is not set -# CONFIG_MFD_LM3533 is not set -# CONFIG_MFD_LP3943 is not set -# CONFIG_MFD_LP8788 is not set -# CONFIG_MFD_MAX14577 is not set -# CONFIG_MFD_MAX77620 is not set -# CONFIG_MFD_MAX77686 is not set -# CONFIG_MFD_MAX77693 is not set -# CONFIG_MFD_MAX77843 is not set -# CONFIG_MFD_MAX8907 is not set -# CONFIG_MFD_MAX8925 is not set -# CONFIG_MFD_MAX8997 is not set -# CONFIG_MFD_MAX8998 is not set -# CONFIG_MFD_MC13XXX_I2C is not set -# CONFIG_MFD_MC13XXX_SPI is not set -# CONFIG_MFD_MENF21BMC is not set -# CONFIG_MFD_MT6397 is not set -# CONFIG_MFD_PALMAS is not set -# CONFIG_MFD_PCF50633 is not set -# CONFIG_MFD_RC5T583 is not set -# CONFIG_MFD_RDC321X is not set -# CONFIG_MFD_RETU is not set -# CONFIG_MFD_RK808 is not set -# CONFIG_MFD_RN5T618 is not set -# CONFIG_MFD_RT5033 is not set -CONFIG_MFD_RTSX_PCI=m -CONFIG_MFD_RTSX_USB=m -# CONFIG_MFD_SEC_CORE is not set -# CONFIG_MFD_SI476X_CORE is not set -# CONFIG_MFD_SKY81452 is not set -CONFIG_MFD_SM501_GPIO=y -CONFIG_MFD_SM501=m -# CONFIG_MFD_SMSC is not set -# CONFIG_MFD_STMPE is not set -# CONFIG_MFD_SYSCON is not set -# CONFIG_MFD_TC3589X is not set -# CONFIG_MFD_TC6393XB is not set -# CONFIG_MFD_TI_AM335X_TSCADC is not set -# CONFIG_MFD_TI_LMU is not set -# CONFIG_MFD_TI_LP873X is not set -# CONFIG_MFD_TI_LP87565 is not set -# CONFIG_MFD_TIMBERDALE is not set -# CONFIG_MFD_TPS65086 is not set -# 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_I2C is not set -# CONFIG_MFD_TPS65912 is not set -# CONFIG_MFD_TPS65912_SPI is not set -# CONFIG_MFD_TPS80031 is not set -CONFIG_MFD_VIPERBOARD=m -CONFIG_MFD_VX855=m -CONFIG_MFD_WL1273_CORE=m -# CONFIG_MFD_WM831X_I2C is not set -# CONFIG_MFD_WM831X is not set -# CONFIG_MFD_WM831X_SPI is not set -# CONFIG_MFD_WM8350_I2C is not set -# CONFIG_MFD_WM8350 is not set -# CONFIG_MFD_WM8400 is not set -# CONFIG_MFD_WM8994 is not set -# CONFIG_MGCOGE is not set -# CONFIG_MICREL_KS8995MA is not set -CONFIG_MICREL_PHY=m -CONFIG_MICROCHIP_KSZ=m -CONFIG_MICROCHIP_KSZ_SPI_DRIVER=m -CONFIG_MICROCHIP_PHY=m -CONFIG_MICROSEMI_PHY=m -CONFIG_MIGRATION=y -CONFIG_MII=m -CONFIG_MINIX_FS=m -CONFIG_MINIX_SUBPARTITION=y -CONFIG_MISC_FILESYSTEMS=y -CONFIG_MISDN_AVMFRITZ=m -CONFIG_MISDN_DSP=m -CONFIG_MISDN_HFCMULTI=m -CONFIG_MISDN_HFCPCI=m -CONFIG_MISDN_HFCUSB=m -CONFIG_MISDN_INFINEON=m -CONFIG_MISDN_L1OIP=m -CONFIG_MISDN=m -CONFIG_MISDN_NETJET=m -CONFIG_MISDN_SPEEDFAX=m -CONFIG_MISDN_W6692=m -CONFIG_MKISS=m -CONFIG_MLX4_CORE=m -CONFIG_MLX4_EN_DCB=y -CONFIG_MLX4_EN=m -CONFIG_MLX4_INFINIBAND=m -CONFIG_MLX5_CORE_EN_DCB=y -CONFIG_MLX5_CORE_EN=y -CONFIG_MLX5_CORE_IPOIB=y -CONFIG_MLX5_CORE=m -# CONFIG_MLX5_EN_IPSEC is not set -# CONFIG_MLX5_FPGA is not set -CONFIG_MLX5_INFINIBAND=m -# CONFIG_MLX90614 is not set -CONFIG_MLX_CPLD_PLATFORM=m -CONFIG_MLXFW=m -CONFIG_MLXSW_CORE_HWMON=y -CONFIG_MLXSW_CORE=m -CONFIG_MLXSW_CORE_THERMAL=y -CONFIG_MLXSW_I2C=m -CONFIG_MLXSW_MINIMAL=m -CONFIG_MLXSW_PCI=m -CONFIG_MLXSW_SPECTRUM_DCB=y -CONFIG_MLXSW_SPECTRUM=m -CONFIG_MLXSW_SWITCHIB=m -CONFIG_MLXSW_SWITCHX2=m -# CONFIG_MMA7455_I2C is not set -# CONFIG_MMA7455_SPI is not set -CONFIG_MMA7660=m -# CONFIG_MMA8452 is not set -# CONFIG_MMA9551 is not set -# CONFIG_MMA9553 is not set -# CONFIG_MMC35240 is not set -CONFIG_MMC_BLOCK_BOUNCE=y -CONFIG_MMC_BLOCK=m -CONFIG_MMC_BLOCK_MINORS=8 -CONFIG_MMC_CB710=m -# CONFIG_MMC_DEBUG is not set -CONFIG_MMC=m -# CONFIG_MMC_MTK is not set -CONFIG_MMC_REALTEK_PCI=m -CONFIG_MMC_REALTEK_USB=m -CONFIG_MMC_RICOH_MMC=y -CONFIG_MMC_SDHCI_ACPI=m -CONFIG_MMC_SDHCI_CADENCE=m -# CONFIG_MMC_SDHCI_F_SDH30 is not set -CONFIG_MMC_SDHCI=m -# CONFIG_MMC_SDHCI_OF_ARASAN is not set -# CONFIG_MMC_SDHCI_OF_AT91 is not set -# CONFIG_MMC_SDHCI_OF_ESDHC is not set -# CONFIG_MMC_SDHCI_OF_HLWD is not set -CONFIG_MMC_SDHCI_PCI=m -CONFIG_MMC_SDHCI_PLTFM=m -CONFIG_MMC_SDHCI_XENON=m -CONFIG_MMC_SDRICOH_CS=m -# CONFIG_MMC_SPI is not set -# CONFIG_MMC_TEST is not set -CONFIG_MMC_TIFM_SD=m -CONFIG_MMC_TOSHIBA_PCI=m -# CONFIG_MMC_USDHI6ROL0 is not set -CONFIG_MMC_USHC=m -CONFIG_MMC_VIA_SDMMC=m -CONFIG_MMC_VUB300=m -CONFIG_MMC_WBSD=m -CONFIG_MMIOTRACE=y -CONFIG_MMU=y -# CONFIG_MODULE_COMPRESS is not set -# CONFIG_MODULE_FORCE_LOAD is not set -CONFIG_MODULE_FORCE_UNLOAD=y -CONFIG_MODULE_SIG_ALL=y -# CONFIG_MODULE_SIG_FORCE is not set -CONFIG_MODULE_SIG_KEY="certs/signing_key.pem" -# CONFIG_MODULE_SIG_SHA1 is not set -CONFIG_MODULE_SIG_SHA256=y -CONFIG_MODULE_SIG=y -# CONFIG_MODULE_SRCVERSION_ALL is not set -CONFIG_MODULES=y -CONFIG_MODULE_UNLOAD=y -# CONFIG_MODVERSIONS is not set -# CONFIG_MOST is not set -CONFIG_MOUSE_APPLETOUCH=m -# CONFIG_MOUSE_ATIXL is not set -CONFIG_MOUSE_BCM5974=m -CONFIG_MOUSE_CYAPA=m -CONFIG_MOUSE_ELAN_I2C_I2C=y -CONFIG_MOUSE_ELAN_I2C=m -CONFIG_MOUSE_ELAN_I2C_SMBUS=y -# CONFIG_MOUSE_GPIO is not set -CONFIG_MOUSE_PS2_ELANTECH=y -CONFIG_MOUSE_PS2_SENTELIC=y -# CONFIG_MOUSE_PS2_TOUCHKIT is not set -CONFIG_MOUSE_PS2=y -CONFIG_MOUSE_SERIAL=m -CONFIG_MOUSE_SYNAPTICS_I2C=m -CONFIG_MOUSE_SYNAPTICS_USB=m -CONFIG_MOUSE_VSXXXAA=m -CONFIG_MOVABLE_NODE=y -# CONFIG_MOXA_INTELLIO is not set -# CONFIG_MOXA_SMARTIO is not set -# CONFIG_MPC5121_ADS is not set -# CONFIG_MPIC_MSGR is not set -# CONFIG_MPL115_I2C is not set -# CONFIG_MPL115 is not set -# CONFIG_MPL115_SPI is not set -# CONFIG_MPL3115 is not set -CONFIG_MPLS_IPTUNNEL=m -CONFIG_MPLS_ROUTING=m -CONFIG_MPU3050_I2C=m -CONFIG_MQ_IOSCHED_DEADLINE=y -CONFIG_MQ_IOSCHED_KYBER=m -# CONFIG_MS5611 is not set -# CONFIG_MS5637 is not set -# CONFIG_MS_BLOCK is not set -CONFIG_MSDOS_FS=m -CONFIG_MSDOS_PARTITION=y -CONFIG_MSI_BITMAP_SELFTEST=y -# CONFIG_MSM_GCC_8994 is not set -CONFIG_MSPRO_BLOCK=m -CONFIG_MT7601U=m -# CONFIG_MTD_ABSENT is not set -# CONFIG_MTD_AR7_PARTS is not set -# CONFIG_MTD_BLKDEVS is not set -# CONFIG_MTD_BLOCK2MTD is not set -# CONFIG_MTD_BLOCK is not set -# CONFIG_MTD_BLOCK_RO is not set -CONFIG_MTD_CFI_I1=y -CONFIG_MTD_CFI_I2=y -# CONFIG_MTD_CFI_I4 is not set -# CONFIG_MTD_CFI_I8 is not set -# CONFIG_MTD_CFI is not set -# CONFIG_MTD_CMDLINE_PARTS is not set -# CONFIG_MTD_COMPLEX_MAPPINGS is not set -# CONFIG_MTD_DATAFLASH is not set -# CONFIG_MTD_DOCG3 is not set -# CONFIG_MTD_INTEL_VR_NOR is not set -# CONFIG_MTD_JEDECPROBE is not set -# CONFIG_MTD_LPDDR is not set -CONFIG_MTD=m -# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set -CONFIG_MTD_MAP_BANK_WIDTH_1=y -CONFIG_MTD_MAP_BANK_WIDTH_2=y -# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set -CONFIG_MTD_MAP_BANK_WIDTH_4=y -# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set -# CONFIG_MTD_MCHP23K256 is not set -# CONFIG_MTD_MTDRAM is not set -# CONFIG_MTD_NAND_DENALI_DT is not set -# CONFIG_MTD_NAND_DENALI_PCI is not set -# CONFIG_MTD_NAND_DISKONCHIP is not set -# CONFIG_MTD_NAND_ECC_BCH is not set -# CONFIG_MTD_NAND_FSL_ELBC is not set -# CONFIG_MTD_NAND_HISI504 is not set -# CONFIG_MTD_NAND is not set -# CONFIG_MTD_NAND_OMAP2 is not set -# CONFIG_MTD_NAND_OXNAS is not set -CONFIG_MTD_OF_PARTS=m -# CONFIG_MTD_ONENAND is not set -# CONFIG_MTD_OOPS is not set -# CONFIG_MTD_PARTITIONED_MASTER is not set -# CONFIG_MTD_PHRAM is not set -# CONFIG_MTD_PLATRAM is not set -# CONFIG_MTD_PMC551 is not set -CONFIG_MTD_POWERNV_FLASH=m -# CONFIG_MTD_RAM is not set -# CONFIG_MTD_REDBOOT_PARTS is not set -# CONFIG_MTD_ROM is not set -# CONFIG_MTD_SLRAM is not set -# CONFIG_MTD_SPI_NOR is not set -# CONFIG_MTD_SST25L is not set -# CONFIG_MTD_SWAP is not set -# CONFIG_MTD_TESTS is not set -# CONFIG_MTD_TS5500 is not set -CONFIG_MTD_UBI_BEB_LIMIT=20 -# CONFIG_MTD_UBI_BLOCK is not set -# CONFIG_MTD_UBI_FASTMAP is not set -# CONFIG_MTD_UBI_GLUEBI is not set -CONFIG_MTD_UBI=m -CONFIG_MTD_UBI_WL_THRESHOLD=4096 -CONFIG_MULTIPLEXER=m -CONFIG_MUX_ADG792A=m -CONFIG_MUX_GPIO=m -CONFIG_MUX_MMIO=m -CONFIG_MVMDIO=m -CONFIG_MWAVE=m -CONFIG_MWIFIEX=m -CONFIG_MWIFIEX_PCIE=m -CONFIG_MWIFIEX_SDIO=m -CONFIG_MWIFIEX_USB=m -CONFIG_MWL8K=m -# CONFIG_MXC4005 is not set -# CONFIG_MXC6255 is not set -CONFIG_MYRI10GE_DCA=y -CONFIG_MYRI10GE=m -CONFIG_NAMESPACES=y -CONFIG_NATIONAL_PHY=m -CONFIG_NATSEMI=m -# CONFIG_NAU7802 is not set -# CONFIG_NBPFAXI_DMA is not set -CONFIG_NCPFS_EXTRAS=y -CONFIG_NCPFS_IOCTL_LOCKING=y -CONFIG_NCP_FS=m -CONFIG_NCPFS_NFS_NS=y -CONFIG_NCPFS_NLS=y -CONFIG_NCPFS_OS2_NS=y -CONFIG_NCPFS_PACKET_SIGNING=y -CONFIG_NCPFS_SMALLDOS=y -CONFIG_NCPFS_STRONG=y -# CONFIG_ND_BLK is not set -CONFIG_NE2K_PCI=m -# CONFIG_NET_9P_DEBUG is not set -CONFIG_NET_9P=m -CONFIG_NET_9P_RDMA=m -CONFIG_NET_9P_VIRTIO=m -CONFIG_NET_9P_XEN=m -CONFIG_NET_ACT_BPF=m -CONFIG_NET_ACT_CONNMARK=m -CONFIG_NET_ACT_CSUM=m -CONFIG_NET_ACT_GACT=m -CONFIG_NET_ACT_IFE=m -CONFIG_NET_ACT_IPT=m -CONFIG_NET_ACT_MIRRED=m -CONFIG_NET_ACT_NAT=m -CONFIG_NET_ACT_PEDIT=m -CONFIG_NET_ACT_POLICE=m -CONFIG_NET_ACT_SAMPLE=m -CONFIG_NET_ACT_SIMP=m -CONFIG_NET_ACT_SKBEDIT=m -CONFIG_NET_ACT_SKBMOD=m -CONFIG_NET_ACT_TUNNEL_KEY=m -CONFIG_NET_ACT_VLAN=m -CONFIG_NET_CADENCE=y -CONFIG_NET_CALXEDA_XGMAC=m -CONFIG_NET_CLS_ACT=y -CONFIG_NET_CLS_BASIC=m -CONFIG_NET_CLS_BPF=m -CONFIG_NET_CLS_CGROUP=y -CONFIG_NET_CLS_FLOWER=m -CONFIG_NET_CLS_FLOW=m -CONFIG_NET_CLS_FW=m -CONFIG_NET_CLS_IND=y -CONFIG_NET_CLS_MATCHALL=m -CONFIG_NET_CLS_ROUTE4=m -CONFIG_NET_CLS_ROUTE=y -CONFIG_NET_CLS_RSVP6=m -CONFIG_NET_CLS_RSVP=m -CONFIG_NET_CLS_TCINDEX=m -CONFIG_NET_CLS_U32=m -CONFIG_NET_CLS=y -CONFIG_NETCONSOLE_DYNAMIC=y -CONFIG_NETCONSOLE=m -CONFIG_NET_CORE=y -# CONFIG_NET_DCCPPROBE is not set -CONFIG_NETDEVICES=y -CONFIG_NET_DEVLINK=m -CONFIG_NET_DROP_MONITOR=y -CONFIG_NET_DSA_BCM_SF2=m -CONFIG_NET_DSA_HWMON=y -CONFIG_NET_DSA_LOOP=m -CONFIG_NET_DSA=m -CONFIG_NET_DSA_MT7530=m -CONFIG_NET_DSA_MV88E6060=m -CONFIG_NET_DSA_MV88E6XXX_GLOBAL2=y -CONFIG_NET_DSA_MV88E6XXX=m -CONFIG_NET_DSA_QCA8K=m -CONFIG_NET_DSA_SMSC_LAN9303_I2C=m -CONFIG_NET_DSA_SMSC_LAN9303_MDIO=m -CONFIG_NET_EMATCH_CANID=m -CONFIG_NET_EMATCH_CMP=m -CONFIG_NET_EMATCH_IPSET=m -CONFIG_NET_EMATCH_META=m -CONFIG_NET_EMATCH_NBYTE=m -CONFIG_NET_EMATCH_STACK=32 -CONFIG_NET_EMATCH_TEXT=m -CONFIG_NET_EMATCH_U32=m -CONFIG_NET_EMATCH=y -CONFIG_NET_FC=y -CONFIG_NETFILTER_ADVANCED=y -# CONFIG_NETFILTER_DEBUG is not set -CONFIG_NETFILTER_INGRESS=y -CONFIG_NETFILTER_NETLINK_ACCT=m -# CONFIG_NETFILTER_NETLINK_GLUE_CT is not set -CONFIG_NETFILTER_NETLINK_LOG=m -CONFIG_NETFILTER_NETLINK=m -CONFIG_NETFILTER_NETLINK_QUEUE=m -CONFIG_NETFILTER_XTABLES=y -CONFIG_NETFILTER_XT_CONNMARK=m -CONFIG_NETFILTER_XT_MARK=m -CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m -CONFIG_NETFILTER_XT_MATCH_BPF=m -CONFIG_NETFILTER_XT_MATCH_CGROUP=m -CONFIG_NETFILTER_XT_MATCH_CLUSTER=m -CONFIG_NETFILTER_XT_MATCH_COMMENT=m -CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m -CONFIG_NETFILTER_XT_MATCH_CONNLABEL=m -CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m -CONFIG_NETFILTER_XT_MATCH_CONNMARK=m -CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m -CONFIG_NETFILTER_XT_MATCH_CPU=m -CONFIG_NETFILTER_XT_MATCH_DCCP=m -CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m -CONFIG_NETFILTER_XT_MATCH_DSCP=m -CONFIG_NETFILTER_XT_MATCH_ECN=m -CONFIG_NETFILTER_XT_MATCH_ESP=m -CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m -CONFIG_NETFILTER_XT_MATCH_HELPER=m -CONFIG_NETFILTER_XT_MATCH_HL=m -CONFIG_NETFILTER_XT_MATCH_IPCOMP=m -CONFIG_NETFILTER_XT_MATCH_IPRANGE=m -CONFIG_NETFILTER_XT_MATCH_IPVS=m -CONFIG_NETFILTER_XT_MATCH_L2TP=m -CONFIG_NETFILTER_XT_MATCH_LENGTH=m -CONFIG_NETFILTER_XT_MATCH_LIMIT=m -CONFIG_NETFILTER_XT_MATCH_MAC=m -CONFIG_NETFILTER_XT_MATCH_MARK=m -CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m -CONFIG_NETFILTER_XT_MATCH_NFACCT=m -CONFIG_NETFILTER_XT_MATCH_OSF=m -CONFIG_NETFILTER_XT_MATCH_OWNER=m -CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m -CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m -CONFIG_NETFILTER_XT_MATCH_POLICY=m -CONFIG_NETFILTER_XT_MATCH_QUOTA=m -CONFIG_NETFILTER_XT_MATCH_RATEEST=m -CONFIG_NETFILTER_XT_MATCH_REALM=m -CONFIG_NETFILTER_XT_MATCH_RECENT=m -CONFIG_NETFILTER_XT_MATCH_SCTP=m -CONFIG_NETFILTER_XT_MATCH_SOCKET=m -CONFIG_NETFILTER_XT_MATCH_STATE=m -CONFIG_NETFILTER_XT_MATCH_STATISTIC=m -CONFIG_NETFILTER_XT_MATCH_STRING=m -CONFIG_NETFILTER_XT_MATCH_TCPMSS=m -CONFIG_NETFILTER_XT_MATCH_TIME=m -CONFIG_NETFILTER_XT_MATCH_U32=m -CONFIG_NETFILTER_XT_NAT=m -CONFIG_NETFILTER_XT_SET=m -CONFIG_NETFILTER_XT_TARGET_AUDIT=m -CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m -CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m -CONFIG_NETFILTER_XT_TARGET_CONNMARK=m -CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m -CONFIG_NETFILTER_XT_TARGET_CT=m -CONFIG_NETFILTER_XT_TARGET_DSCP=m -CONFIG_NETFILTER_XT_TARGET_HMARK=m -CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m -CONFIG_NETFILTER_XT_TARGET_LED=m -CONFIG_NETFILTER_XT_TARGET_LOG=m -CONFIG_NETFILTER_XT_TARGET_MARK=m -CONFIG_NETFILTER_XT_TARGET_NETMAP=m -CONFIG_NETFILTER_XT_TARGET_NFLOG=m -CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m -CONFIG_NETFILTER_XT_TARGET_NOTRACK=m -CONFIG_NETFILTER_XT_TARGET_RATEEST=m -CONFIG_NETFILTER_XT_TARGET_REDIRECT=m -CONFIG_NETFILTER_XT_TARGET_SECMARK=m -CONFIG_NETFILTER_XT_TARGET_TCPMSS=m -CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m -CONFIG_NETFILTER_XT_TARGET_TEE=m -CONFIG_NETFILTER_XT_TARGET_TPROXY=m -CONFIG_NETFILTER_XT_TARGET_TRACE=m -CONFIG_NETFILTER=y -CONFIG_NET_FOU_IP_TUNNELS=y -CONFIG_NET_FOU=m -CONFIG_NET_IFE=m -CONFIG_NET_IFE_SKBMARK=m -CONFIG_NET_IFE_SKBPRIO=m -CONFIG_NET_IFE_SKBTCINDEX=m -CONFIG_NET_IPGRE_BROADCAST=y -CONFIG_NET_IPGRE_DEMUX=m -CONFIG_NET_IPGRE=m -CONFIG_NET_IPIP=m -CONFIG_NET_IPVTI=m -CONFIG_NET_KEY=m -CONFIG_NET_KEY_MIGRATE=y -CONFIG_NET_L3_MASTER_DEV=y -CONFIG_NETLABEL=y -CONFIG_NETLINK_DIAG=m -CONFIG_NET_MPLS_GSO=m -CONFIG_NET_NCSI=y -CONFIG_NET_NS=y -CONFIG_NET_PACKET_ENGINE=y -CONFIG_NET_PKTGEN=m -CONFIG_NET_POLL_CONTROLLER=y -CONFIG_NETROM=m -CONFIG_NET_SCH_ATM=m -CONFIG_NET_SCH_CBQ=m -CONFIG_NET_SCH_CHOKE=m -CONFIG_NET_SCH_CODEL=m -# CONFIG_NET_SCH_DEFAULT is not set -CONFIG_NET_SCH_DRR=m -CONFIG_NET_SCH_DSMARK=m -CONFIG_NET_SCHED=y -CONFIG_NET_SCH_FQ_CODEL=y -CONFIG_NET_SCH_FQ=m -CONFIG_NET_SCH_GRED=m -CONFIG_NET_SCH_HFSC=m -CONFIG_NET_SCH_HHF=m -CONFIG_NET_SCH_HTB=m -CONFIG_NET_SCH_INGRESS=m -CONFIG_NET_SCH_MQPRIO=m -CONFIG_NET_SCH_MULTIQ=m -CONFIG_NET_SCH_NETEM=m -CONFIG_NET_SCH_PIE=m -CONFIG_NET_SCH_PLUG=m -CONFIG_NET_SCH_PRIO=m -CONFIG_NET_SCH_QFQ=m -CONFIG_NET_SCH_RED=m -CONFIG_NET_SCH_SFB=m -CONFIG_NET_SCH_SFQ=m -CONFIG_NET_SCH_TBF=m -CONFIG_NET_SCH_TEQL=m -CONFIG_NET_SCTPPROBE=m -CONFIG_NET_SWITCHDEV=y -# CONFIG_NET_TCPPROBE is not set -CONFIG_NET_TEAM=m -CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m -CONFIG_NET_TEAM_MODE_BROADCAST=m -CONFIG_NET_TEAM_MODE_LOADBALANCE=m -CONFIG_NET_TEAM_MODE_RANDOM=m -CONFIG_NET_TEAM_MODE_ROUNDROBIN=m -CONFIG_NET_TULIP=y -CONFIG_NET_VENDOR_3COM=y -CONFIG_NET_VENDOR_8390=y -CONFIG_NET_VENDOR_ADAPTEC=y -CONFIG_NET_VENDOR_AGERE=y -# CONFIG_NET_VENDOR_ALACRITECH is not set -CONFIG_NET_VENDOR_ALTEON=y -CONFIG_NET_VENDOR_AMAZON=y -CONFIG_NET_VENDOR_AMD=y -CONFIG_NET_VENDOR_AQUANTIA=y -CONFIG_NET_VENDOR_ARC=y -CONFIG_NET_VENDOR_ATHEROS=y -# CONFIG_NET_VENDOR_AURORA is not set -CONFIG_NET_VENDOR_BROADCOM=y -CONFIG_NET_VENDOR_BROCADE=y -# CONFIG_NET_VENDOR_CAVIUM is not set -CONFIG_NET_VENDOR_CHELSIO=y -CONFIG_NET_VENDOR_CISCO=y -CONFIG_NET_VENDOR_DEC=y -CONFIG_NET_VENDOR_DLINK=y -CONFIG_NET_VENDOR_EMULEX=y -CONFIG_NET_VENDOR_EXAR=y -# CONFIG_NET_VENDOR_EZCHIP is not set -# CONFIG_NET_VENDOR_FARADAY is not set -# CONFIG_NET_VENDOR_FUJITSU is not set -# CONFIG_NET_VENDOR_HISILICON is not set -# CONFIG_NET_VENDOR_HP is not set -# CONFIG_NET_VENDOR_I825XX is not set -CONFIG_NET_VENDOR_IBM=y -CONFIG_NET_VENDOR_INTEL=y -CONFIG_NET_VENDOR_MARVELL=y -CONFIG_NET_VENDOR_MICREL=y -# CONFIG_NET_VENDOR_MICROCHIP is not set -CONFIG_NET_VENDOR_MYRI=y -CONFIG_NET_VENDOR_NATSEMI=y -CONFIG_NET_VENDOR_NETRONOME=y -CONFIG_NET_VENDOR_NVIDIA=y -CONFIG_NET_VENDOR_OKI=y -# CONFIG_NET_VENDOR_PASEMI is not set -CONFIG_NET_VENDOR_QLOGIC=y -# CONFIG_NET_VENDOR_QUALCOMM is not set -CONFIG_NET_VENDOR_RDC=y -CONFIG_NET_VENDOR_REALTEK=y -# CONFIG_NET_VENDOR_RENESAS is not set -CONFIG_NET_VENDOR_ROCKER=y -# CONFIG_NET_VENDOR_SAMSUNG is not set -# CONFIG_NET_VENDOR_SEEQ is not set -CONFIG_NET_VENDOR_SILAN=y -CONFIG_NET_VENDOR_SIS=y -CONFIG_NET_VENDOR_SMSC=y -# CONFIG_NET_VENDOR_SOLARFLARE is not set -CONFIG_NET_VENDOR_STMICRO=y -CONFIG_NET_VENDOR_SUN=y -# CONFIG_NET_VENDOR_SYNOPSYS is not set -CONFIG_NET_VENDOR_TEHUTI=y -CONFIG_NET_VENDOR_TI=y -# CONFIG_NET_VENDOR_TOSHIBA is not set -CONFIG_NET_VENDOR_VIA=y -CONFIG_NET_VENDOR_WIZNET=y -# CONFIG_NET_VENDOR_XILINX is not set -CONFIG_NET_VENDOR_XIRCOM=y -CONFIG_NET_VRF=m -CONFIG_NETWORK_FILESYSTEMS=y -CONFIG_NETWORK_PHY_TIMESTAMPING=y -CONFIG_NETXEN_NIC=m -CONFIG_NET=y -CONFIG_NEW_LEDS=y -CONFIG_NFC_DIGITAL=m -# CONFIG_NFC_FDP is not set -CONFIG_NFC_HCI=m -CONFIG_NFC=m -CONFIG_NFC_MICROREAD_I2C=m -CONFIG_NFC_MICROREAD=m -# CONFIG_NFC_MRVL_I2C is not set -CONFIG_NFC_MRVL=m -# CONFIG_NFC_MRVL_SPI is not set -CONFIG_NFC_MRVL_USB=m -CONFIG_NFC_NCI=m -# CONFIG_NFC_NCI_SPI is not set -# CONFIG_NFC_NCI_UART is not set -CONFIG_NFC_NXP_NCI_I2C=m -CONFIG_NFC_NXP_NCI=m -CONFIG_NF_CONNTRACK_AMANDA=m -CONFIG_NF_CONNTRACK_EVENTS=y -CONFIG_NF_CONNTRACK_FTP=m -CONFIG_NF_CONNTRACK_H323=m -CONFIG_NF_CONNTRACK_IPV4=m -CONFIG_NF_CONNTRACK_IPV6=m -CONFIG_NF_CONNTRACK_IRC=m -CONFIG_NF_CONNTRACK=m -CONFIG_NF_CONNTRACK_MARK=y -CONFIG_NF_CONNTRACK_NETBIOS_NS=m -CONFIG_NF_CONNTRACK_PPTP=m -# CONFIG_NF_CONNTRACK_PROC_COMPAT is not set -CONFIG_NF_CONNTRACK_PROCFS=y -CONFIG_NF_CONNTRACK_SANE=m -CONFIG_NF_CONNTRACK_SECMARK=y -CONFIG_NF_CONNTRACK_SIP=m -CONFIG_NF_CONNTRACK_SNMP=m -CONFIG_NF_CONNTRACK_TFTP=m -# CONFIG_NF_CONNTRACK_TIMEOUT is not set -CONFIG_NF_CONNTRACK_TIMESTAMP=y -CONFIG_NF_CONNTRACK_ZONES=y -CONFIG_NFC_PN533_I2C=m -CONFIG_NFC_PN533=m -CONFIG_NFC_PN533_USB=m -CONFIG_NFC_PN544_I2C=m -CONFIG_NFC_PN544=m -CONFIG_NFC_PORT100=m -# CONFIG_NFC_S3FWRN5_I2C is not set -CONFIG_NFC_SHDLC=y -CONFIG_NFC_SIM=m -CONFIG_NFC_ST21NFCA_I2C=m -CONFIG_NFC_ST21NFCA=m -# CONFIG_NFC_ST95HF is not set -# CONFIG_NFC_ST_NCI_I2C is not set -# CONFIG_NFC_ST_NCI is not set -# CONFIG_NFC_ST_NCI_SPI is not set -CONFIG_NF_CT_NETLINK_HELPER=m -CONFIG_NF_CT_NETLINK=m -# CONFIG_NF_CT_NETLINK_TIMEOUT is not set -CONFIG_NF_CT_PROTO_DCCP=y -CONFIG_NF_CT_PROTO_SCTP=y -CONFIG_NF_CT_PROTO_UDPLITE=y -CONFIG_NFC_TRF7970A=m -CONFIG_NF_DUP_IPV4=m -CONFIG_NF_DUP_IPV6=m -CONFIG_NF_DUP_NETDEV=m -CONFIG_NF_LOG_ARP=m -CONFIG_NF_LOG_BRIDGE=m -CONFIG_NF_LOG_IPV4=m -CONFIG_NF_LOG_IPV6=m -CONFIG_NF_LOG_NETDEV=m -CONFIG_NF_NAT=m -CONFIG_NF_NAT_SNMP_BASIC=m -CONFIG_NFP_APP_FLOWER=y -# CONFIG_NFP_DEBUG is not set -CONFIG_NFP=m -# CONFIG_NFP_NET_DEBUG is not set -CONFIG_NFP_NETVF=m -CONFIG_NF_REJECT_IPV6=m -CONFIG_NFSD_BLOCKLAYOUT=y -CONFIG_NFSD_FAULT_INJECTION=y -CONFIG_NFSD_FLEXFILELAYOUT=y -CONFIG_NFSD=m -CONFIG_NFSD_PNFS=y -CONFIG_NFSD_SCSILAYOUT=y -CONFIG_NFSD_V3_ACL=y -CONFIG_NFSD_V3=y -CONFIG_NFSD_V4_SECURITY_LABEL=y -CONFIG_NFSD_V4=y -CONFIG_NFS_FSCACHE=y -CONFIG_NFS_FS=m -CONFIG_NF_SOCKET_IPV4=m -CONFIG_NF_SOCKET_IPV6=m -CONFIG_NFS_SWAP=y -# CONFIG_NFS_USE_LEGACY_DNS is not set -# CONFIG_NFS_V2 is not set -CONFIG_NFS_V3_ACL=y -CONFIG_NFS_V3=m -CONFIG_NFS_V4_1_IMPLEMENTATION_ID_DOMAIN="kernel.org" -# CONFIG_NFS_V4_1_MIGRATION is not set -CONFIG_NFS_V4_1=y -CONFIG_NFS_V4_2=y -CONFIG_NFS_V4=m -CONFIG_NF_TABLES_ARP=m -CONFIG_NF_TABLES_BRIDGE=m -CONFIG_NF_TABLES_INET=m -CONFIG_NF_TABLES_IPV4=m -CONFIG_NF_TABLES_IPV6=m -CONFIG_NF_TABLES=m -CONFIG_NF_TABLES_NETDEV=m -CONFIG_NFT_BRIDGE_META=m -CONFIG_NFT_BRIDGE_REJECT=m -CONFIG_NFT_CHAIN_NAT_IPV4=m -CONFIG_NFT_CHAIN_NAT_IPV6=m -CONFIG_NFT_CHAIN_ROUTE_IPV4=m -CONFIG_NFT_CHAIN_ROUTE_IPV6=m -CONFIG_NFT_COMPAT=m -CONFIG_NFT_COUNTER=m -CONFIG_NFT_CT=m -CONFIG_NFT_DUP_IPV4=m -CONFIG_NFT_DUP_IPV6=m -CONFIG_NFT_DUP_NETDEV=m -CONFIG_NFT_EXTHDR=m -CONFIG_NFT_FIB_INET=m -CONFIG_NFT_FIB_IPV4=m -CONFIG_NFT_FIB_IPV6=m -CONFIG_NFT_FWD_NETDEV=m -CONFIG_NFT_HASH=m -CONFIG_NFT_LIMIT=m -# CONFIG_NFTL is not set -CONFIG_NFT_LOG=m -CONFIG_NFT_MASQ_IPV4=m -CONFIG_NFT_MASQ_IPV6=m -CONFIG_NFT_MASQ=m -CONFIG_NFT_META=m -CONFIG_NFT_NAT=m -CONFIG_NFT_NUMGEN=m -CONFIG_NFT_OBJREF=m -CONFIG_NFT_QUEUE=m -CONFIG_NFT_QUOTA=m -CONFIG_NFT_RBTREE=m -CONFIG_NFT_REDIR_IPV4=m -CONFIG_NFT_REDIR_IPV6=m -CONFIG_NFT_REDIR=m -CONFIG_NFT_REJECT_IPV4=m -CONFIG_NFT_REJECT=m -CONFIG_NFT_RT=m -CONFIG_NFT_SET_BITMAP=m -CONFIG_NFT_SET_HASH=m -CONFIG_NFT_SET_RBTREE=m -CONFIG_N_GSM=m -CONFIG_N_HDLC=m -# CONFIG_NI65 is not set -# CONFIG_NI903X_WDT is not set -CONFIG_NILFS2_FS=m -CONFIG_NIU=m -# CONFIG_NL80211_TESTMODE is not set -CONFIG_NL80211=y -CONFIG_NLMON=m -CONFIG_NLS_ASCII=y -CONFIG_NLS_CODEPAGE_1250=m -CONFIG_NLS_CODEPAGE_1251=m -CONFIG_NLS_CODEPAGE_437=y -CONFIG_NLS_CODEPAGE_737=m -CONFIG_NLS_CODEPAGE_775=m -CONFIG_NLS_CODEPAGE_850=m -CONFIG_NLS_CODEPAGE_852=m -CONFIG_NLS_CODEPAGE_855=m -CONFIG_NLS_CODEPAGE_857=m -CONFIG_NLS_CODEPAGE_860=m -CONFIG_NLS_CODEPAGE_861=m -CONFIG_NLS_CODEPAGE_862=m -CONFIG_NLS_CODEPAGE_863=m -CONFIG_NLS_CODEPAGE_864=m -CONFIG_NLS_CODEPAGE_865=m -CONFIG_NLS_CODEPAGE_866=m -CONFIG_NLS_CODEPAGE_869=m -CONFIG_NLS_CODEPAGE_874=m -CONFIG_NLS_CODEPAGE_932=m -CONFIG_NLS_CODEPAGE_936=m -CONFIG_NLS_CODEPAGE_949=m -CONFIG_NLS_CODEPAGE_950=m -CONFIG_NLS_DEFAULT="utf8" -CONFIG_NLS_ISO8859_13=m -CONFIG_NLS_ISO8859_14=m -CONFIG_NLS_ISO8859_15=m -CONFIG_NLS_ISO8859_1=m -CONFIG_NLS_ISO8859_2=m -CONFIG_NLS_ISO8859_3=m -CONFIG_NLS_ISO8859_4=m -CONFIG_NLS_ISO8859_5=m -CONFIG_NLS_ISO8859_6=m -CONFIG_NLS_ISO8859_7=m -CONFIG_NLS_ISO8859_8=m -CONFIG_NLS_ISO8859_9=m -CONFIG_NLS_KOI8_R=m -CONFIG_NLS_KOI8_U=m -CONFIG_NLS_MAC_CELTIC=m -CONFIG_NLS_MAC_CENTEURO=m -CONFIG_NLS_MAC_CROATIAN=m -CONFIG_NLS_MAC_CYRILLIC=m -CONFIG_NLS_MAC_GAELIC=m -CONFIG_NLS_MAC_GREEK=m -CONFIG_NLS_MAC_ICELAND=m -CONFIG_NLS_MAC_INUIT=m -CONFIG_NLS_MAC_ROMANIAN=m -CONFIG_NLS_MAC_ROMAN=m -CONFIG_NLS_MAC_TURKISH=m -CONFIG_NLS_UTF8=m -CONFIG_NLS=y -CONFIG_NMI_LOG_BUF_SHIFT=13 -CONFIG_NO_HZ=y -CONFIG_NOP_USB_XCEIV=m -CONFIG_NORTEL_HERMES=m -# CONFIG_NOTIFIER_ERROR_INJECTION is not set -CONFIG_NOUVEAU_DEBUG=5 -CONFIG_NOUVEAU_DEBUG_DEFAULT=3 -CONFIG_NOZOMI=m -CONFIG_NR_CPUS=1024 -CONFIG_NR_DEV_DAX=32768 -CONFIG_NR_IRQS=512 -CONFIG_NS83820=m -CONFIG_NSC_FIR=m -CONFIG_NTB_IDT=m -# CONFIG_NTB is not set -# CONFIG_NTFS_FS is not set -CONFIG_NTP_PPS=y -CONFIG_NUMA_BALANCING_DEFAULT_ENABLED=y -CONFIG_NUMA_BALANCING=y -CONFIG_NUMA=y -CONFIG_NVME_FC=m -CONFIG_NVMEM=m -CONFIG_NVME_RDMA=m -CONFIG_NVME_TARGET_FCLOOP=m -CONFIG_NVME_TARGET_FC=m -CONFIG_NVME_TARGET_LOOP=m -CONFIG_NVME_TARGET=m -CONFIG_NVME_TARGET_RDMA=m -# CONFIG_NVM is not set -# CONFIG_NVRAM is not set -# CONFIG_OCFS2_DEBUG_FS is not set -# CONFIG_OCFS2_DEBUG_MASKLOG is not set -CONFIG_OCFS2_FS=m -CONFIG_OCFS2_FS_O2CB=m -# CONFIG_OCFS2_FS_STATS is not set -CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m -# CONFIG_OF_OVERLAY is not set -# CONFIG_OF_UNITTEST is not set -CONFIG_OLD_BELKIN_DONGLE=m -# CONFIG_OMFS_FS is not set -CONFIG_OPAL_PRD=m -CONFIG_OPENVSWITCH_GENEVE=m -CONFIG_OPENVSWITCH_GRE=m -CONFIG_OPENVSWITCH=m -CONFIG_OPENVSWITCH_VXLAN=m -# CONFIG_OPROFILE is not set -CONFIG_OPT3001=m -CONFIG_OPTIMIZE_INLINING=y -CONFIG_OPTPROBES=y -CONFIG_ORANGEFS_FS=m -CONFIG_ORINOCO_USB=m -CONFIG_OSF_PARTITION=y -# CONFIG_OVERLAY_FS_INDEX is not set -CONFIG_OVERLAY_FS=m -# CONFIG_OVERLAY_FS_REDIRECT_DIR is not set -CONFIG_P54_COMMON=m -CONFIG_P54_PCI=m -# CONFIG_P54_SPI is not set -CONFIG_P54_USB=m -CONFIG_PA12203001=m -CONFIG_PACKET_DIAG=m -CONFIG_PACKET=y -# CONFIG_PAGE_EXTENSION is not set -# CONFIG_PAGE_OWNER is not set -# CONFIG_PAGE_POISONING is not set -# CONFIG_PANEL is not set -# CONFIG_PANIC_ON_OOPS is not set -CONFIG_PANIC_TIMEOUT=0 -CONFIG_PANTHERLORD_FF=y -# CONFIG_PARIDE is not set -CONFIG_PARMAN=m -CONFIG_PARPORT_1284=y -# CONFIG_PARPORT_AX88796 is not set -CONFIG_PARPORT=m -# CONFIG_PARPORT_PC_FIFO is not set -CONFIG_PARPORT_PC=m -CONFIG_PARPORT_PC_PCMCIA=m -# CONFIG_PARPORT_PC_SUPERIO is not set -CONFIG_PARPORT_SERIAL=m -CONFIG_PARTITION_ADVANCED=y -CONFIG_PATA_ACPI=m -CONFIG_PATA_ALI=m -CONFIG_PATA_AMD=m -CONFIG_PATA_ARASAN_CF=m -CONFIG_PATA_ARTOP=m -CONFIG_PATA_ATIIXP=m -CONFIG_PATA_ATP867X=m -CONFIG_PATA_CMD640_PCI=m -CONFIG_PATA_CMD64X=m -CONFIG_PATA_CS5520=m -CONFIG_PATA_CS5530=m -CONFIG_PATA_CS5535=m -CONFIG_PATA_CS5536=m -CONFIG_PATA_CYPRESS=m -CONFIG_PATA_EFAR=m -CONFIG_PATA_HPT366=m -CONFIG_PATA_HPT37X=m -CONFIG_PATA_HPT3X2N=m -# CONFIG_PATA_HPT3X3_DMA is not set -CONFIG_PATA_HPT3X3=m -CONFIG_PATA_IT8213=m -CONFIG_PATA_IT821X=m -CONFIG_PATA_JMICRON=m -# CONFIG_PATA_LEGACY is not set -CONFIG_PATA_MARVELL=m -CONFIG_PATA_MPIIX=m -CONFIG_PATA_NETCELL=m -CONFIG_PATA_NINJA32=m -CONFIG_PATA_NS87410=m -CONFIG_PATA_NS87415=m -CONFIG_PATA_OLDPIIX=m -CONFIG_PATA_OPTIDMA=m -CONFIG_PATA_OPTI=m -CONFIG_PATA_PCMCIA=m -CONFIG_PATA_PDC2027X=m -CONFIG_PATA_PDC_OLD=m -# CONFIG_PATA_PLATFORM is not set -# CONFIG_PATA_RADISYS is not set -CONFIG_PATA_RDC=m -# CONFIG_PATA_RZ1000 is not set -# CONFIG_PATA_SC1200 is not set -CONFIG_PATA_SCH=m -CONFIG_PATA_SERVERWORKS=m -CONFIG_PATA_SIL680=m -CONFIG_PATA_SIS=m -CONFIG_PATA_TOSHIBA=m -CONFIG_PATA_TRIFLEX=m -CONFIG_PATA_VIA=m -CONFIG_PATA_WINBOND=m -# CONFIG_PC104 is not set -# CONFIG_PC87413_WDT is not set -CONFIG_PCCARD=y -CONFIG_PCF50633_ADC=m -CONFIG_PCF50633_GPIO=m -# CONFIG_PCH_GBE is not set -# CONFIG_PCI_DEBUG is not set -CONFIG_PCIEAER_INJECT=m -CONFIG_PCIEAER=y -# CONFIG_PCIEASPM_DEBUG is not set -CONFIG_PCIEASPM=y -CONFIG_PCIE_DPC=y -# CONFIG_PCIE_DW_PLAT is not set -CONFIG_PCIE_ECRC=y -# CONFIG_PCI_ENDPOINT is not set -# CONFIG_PCI_ENDPOINT_TEST is not set -# CONFIG_PCIEPORTBUS is not set -CONFIG_PCIE_PTM=y -CONFIG_PCI_HERMES=m -CONFIG_PCI_IOV=y -# CONFIG_PCI_MSI_IRQ_DOMAIN is not set -CONFIG_PCI_MSI=y -CONFIG_PCI_PASID=y -CONFIG_PCIPCWATCHDOG=m -CONFIG_PCI_PRI=y -# CONFIG_PCI_REALLOC_ENABLE_AUTO is not set -CONFIG_PCI_STUB=y -CONFIG_PCI_SW_SWITCHTEC=m -CONFIG_PCI=y -CONFIG_PCMCIA_3C574=m -CONFIG_PCMCIA_3C589=m -CONFIG_PCMCIA_AXNET=m -# CONFIG_PCMCIA_DEBUG is not set -CONFIG_PCMCIA_FMVJ18X=m -CONFIG_PCMCIA_HERMES=m -CONFIG_PCMCIA_LOAD_CIS=y -CONFIG_PCMCIA_NMCLAN=m -CONFIG_PCMCIA_PCNET=m -# CONFIG_PCMCIA_RAYCS is not set -CONFIG_PCMCIA_SMC91C92=m -# CONFIG_PCMCIA_SPECTRUM is not set -# CONFIG_PCMCIA_WL3501 is not set -CONFIG_PCMCIA_XIRC2PS=m -CONFIG_PCMCIA_XIRCOM=m -CONFIG_PCMCIA=y -CONFIG_PCNET32=m -CONFIG_PD6729=m -# CONFIG_PDA_POWER is not set -CONFIG_PDC_ADMA=m -# CONFIG_PERCPU_STATS is not set -# CONFIG_PERCPU_TEST is not set -CONFIG_PERF_EVENTS=y -CONFIG_PERSISTENT_KEYRINGS=y -# CONFIG_PGTABLE_MAPPING is not set -# CONFIG_PHANTOM is not set -# CONFIG_PHONE is not set -# CONFIG_PHONET is not set -# CONFIG_PHY_CPCAP_USB is not set -CONFIG_PHYLIB=y -# CONFIG_PHY_PXA_28NM_HSIC is not set -# CONFIG_PHY_PXA_28NM_USB2 is not set -# CONFIG_PHY_QCOM_USB_HSIC is not set -# CONFIG_PHY_QCOM_USB_HS is not set -# CONFIG_PHY_ST_SPEAR1310_MIPHY is not set -# CONFIG_PHY_ST_SPEAR1340_MIPHY is not set -# CONFIG_PHY_TUSB1210 is not set -CONFIG_PID_NS=y -# CONFIG_PINCONF is not set -# CONFIG_PINCTRL_CANNONLAKE is not set -# CONFIG_PINCTRL_IPQ8074 is not set -# CONFIG_PINCTRL is not set -# CONFIG_PINCTRL_MCP23S08 is not set -# CONFIG_PINCTRL_MSM8994 is not set -# CONFIG_PINCTRL_SX150X is not set -# CONFIG_PINMUX is not set -CONFIG_PKCS7_MESSAGE_PARSER=y -# CONFIG_PKCS7_TEST_KEY is not set -# CONFIG_PLATFORM_SI4713 is not set -# CONFIG_PLIP is not set -CONFIG_PLX_HERMES=m -CONFIG_PM_ADVANCED_DEBUG=y -# CONFIG_PM_AUTOSLEEP is not set -CONFIG_PMBUS=m -CONFIG_PM_DEBUG=y -# CONFIG_PM_DEVFREQ_EVENT is not set -CONFIG_PM_DEVFREQ=y -# CONFIG_PMIC_ADP5520 is not set -# CONFIG_PMIC_DA903X is not set -# CONFIG_PM_OPP is not set -CONFIG_PM_STD_PARTITION="" -CONFIG_PM_TEST_SUSPEND=y -CONFIG_PM_TRACE_RTC=y -CONFIG_PM_TRACE=y -# CONFIG_PM_WAKELOCKS is not set -CONFIG_PM=y -CONFIG_PNFS_BLOCK=m -CONFIG_PNFS_OBJLAYOUT=m -CONFIG_POSIX_MQUEUE=y -CONFIG_POWER7_CPU=y -# CONFIG_POWER_AVS is not set -CONFIG_POWERCAP=y -CONFIG_POWERNV_CPUFREQ=y -CONFIG_POWERNV_CPUIDLE=y -# CONFIG_POWERNV_OP_PANEL is not set -# CONFIG_POWER_RESET_BRCMKONA is not set -# CONFIG_POWER_RESET_BRCMSTB is not set -CONFIG_POWER_RESET_GPIO_RESTART=y -CONFIG_POWER_RESET_GPIO=y -# CONFIG_POWER_RESET_LTC2952 is not set -# CONFIG_POWER_RESET_RESTART is not set -# CONFIG_POWER_RESET_SYSCON is not set -# CONFIG_POWER_RESET_SYSCON_POWEROFF is not set -CONFIG_POWER_RESET=y -# CONFIG_POWER_SUPPLY_DEBUG is not set -CONFIG_POWER_SUPPLY=y -CONFIG_PPC_64K_PAGES=y -CONFIG_PPC64_SUPPORTS_MEMORY_FAILURE=y -CONFIG_PPC64=y -# CONFIG_PPC_82xx is not set -# CONFIG_PPC_83xx is not set -# CONFIG_PPC_86xx is not set -# CONFIG_PPC_CELL is not set -CONFIG_PPC_CPUFEATURES_ENABLE_UNKNOWN=y -CONFIG_PPC_DENORMALISATION=y -CONFIG_PPC_DISABLE_WERROR=y -CONFIG_PPC_DT_CPU_FTRS=y -# CONFIG_PPC_EARLY_DEBUG is not set -CONFIG_PPC_EMULATED_STATS=y -# CONFIG_PPC_EPAPR_HV_BYTECHAN is not set -# CONFIG_PPC_IBM_CELL_BLADE is not set -# CONFIG_PPC_ICSWX_PID is not set -# CONFIG_PPC_ICSWX_USE_SIGILL is not set -CONFIG_PPC_ICSWX=y -# CONFIG_PPC_MAPLE is not set -# CONFIG_PPC_MPC5200_LPBFIFO is not set -CONFIG_PPC_OF_BOOT_TRAMPOLINE=y -# CONFIG_PPC_PASEMI is not set -# CONFIG_PPC_PMAC64 is not set -# CONFIG_PPC_PMAC is not set -CONFIG_PPC_POWERNV=y -# CONFIG_PPC_PS3 is not set -CONFIG_PPC_PSERIES=y -# CONFIG_PPC_PTDUMP is not set -CONFIG_PPC_RADIX_MMU=y -CONFIG_PPC_SMLPAR=y -CONFIG_PPC_SPLPAR=y -CONFIG_PPC_SUBPAGE_PROT=y -CONFIG_PPC_TRANSACTIONAL_MEM=y -CONFIG_PPC=y -CONFIG_PPDEV=m -CONFIG_PPP_ASYNC=m -CONFIG_PPP_BSDCOMP=m -CONFIG_PPP_DEFLATE=m -CONFIG_PPP_FILTER=y -CONFIG_PPP=m -CONFIG_PPP_MPPE=m -CONFIG_PPP_MULTILINK=y -CONFIG_PPPOATM=m -CONFIG_PPPOE=m -CONFIG_PPPOL2TP=m -CONFIG_PPP_SYNC_TTY=m -CONFIG_PPS_CLIENT_GPIO=m -# CONFIG_PPS_CLIENT_KTIMER is not set -CONFIG_PPS_CLIENT_LDISC=m -CONFIG_PPS_CLIENT_PARPORT=m -# CONFIG_PPS_DEBUG is not set -CONFIG_PPS_GENERATOR_PARPORT=m -CONFIG_PPS=m -CONFIG_PPTP=m -# CONFIG_PREEMPT is not set -# CONFIG_PREEMPT_NONE is not set -CONFIG_PREEMPT_VOLUNTARY=y -CONFIG_PREVENT_FIRMWARE_BUILD=y -CONFIG_PRINTER=m -CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=12 -CONFIG_PRINTK_TIME=y -# CONFIG_PRINT_QUOTA_WARNING is not set -CONFIG_PRINT_STACK_DEPTH=64 -# CONFIG_PRISM2_USB is not set -# CONFIG_PRISM54 is not set -CONFIG_PROC_CHILDREN=y -CONFIG_PROC_EVENTS=y -CONFIG_PROC_FS=y -CONFIG_PROC_KCORE=y -CONFIG_PROC_PID_CPUSET=y -CONFIG_PROC_VMCORE=y -CONFIG_PROFILING=y -CONFIG_PROVE_LOCKING=y -# CONFIG_PROVE_RCU_REPEATEDLY is not set -CONFIG_PROVE_RCU=y -# CONFIG_PS3_VRAM is not set -CONFIG_PSAMPLE=m -CONFIG_PSERIES_CPUIDLE=y -CONFIG_PSERIES_ENERGY=m -# CONFIG_PSTORE_CONSOLE is not set -# CONFIG_PSTORE_FTRACE is not set -# CONFIG_PSTORE_PMSG is not set -CONFIG_PSTORE_RAM=m -CONFIG_PSTORE=y -CONFIG_PTP_1588_CLOCK=m -CONFIG_PTP_1588_CLOCK_PCH=m -# CONFIG_PWM_FSL_FTM is not set -CONFIG_PWM_HIBVT=m -# CONFIG_PWM_PCA9685 is not set -CONFIG_PWM=y -CONFIG_PWRSEQ_EMMC=m -CONFIG_PWRSEQ_SD8787=m -CONFIG_PWRSEQ_SIMPLE=m -# CONFIG_QCA7000 is not set -# CONFIG_QCA7000_SPI is not set -# CONFIG_QCA7000_UART is not set -# CONFIG_QCOM_EMAC is not set -# CONFIG_QCOM_HIDMA is not set -# CONFIG_QCOM_HIDMA_MGMT is not set -CONFIG_QEDE=m -CONFIG_QEDF=m -CONFIG_QEDI=m -CONFIG_QED=m -CONFIG_QED_SRIOV=y -# CONFIG_QFMT_V1 is not set -CONFIG_QFMT_V2=y -CONFIG_QLA3XXX=m -CONFIG_QLCNIC_DCB=y -CONFIG_QLCNIC_HWMON=y -CONFIG_QLCNIC=m -CONFIG_QLCNIC_SRIOV=y -CONFIG_QLGE=m -# CONFIG_QNX4FS_FS is not set -# CONFIG_QNX6FS_FS is not set -CONFIG_QSEMI_PHY=m -CONFIG_QTNFMAC_PEARL_PCIE=m -CONFIG_QUOTACTL=y -CONFIG_QUOTA_DEBUG=y -CONFIG_QUOTA_NETLINK_INTERFACE=y -CONFIG_QUOTA=y -CONFIG_R3964=m -CONFIG_R6040=m -CONFIG_R8169=m -# CONFIG_R8188EU is not set -CONFIG_R8712U=m -CONFIG_R8723AU=m # Jes Sorensen maintains this (rhbz 1100162) -CONFIG_RADIO_ADAPTERS=y -CONFIG_RADIO_AZTECH=m -CONFIG_RADIO_CADET=m -CONFIG_RADIO_GEMTEK=m -CONFIG_RADIO_MAXIRADIO=m -# CONFIG_RADIO_MIROPCM20 is not set -CONFIG_RADIO_RTRACK2=m -CONFIG_RADIO_RTRACK=m -CONFIG_RADIO_SAA7706H=m -CONFIG_RADIO_SF16FMI=m -CONFIG_RADIO_SF16FMR2=m -CONFIG_RADIO_SHARK2=m -CONFIG_RADIO_SHARK=m -CONFIG_RADIO_SI470X=y -CONFIG_RADIO_SI4713=m -CONFIG_RADIO_TEA5764=m -# CONFIG_RADIO_TEF6862 is not set -CONFIG_RADIO_TERRATEC=m -CONFIG_RADIO_TRUST=m -CONFIG_RADIO_TYPHOON=m -CONFIG_RADIO_WL1273=m -CONFIG_RADIO_ZOLTRIX=m -CONFIG_RAID_ATTRS=m -# CONFIG_RANDOM32_SELFTEST is not set -# CONFIG_RAPIDIO is not set -CONFIG_RAS_CEC=y -CONFIG_RAW_DRIVER=y -# CONFIG_RBTREE_TEST is not set -CONFIG_RC_ATI_REMOTE=m -CONFIG_RC_CORE=m -CONFIG_RC_DECODERS=y -CONFIG_RC_DEVICES=y -CONFIG_RC_LOOPBACK=m -CONFIG_RC_MAP=m -CONFIG_RCU_CPU_STALL_TIMEOUT=60 -# CONFIG_RCU_EQS_DEBUG is not set -# CONFIG_RCU_EXPERT is not set -CONFIG_RCU_FANOUT=64 -CONFIG_RCU_FANOUT_LEAF=16 -CONFIG_RCU_FAST_NO_HZ=y -CONFIG_RCU_KTHREAD_PRIO=0 -CONFIG_RCU_NOCB_CPU_ALL=y -CONFIG_RCU_NOCB_CPU=y -# CONFIG_RCU_PERF_TEST is not set -CONFIG_RCU_TORTURE_TEST=m -# CONFIG_RCU_TORTURE_TEST_SLOW_CLEANUP is not set -CONFIG_RCU_TORTURE_TEST_SLOW_INIT_DELAY=3 -# CONFIG_RCU_TORTURE_TEST_SLOW_INIT is not set -# CONFIG_RCU_TORTURE_TEST_SLOW_PREINIT is not set -# CONFIG_RCU_TRACE is not set -CONFIG_RD_BZIP2=y -CONFIG_RD_GZIP=y -CONFIG_RD_LZ4=y -CONFIG_RD_LZMA=y -CONFIG_RD_LZO=y -CONFIG_RDMA_RXE=m -# CONFIG_RDS_DEBUG is not set -CONFIG_RDS=m -CONFIG_RDS_RDMA=m -CONFIG_RDS_TCP=m -CONFIG_RD_XZ=y -# CONFIG_READABLE_ASM is not set -CONFIG_REALTEK_AUTOPM=y -CONFIG_REALTEK_PHY=m -CONFIG_REFCOUNT_FULL=y -CONFIG_REGMAP_I2C=m -CONFIG_REGMAP=y -# CONFIG_REGULATOR_DEBUG is not set -# CONFIG_REGULATOR is not set -# CONFIG_REGULATOR_TPS65132 is not set -CONFIG_REGULATOR_VCTRL=m -# CONFIG_REISERFS_CHECK is not set -CONFIG_REISERFS_FS=m -CONFIG_REISERFS_FS_POSIX_ACL=y -CONFIG_REISERFS_FS_SECURITY=y -CONFIG_REISERFS_FS_XATTR=y -CONFIG_REISERFS_PROC_INFO=y -CONFIG_RELAY=y -# CONFIG_RELOCATABLE_TEST is not set -CONFIG_RELOCATABLE=y -CONFIG_REMOTEPROC=m -# CONFIG_RESET_TI_SYSCON is not set -# CONFIG_RFD_FTL is not set -CONFIG_RFKILL_GPIO=m -CONFIG_RFKILL_INPUT=y -CONFIG_RFKILL=m -CONFIG_RING_BUFFER_BENCHMARK=m -# CONFIG_RING_BUFFER_STARTUP_TEST is not set -# CONFIG_RIO is not set -CONFIG_RMI4_CORE=m -CONFIG_RMI4_F03=y -CONFIG_RMI4_F11=y -CONFIG_RMI4_F12=y -CONFIG_RMI4_F30=y -CONFIG_RMI4_F34=y -# CONFIG_RMI4_F54 is not set -CONFIG_RMI4_F55=y -CONFIG_RMI4_I2C=m -CONFIG_RMI4_SMB=m -CONFIG_RMI4_SPI=m -CONFIG_ROCKER=m -CONFIG_ROCKETPORT=m -CONFIG_ROMFS_FS=m -CONFIG_ROSE=m -CONFIG_RPCSEC_GSS_KRB5=m -# CONFIG_RPMSG_CHAR is not set -# CONFIG_RPMSG_QCOM_GLINK_RPM is not set -CONFIG_RPR0521=m -CONFIG_RSI_91X=m -CONFIG_RSI_DEBUGFS=y -CONFIG_RSI_SDIO=m -CONFIG_RSI_USB=m -CONFIG_RT2400PCI=m -CONFIG_RT2500PCI=m -CONFIG_RT2500USB=m -CONFIG_RT2800PCI=m -CONFIG_RT2800PCI_RT3290=y -CONFIG_RT2800PCI_RT33XX=y -CONFIG_RT2800PCI_RT35XX=y -CONFIG_RT2800PCI_RT53XX=y -CONFIG_RT2800USB=m -CONFIG_RT2800USB_RT33XX=y -CONFIG_RT2800USB_RT3573=y -CONFIG_RT2800USB_RT35XX=y -CONFIG_RT2800USB_RT53XX=y -CONFIG_RT2800USB_RT55XX=y -CONFIG_RT2800USB_UNKNOWN=y -# CONFIG_RT2X00_DEBUG is not set -CONFIG_RT2X00_LIB_DEBUGFS=y -CONFIG_RT2X00=m -CONFIG_RT61PCI=m -CONFIG_RT73USB=m -CONFIG_RTAS_FLASH=y -CONFIG_RTAS_PROC=y -CONFIG_RTC_CLASS=y -# CONFIG_RTC_DEBUG is not set -# CONFIG_RTC_DRV_AB3100 is not set -# CONFIG_RTC_DRV_ABB5ZES3 is not set -CONFIG_RTC_DRV_ABX80X=m -CONFIG_RTC_DRV_BQ32K=m -CONFIG_RTC_DRV_BQ4802=m -CONFIG_RTC_DRV_CMOS=y -CONFIG_RTC_DRV_DS1286=m -# CONFIG_RTC_DRV_DS1302 is not set -CONFIG_RTC_DRV_DS1305=m -# CONFIG_RTC_DRV_DS1307_CENTURY is not set -CONFIG_RTC_DRV_DS1307_HWMON=y -CONFIG_RTC_DRV_DS1307=m -CONFIG_RTC_DRV_DS1343=m -CONFIG_RTC_DRV_DS1347=m -CONFIG_RTC_DRV_DS1374=m -CONFIG_RTC_DRV_DS1374_WDT=y -CONFIG_RTC_DRV_DS1390=m -CONFIG_RTC_DRV_DS1511=m -CONFIG_RTC_DRV_DS1553=m -CONFIG_RTC_DRV_DS1672=m -CONFIG_RTC_DRV_DS1685_FAMILY=m -CONFIG_RTC_DRV_DS1742=m -CONFIG_RTC_DRV_DS2404=m -# CONFIG_RTC_DRV_DS3232_HWMON is not set -CONFIG_RTC_DRV_DS3232=m -# CONFIG_RTC_DRV_EFI is not set -CONFIG_RTC_DRV_EM3027=m -# CONFIG_RTC_DRV_EP93XX is not set -CONFIG_RTC_DRV_FM3130=m -# CONFIG_RTC_DRV_FTRTC010 is not set -CONFIG_RTC_DRV_GENERIC=y -# CONFIG_RTC_DRV_HID_SENSOR_TIME is not set -# CONFIG_RTC_DRV_HYM8563 is not set -CONFIG_RTC_DRV_ISL12022=m -# CONFIG_RTC_DRV_ISL12057 is not set -CONFIG_RTC_DRV_ISL1208=m -CONFIG_RTC_DRV_M41T80=m -CONFIG_RTC_DRV_M41T80_WDT=y -CONFIG_RTC_DRV_M41T93=m -CONFIG_RTC_DRV_M41T94=m -CONFIG_RTC_DRV_M48T35=m -CONFIG_RTC_DRV_M48T59=m -# CONFIG_RTC_DRV_M48T86 is not set -CONFIG_RTC_DRV_MAX6900=m -CONFIG_RTC_DRV_MAX6902=m -CONFIG_RTC_DRV_MAX6916=m -CONFIG_RTC_DRV_MCP795=m -# CONFIG_RTC_DRV_MOXART is not set -CONFIG_RTC_DRV_MSM6242=m -CONFIG_RTC_DRV_OPAL=m -CONFIG_RTC_DRV_PCF2123=m -CONFIG_RTC_DRV_PCF2127=m -CONFIG_RTC_DRV_PCF50633=m -CONFIG_RTC_DRV_PCF85063=m -CONFIG_RTC_DRV_PCF8523=m -CONFIG_RTC_DRV_PCF8563=m -CONFIG_RTC_DRV_PCF8583=m -CONFIG_RTC_DRV_PM8XXX=m -CONFIG_RTC_DRV_R7301=m -CONFIG_RTC_DRV_R9701=m -CONFIG_RTC_DRV_RP5C01=m -CONFIG_RTC_DRV_RS5C348=m -CONFIG_RTC_DRV_RS5C372=m -CONFIG_RTC_DRV_RV3029C2=m -CONFIG_RTC_DRV_RV3029_HWMON=y -# CONFIG_RTC_DRV_RV8803 is not set -CONFIG_RTC_DRV_RX4581=m -# CONFIG_RTC_DRV_RX6110 is not set -CONFIG_RTC_DRV_RX8010=m -CONFIG_RTC_DRV_RX8025=m -CONFIG_RTC_DRV_RX8581=m -# CONFIG_RTC_DRV_S35390A is not set -# CONFIG_RTC_DRV_SA1100 is not set -# CONFIG_RTC_DRV_SNVS is not set -CONFIG_RTC_DRV_STK17TA8=m -# CONFIG_RTC_DRV_TEST is not set -CONFIG_RTC_DRV_V3020=m -CONFIG_RTC_DRV_WM831X=m -CONFIG_RTC_DRV_WM8350=m -CONFIG_RTC_DRV_X1205=m -# CONFIG_RTC_DRV_ZYNQMP is not set -# CONFIG_RTC_DS1685_PROC_REGS is not set -CONFIG_RTC_DS1685_SYSFS_REGS=y -CONFIG_RTC_HCTOSYS_DEVICE="rtc0" -CONFIG_RTC_HCTOSYS=y -# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set -CONFIG_RTC_INTF_DEV=y -CONFIG_RTC_INTF_PROC=y -CONFIG_RTC_INTF_SYSFS=y -# CONFIG_RTC is not set -# CONFIG_RTC_NVMEM is not set -# CONFIG_RTC_SYSTOHC is not set -# CONFIG_RT_GROUP_SCHED is not set -CONFIG_RTL8180=m -CONFIG_RTL8187=m -CONFIG_RTL8188EE=m -CONFIG_RTL8192CE=m -CONFIG_RTL8192CU=m -CONFIG_RTL8192DE=m -CONFIG_RTL8192EE=m -CONFIG_RTL8192E=m -CONFIG_RTL8192SE=m -# CONFIG_RTL8192U is not set -CONFIG_RTL8723AE=m -CONFIG_RTL8723BE=m -CONFIG_RTL8723BS=m -CONFIG_RTL8821AE=m -CONFIG_RTL8XXXU=m -CONFIG_RTL8XXXU_UNTESTED=y -CONFIG_RTL_CARDS=m -CONFIG_RTLLIB_CRYPTO_CCMP=m -CONFIG_RTLLIB_CRYPTO_TKIP=m -CONFIG_RTLLIB_CRYPTO_WEP=m -CONFIG_RTLLIB=m -# CONFIG_RTLWIFI_DEBUG is not set -CONFIG_RTLWIFI=m -# CONFIG_RTS5208 is not set -CONFIG_S2IO=m -# CONFIG_SAMPLES is not set -# CONFIG_SAMSUNG_USBPHY is not set -CONFIG_SATA_ACARD_AHCI=m -CONFIG_SATA_AHCI_PLATFORM=m -CONFIG_SATA_AHCI=y -# CONFIG_SATA_DWC is not set -# CONFIG_SATA_HIGHBANK is not set -CONFIG_SATA_INIC162X=m -CONFIG_SATA_MV=m -CONFIG_SATA_NV=m -CONFIG_SATA_PMP=y -CONFIG_SATA_PROMISE=m -CONFIG_SATA_QSTOR=m -CONFIG_SATA_SIL24=m -CONFIG_SATA_SIL=m -CONFIG_SATA_SIS=m -CONFIG_SATA_SVW=m -CONFIG_SATA_SX4=m -CONFIG_SATA_ULI=m -CONFIG_SATA_VIA=m -CONFIG_SATA_VITESSE=m -# CONFIG_SATA_ZPODD is not set -# CONFIG_SBC7240_WDT is not set -# CONFIG_SBC8360_WDT is not set -# CONFIG_SBC_EPX_C3_WATCHDOG is not set -CONFIG_SBP_TARGET=m -# CONFIG_SC1200_WDT is not set -# CONFIG_SC520_WDT is not set -CONFIG_SC92031=m -# CONFIG_SCA3000 is not set -CONFIG_SCANLOG=y -CONFIG_SCHED_AUTOGROUP=y -CONFIG_SCHED_DEBUG=y -# CONFIG_SCHED_MC_PRIO is not set -CONFIG_SCHED_OMIT_FRAME_POINTER=y -CONFIG_SCHED_SMT=y -# CONFIG_SCHED_STACK_END_CHECK is not set -CONFIG_SCHEDSTATS=y -CONFIG_SCHED_TRACER=y -CONFIG_SCOM_DEBUGFS=y -# CONFIG_SCR24X is not set -CONFIG_SCSI_3W_9XXX=m -CONFIG_SCSI_3W_SAS=m -CONFIG_SCSI_AACRAID=m -CONFIG_SCSI_ACARD=m -# CONFIG_SCSI_ADVANSYS is not set -# CONFIG_SCSI_AHA1542 is not set -CONFIG_SCSI_AIC79XX=m -CONFIG_SCSI_AIC7XXX=m -# CONFIG_SCSI_AIC94XX is not set -CONFIG_SCSI_AM53C974=m -CONFIG_SCSI_ARCMSR=m -CONFIG_SCSI_BFA_FC=m -CONFIG_SCSI_BNX2_ISCSI=m -CONFIG_SCSI_BNX2X_FCOE=m -# CONFIG_SCSI_BUSLOGIC is not set -CONFIG_SCSI_CHELSIO_FCOE=m -CONFIG_SCSI_CONSTANTS=y -CONFIG_SCSI_CXGB3_ISCSI=m -CONFIG_SCSI_CXGB4_ISCSI=m -CONFIG_SCSI_DC395x=m -CONFIG_SCSI_DEBUG=m -CONFIG_SCSI_DH_ALUA=m -CONFIG_SCSI_DH_EMC=m -CONFIG_SCSI_DH_HP_SW=m -CONFIG_SCSI_DH_RDAC=m -CONFIG_SCSI_DH=y -CONFIG_SCSI_DMX3191D=m -# CONFIG_SCSI_DPT_I2O is not set -# CONFIG_SCSI_EATA is not set -# CONFIG_SCSI_EATA_PIO is not set -CONFIG_SCSI_ENCLOSURE=m -CONFIG_SCSI_ESAS2R=m -CONFIG_SCSI_FC_ATTRS=m -CONFIG_SCSI_FLASHPOINT=y -# CONFIG_SCSI_FUTURE_DOMAIN is not set -CONFIG_SCSI_GDTH=m -# CONFIG_SCSI_HISI_SAS is not set -CONFIG_SCSI_HPSA=m -CONFIG_SCSI_HPTIOP=m -CONFIG_SCSI_IBMVFC=m -# CONFIG_SCSI_IBMVFC_TRACE is not set -CONFIG_SCSI_IBMVSCSI=m -CONFIG_SCSI_IBMVSCSIS=m -# CONFIG_SCSI_IMM is not set -# CONFIG_SCSI_IN2000 is not set -CONFIG_SCSI_INIA100=m -CONFIG_SCSI_INITIO=m -CONFIG_SCSI_IPR_DUMP=y -CONFIG_SCSI_IPR=m -CONFIG_SCSI_IPR_TRACE=y -# CONFIG_SCSI_IPS is not set -CONFIG_SCSI_ISCI=m -CONFIG_SCSI_ISCSI_ATTRS=m -# CONFIG_SCSI_IZIP_EPP16 is not set -# CONFIG_SCSI_IZIP_SLOW_CTR is not set -CONFIG_SCSI_LOGGING=y -# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set -CONFIG_SCSI_LOWLEVEL=y -# CONFIG_SCSI_LPFC_DEBUG_FS is not set -CONFIG_SCSI_LPFC=m -CONFIG_SCSI_MPT2SAS=m -CONFIG_SCSI_MPT2SAS_MAX_SGE=128 -CONFIG_SCSI_MPT3SAS=m -CONFIG_SCSI_MPT3SAS_MAX_SGE=128 -# CONFIG_SCSI_MQ_DEFAULT is not set -# CONFIG_SCSI_MVSAS_DEBUG is not set -CONFIG_SCSI_MVSAS=m -CONFIG_SCSI_MVSAS_TASKLET=y -CONFIG_SCSI_MVUMI=m -# CONFIG_SCSI_NSP32 is not set -# CONFIG_SCSI_OSD_DEBUG is not set -CONFIG_SCSI_OSD_DPRINT_SENSE=1 -CONFIG_SCSI_OSD_INITIATOR=m -CONFIG_SCSI_OSD_ULD=m -CONFIG_SCSI_PM8001=m -CONFIG_SCSI_PMCRAID=m -# CONFIG_SCSI_PPA is not set -CONFIG_SCSI_PROC_FS=y -CONFIG_SCSI_QLA_FC=m -CONFIG_SCSI_QLA_ISCSI=m -CONFIG_SCSI_QLOGIC_1280=m -CONFIG_SCSI_SAS_ATA=y -CONFIG_SCSI_SAS_ATTRS=m -CONFIG_SCSI_SAS_HOST_SMP=y -CONFIG_SCSI_SAS_LIBSAS=m -CONFIG_SCSI_SCAN_ASYNC=y -CONFIG_SCSI_SMARTPQI=m -# CONFIG_SCSI_SNIC_DEBUG_FS is not set -CONFIG_SCSI_SNIC=m -CONFIG_SCSI_SPI_ATTRS=m -CONFIG_SCSI_SRP_ATTRS=m -CONFIG_SCSI_SRP=m -CONFIG_SCSI_STEX=m -CONFIG_SCSI_SYM53C8XX_2=m -CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16 -CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1 -CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64 -CONFIG_SCSI_SYM53C8XX_MMIO=y -# CONFIG_SCSI_UFS_DWC_TC_PCI is not set -CONFIG_SCSI_UFSHCD=m -CONFIG_SCSI_UFSHCD_PCI=m -# CONFIG_SCSI_UFSHCD_PLATFORM is not set -CONFIG_SCSI_VIRTIO=m -CONFIG_SCSI_WD719X=m -CONFIG_SCSI=y -CONFIG_SCTP_COOKIE_HMAC_MD5=y -CONFIG_SCTP_COOKIE_HMAC_SHA1=y -# CONFIG_SCTP_DBG_OBJCNT is not set -# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5 is not set -# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set -CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=y -CONFIG_SDIO_UART=m -CONFIG_SECCOMP=y -CONFIG_SECONDARY_TRUSTED_KEYRING=y -CONFIG_SECTION_MISMATCH_WARN_ONLY=y -# CONFIG_SECURITY_APPARMOR is not set -# CONFIG_SECURITY_DMESG_RESTRICT is not set -CONFIG_SECURITYFS=y -CONFIG_SECURITY_INFINIBAND=y -# CONFIG_SECURITY_LOADPIN is not set -CONFIG_SECURITY_NETWORK_XFRM=y -CONFIG_SECURITY_NETWORK=y -# CONFIG_SECURITY_PATH is not set -CONFIG_SECURITY_SELINUX_AVC_STATS=y -CONFIG_SECURITY_SELINUX_BOOTPARAM_VALUE=1 -CONFIG_SECURITY_SELINUX_BOOTPARAM=y -CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1 -CONFIG_SECURITY_SELINUX_DEVELOP=y -CONFIG_SECURITY_SELINUX_DISABLE=y -# CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAX is not set -CONFIG_SECURITY_SELINUX=y -# CONFIG_SECURITY_SMACK is not set -# CONFIG_SECURITY_TOMOYO is not set -CONFIG_SECURITY=y -CONFIG_SECURITY_YAMA=y -CONFIG_SENSORS_AD7314=m -CONFIG_SENSORS_AD7414=m -CONFIG_SENSORS_AD7418=m -CONFIG_SENSORS_ADC128D818=m -CONFIG_SENSORS_ADCXX=m -CONFIG_SENSORS_ADM1021=m -CONFIG_SENSORS_ADM1025=m -CONFIG_SENSORS_ADM1026=m -CONFIG_SENSORS_ADM1029=m -CONFIG_SENSORS_ADM1031=m -CONFIG_SENSORS_ADM1275=m -CONFIG_SENSORS_ADM9240=m -# CONFIG_SENSORS_ADS1015 is not set -CONFIG_SENSORS_ADS7828=m -CONFIG_SENSORS_ADS7871=m -CONFIG_SENSORS_ADT7310=m -CONFIG_SENSORS_ADT7410=m -CONFIG_SENSORS_ADT7411=m -CONFIG_SENSORS_ADT7462=m -CONFIG_SENSORS_ADT7470=m -CONFIG_SENSORS_ADT7475=m -CONFIG_SENSORS_AMC6821=m -CONFIG_SENSORS_APDS990X=m -CONFIG_SENSORS_ASC7621=m -CONFIG_SENSORS_ASPEED=m -CONFIG_SENSORS_ATXP1=m -CONFIG_SENSORS_BH1770=m -CONFIG_SENSORS_DME1737=m -CONFIG_SENSORS_DS1621=m -CONFIG_SENSORS_DS620=m -CONFIG_SENSORS_EMC1403=m -# CONFIG_SENSORS_EMC2103 is not set -CONFIG_SENSORS_EMC6W201=m -CONFIG_SENSORS_F71805F=m -CONFIG_SENSORS_F71882FG=m -CONFIG_SENSORS_F75375S=m -CONFIG_SENSORS_FTSTEUTATES=m -CONFIG_SENSORS_G760A=m -CONFIG_SENSORS_G762=m -CONFIG_SENSORS_GL518SM=m -CONFIG_SENSORS_GL520SM=m -# CONFIG_SENSORS_GPIO_FAN is not set -CONFIG_SENSORS_HDAPS=m -# CONFIG_SENSORS_HIH6130 is not set -# CONFIG_SENSORS_HMC5843_I2C is not set -# CONFIG_SENSORS_HMC5843 is not set -# CONFIG_SENSORS_HMC5843_SPI is not set -# CONFIG_SENSORS_I5K_AMB is not set -CONFIG_SENSORS_IBMAEM=m -CONFIG_SENSORS_IBMPEX=m -CONFIG_SENSORS_IBMPOWERNV=y -# CONFIG_SENSORS_IIO_HWMON is not set -CONFIG_SENSORS_INA209=m -CONFIG_SENSORS_INA2XX=m -CONFIG_SENSORS_INA3221=m -# CONFIG_SENSORS_IR35221 is not set -# CONFIG_SENSORS_ISL29018 is not set -# CONFIG_SENSORS_ISL29028 is not set -CONFIG_SENSORS_IT87=m -CONFIG_SENSORS_JC42=m -CONFIG_SENSORS_LINEAGE=m -CONFIG_SENSORS_LIS3_I2C=m -CONFIG_SENSORS_LIS3LV02D=m -# CONFIG_SENSORS_LIS3_SPI is not set -CONFIG_SENSORS_LM25066=m -CONFIG_SENSORS_LM63=m -CONFIG_SENSORS_LM70=m -CONFIG_SENSORS_LM73=m -CONFIG_SENSORS_LM75=m -CONFIG_SENSORS_LM77=m -CONFIG_SENSORS_LM78=m -CONFIG_SENSORS_LM80=m -CONFIG_SENSORS_LM83=m -CONFIG_SENSORS_LM85=m -CONFIG_SENSORS_LM87=m -CONFIG_SENSORS_LM90=m -CONFIG_SENSORS_LM92=m -CONFIG_SENSORS_LM93=m -CONFIG_SENSORS_LM95234=m -CONFIG_SENSORS_LM95241=m -CONFIG_SENSORS_LM95245=m -CONFIG_SENSORS_LTC2945=m -CONFIG_SENSORS_LTC2978=m -CONFIG_SENSORS_LTC2990=m -CONFIG_SENSORS_LTC3815=m -CONFIG_SENSORS_LTC4151=m -CONFIG_SENSORS_LTC4215=m -CONFIG_SENSORS_LTC4222=m -CONFIG_SENSORS_LTC4245=m -CONFIG_SENSORS_LTC4260=m -CONFIG_SENSORS_LTC4261=m -CONFIG_SENSORS_MAX1111=m -CONFIG_SENSORS_MAX16064=m -CONFIG_SENSORS_MAX16065=m -CONFIG_SENSORS_MAX1619=m -CONFIG_SENSORS_MAX1668=m -CONFIG_SENSORS_MAX197=m -CONFIG_SENSORS_MAX20751=m -CONFIG_SENSORS_MAX31722=m -CONFIG_SENSORS_MAX31790=m -CONFIG_SENSORS_MAX34440=m -CONFIG_SENSORS_MAX6639=m -CONFIG_SENSORS_MAX6642=m -CONFIG_SENSORS_MAX6650=m -CONFIG_SENSORS_MAX6697=m -CONFIG_SENSORS_MAX8688=m -CONFIG_SENSORS_MCP3021=m -CONFIG_SENSORS_NCT6683=m -CONFIG_SENSORS_NCT6775=m -CONFIG_SENSORS_NCT7802=m -CONFIG_SENSORS_NCT7904=m -CONFIG_SENSORS_NTC_THERMISTOR=m -CONFIG_SENSORS_PC87360=m -CONFIG_SENSORS_PC87427=m -CONFIG_SENSORS_PCF8591=m -CONFIG_SENSORS_PMBUS=m -CONFIG_SENSORS_POWR1220=m -CONFIG_SENSORS_PWM_FAN=m -CONFIG_SENSORS_SCH5627=m -CONFIG_SENSORS_SCH5636=m -CONFIG_SENSORS_SHT15=m -CONFIG_SENSORS_SHT21=m -CONFIG_SENSORS_SHT3x=m -CONFIG_SENSORS_SHTC1=m -CONFIG_SENSORS_SIS5595=m -# CONFIG_SENSORS_SMM665 is not set -CONFIG_SENSORS_SMSC47B397=m -CONFIG_SENSORS_SMSC47M192=m -CONFIG_SENSORS_SMSC47M1=m -# CONFIG_SENSORS_STTS751 is not set -CONFIG_SENSORS_TC654=m -CONFIG_SENSORS_TC74=m -CONFIG_SENSORS_THMC50=m -CONFIG_SENSORS_TMP102=m -CONFIG_SENSORS_TMP103=m -CONFIG_SENSORS_TMP108=m -CONFIG_SENSORS_TMP401=m -CONFIG_SENSORS_TMP421=m -CONFIG_SENSORS_TPS40422=m -CONFIG_SENSORS_TSL2550=m -# CONFIG_SENSORS_TSL2563 is not set -CONFIG_SENSORS_UCD9000=m -CONFIG_SENSORS_UCD9200=m -CONFIG_SENSORS_VIA686A=m -CONFIG_SENSORS_VT1211=m -CONFIG_SENSORS_VT8231=m -CONFIG_SENSORS_W83627EHF=m -CONFIG_SENSORS_W83627HF=m -CONFIG_SENSORS_W83781D=m -CONFIG_SENSORS_W83791D=m -CONFIG_SENSORS_W83792D=m -CONFIG_SENSORS_W83793=m -# CONFIG_SENSORS_W83795_FANCTRL is not set -CONFIG_SENSORS_W83795=m -CONFIG_SENSORS_W83L785TS=m -CONFIG_SENSORS_W83L786NG=m -CONFIG_SENSORS_WM831X=m -CONFIG_SENSORS_WM8350=m -# CONFIG_SENSORS_XGENE is not set -CONFIG_SENSORS_ZL6100=m -# CONFIG_SERIAL_8250_ASPEED_VUART is not set -CONFIG_SERIAL_8250_CONSOLE=y -CONFIG_SERIAL_8250_CS=m -# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set -# CONFIG_SERIAL_8250_DETECT_IRQ is not set -CONFIG_SERIAL_8250_DW=y -CONFIG_SERIAL_8250_EXAR=m -CONFIG_SERIAL_8250_EXTENDED=y -# CONFIG_SERIAL_8250_FINTEK is not set -# CONFIG_SERIAL_8250_INGENIC is not set -# CONFIG_SERIAL_8250 is not set -CONFIG_SERIAL_8250_MANY_PORTS=y -# CONFIG_SERIAL_8250_MID is not set -CONFIG_SERIAL_8250_MOXA=m -CONFIG_SERIAL_8250_NR_UARTS=32 -CONFIG_SERIAL_8250_PCI=y -CONFIG_SERIAL_8250_RSA=y -CONFIG_SERIAL_8250_RT288X=y -CONFIG_SERIAL_8250_RUNTIME_UARTS=32 -CONFIG_SERIAL_8250_SHARE_IRQ=y -# CONFIG_SERIAL_ALTERA_JTAGUART is not set -# CONFIG_SERIAL_ALTERA_UART is not set -CONFIG_SERIAL_ARC=m -CONFIG_SERIAL_ARC_NR_PORTS=1 -# CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set -CONFIG_SERIAL_CORE_CONSOLE=y -CONFIG_SERIAL_CORE=m -# CONFIG_SERIAL_CPM is not set -CONFIG_SERIAL_DEV_BUS=y -CONFIG_SERIAL_DEV_CTRL_TTYPORT=y -# CONFIG_SERIAL_FSL_LPUART is not set -CONFIG_SERIAL_ICOM=m -# CONFIG_SERIAL_IFX6X60 is not set -CONFIG_SERIAL_JSM=m -# CONFIG_SERIAL_KGDB_NMI is not set -# CONFIG_SERIAL_MAX3100 is not set -# CONFIG_SERIAL_MAX310X is not set -CONFIG_SERIAL_NONSTANDARD=y -CONFIG_SERIAL_OF_PLATFORM=m -# CONFIG_SERIAL_PCH_UART is not set -# CONFIG_SERIAL_QE is not set -# CONFIG_SERIAL_RP2 is not set -# CONFIG_SERIAL_SC16IS7XX is not set -# CONFIG_SERIAL_SCCNXP is not set -# CONFIG_SERIAL_ST_ASC is not set -# CONFIG_SERIAL_TIMBERDALE is not set -# CONFIG_SERIAL_UARTLITE is not set -# CONFIG_SERIAL_XILINX_PS_UART is not set -CONFIG_SERIO_ALTERA_PS2=m -# CONFIG_SERIO_APBPS2 is not set -CONFIG_SERIO_ARC_PS2=m -# CONFIG_SERIO_CT82C710 is not set -CONFIG_SERIO_I8042=y -CONFIG_SERIO_LIBPS2=y -# CONFIG_SERIO_OLPC_APSP is not set -# CONFIG_SERIO_PARKBD is not set -# CONFIG_SERIO_PCIPS2 is not set -# CONFIG_SERIO_PS2MULT is not set -CONFIG_SERIO_RAW=m -CONFIG_SERIO_SERPORT=y -# CONFIG_SERIO_XILINX_XPS_PS2 is not set -CONFIG_SERIO=y -CONFIG_SFC_FALCON=m -CONFIG_SFC_FALCON_MTD=y -# CONFIG_SFC is not set -# CONFIG_SGI_IOC4 is not set -CONFIG_SGI_PARTITION=y -CONFIG_SH_ETH=m -# CONFIG_SI1145 is not set -# CONFIG_SI7005 is not set -# CONFIG_SI7020 is not set -# CONFIG_SIGMA is not set -CONFIG_SIGMATEL_FIR=m -CONFIG_SIGNED_PE_FILE_VERIFICATION=y -CONFIG_SIMPLE_GPIO=y -# CONFIG_SIMPLE_PM_BUS is not set -CONFIG_SIS190=m -CONFIG_SIS900=m -# CONFIG_SKFP is not set -# CONFIG_SKGE_DEBUG is not set -CONFIG_SKGE_GENESIS=y -CONFIG_SKGE=m -# CONFIG_SKY2_DEBUG is not set -CONFIG_SKY2=m -CONFIG_SLAB_FREELIST_RANDOM=y -CONFIG_SLAB_MERGE_DEFAULT=y -# CONFIG_SLICOSS is not set -CONFIG_SLIP_COMPRESSED=y -CONFIG_SLIP=m -# CONFIG_SLIP_MODE_SLIP6 is not set -CONFIG_SLIP_SMART=y -CONFIG_SLUB_CPU_PARTIAL=y -# CONFIG_SLUB_DEBUG_ON is not set -# CONFIG_SLUB_STATS is not set -CONFIG_SLUB=y -CONFIG_SMARTJOYPLUS_FF=y -CONFIG_SMC_IRCC_FIR=m -# CONFIG_SMC is not set -# CONFIG_SM_FTL is not set -CONFIG_SMP=y -CONFIG_SMSC911X=m -CONFIG_SMSC9420=m -CONFIG_SMSC_PHY=m -CONFIG_SMSC_SCH311X_WDT=m -CONFIG_SMS_SDIO_DRV=m -# CONFIG_SMS_SIANO_DEBUGFS is not set -CONFIG_SMS_SIANO_MDTV=m -CONFIG_SMS_SIANO_RC=y -CONFIG_SMS_USB_DRV=m -CONFIG_SND_AC97_POWER_SAVE_DEFAULT=0 -CONFIG_SND_AC97_POWER_SAVE=y -CONFIG_SND_AD1889=m -CONFIG_SND_ALI5451=m -CONFIG_SND_ALOOP=m -CONFIG_SND_ALS300=m -CONFIG_SND_ALS4000=m -CONFIG_SND_ASIHPI=m -CONFIG_SND_ATIIXP=m -CONFIG_SND_ATIIXP_MODEM=m -# CONFIG_SND_ATMEL_SOC is not set -CONFIG_SND_AU8810=m -CONFIG_SND_AU8820=m -CONFIG_SND_AU8830=m -# CONFIG_SND_AUDIO_GRAPH_CARD is not set -# CONFIG_SND_AUDIO_GRAPH_SCU_CARD is not set -# CONFIG_SND_AW2 is not set -CONFIG_SND_AZT3328=m -# CONFIG_SND_BCD2000 is not set -CONFIG_SND_BEBOB=m -CONFIG_SND_BT87X=m -# CONFIG_SND_BT87X_OVERCLOCK is not set -CONFIG_SND_CA0106=m -CONFIG_SND_CMIPCI=m -CONFIG_SND_COMPRESS_OFFLOAD=m -CONFIG_SND_CS4281=m -CONFIG_SND_CS46XX=m -CONFIG_SND_CS46XX_NEW_DSP=y -CONFIG_SND_CS5530=m -CONFIG_SND_CS5535AUDIO=m -CONFIG_SND_CTXFI=m -CONFIG_SND_DARLA20=m -CONFIG_SND_DARLA24=m -# CONFIG_SND_DEBUG_VERBOSE is not set -CONFIG_SND_DEBUG=y -CONFIG_SND_DESIGNWARE_I2S=m -CONFIG_SND_DESIGNWARE_PCM=y -CONFIG_SND_DICE=m -CONFIG_SND_DMAENGINE_PCM=m -CONFIG_SND_DRIVERS=y -CONFIG_SND_DUMMY=m -CONFIG_SND_DYNAMIC_MINORS=y -CONFIG_SND_ECHO3G=m -# CONFIG_SND_EDMA_SOC is not set -CONFIG_SND_EMU10K1=m -CONFIG_SND_EMU10K1X=m -CONFIG_SND_ENS1370=m -CONFIG_SND_ENS1371=m -CONFIG_SND_ES1938=m -CONFIG_SND_ES1968_INPUT=y -CONFIG_SND_ES1968=m -CONFIG_SND_ES1968_RADIO=y -CONFIG_SND_FIREFACE=m -CONFIG_SND_FIREWIRE_DIGI00X=m -CONFIG_SND_FIREWIRE_MOTU=m -CONFIG_SND_FIREWIRE_TASCAM=m -CONFIG_SND_FIREWIRE=y -CONFIG_SND_FIREWORKS=m -CONFIG_SND_FM801=m -CONFIG_SND_FM801_TEA575X_BOOL=y -CONFIG_SND_GINA20=m -CONFIG_SND_GINA24=m -CONFIG_SND_HDA_CODEC_ANALOG=m -CONFIG_SND_HDA_CODEC_CA0110=m -CONFIG_SND_HDA_CODEC_CA0132_DSP=y -CONFIG_SND_HDA_CODEC_CA0132=m -CONFIG_SND_HDA_CODEC_CIRRUS=m -CONFIG_SND_HDA_CODEC_CMEDIA=m -CONFIG_SND_HDA_CODEC_CONEXANT=m -CONFIG_SND_HDA_CODEC_HDMI=m -CONFIG_SND_HDA_CODEC_REALTEK=m -CONFIG_SND_HDA_CODEC_SI3054=m -CONFIG_SND_HDA_CODEC_SIGMATEL=m -CONFIG_SND_HDA_CODEC_VIA=m -CONFIG_SND_HDA_GENERIC=m -CONFIG_SND_HDA_HWDEP=y -CONFIG_SND_HDA_I915=y -CONFIG_SND_HDA_INPUT_BEEP_MODE=0 -CONFIG_SND_HDA_INPUT_BEEP=y -# CONFIG_SND_HDA_INTEL is not set -CONFIG_SND_HDA_PATCH_LOADER=y -CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0 -CONFIG_SND_HDA_POWER_SAVE=y -CONFIG_SND_HDA_PREALLOC_SIZE=4096 -CONFIG_SND_HDA_RECONFIG=y -CONFIG_SND_HDSP=m -CONFIG_SND_HDSPM=m -CONFIG_SND_HRTIMER=m -CONFIG_SND_I2S_HI6210_I2S=m -CONFIG_SND_ICE1712=m -CONFIG_SND_ICE1724=m -CONFIG_SND_INDIGODJ=m -CONFIG_SND_INDIGODJX=m -CONFIG_SND_INDIGOIO=m -CONFIG_SND_INDIGOIOX=m -CONFIG_SND_INDIGO=m -# CONFIG_SND_INTEL8X0 is not set -# CONFIG_SND_INTEL8X0M is not set -CONFIG_SND_ISIGHT=m -CONFIG_SND_JACK=y -CONFIG_SND_KORG1212=m -CONFIG_SND_LAYLA20=m -CONFIG_SND_LAYLA24=m -CONFIG_SND_LOLA=m -CONFIG_SND_LX6464ES=m -CONFIG_SND=m -CONFIG_SND_MAESTRO3_INPUT=y -CONFIG_SND_MAESTRO3=m -CONFIG_SND_MAX_CARDS=32 -CONFIG_SND_MIA=m -CONFIG_SND_MIXART=m -CONFIG_SND_MIXER_OSS=m -CONFIG_SND_MONA=m -CONFIG_SND_MPU401=m -CONFIG_SND_MTPAV=m -CONFIG_SND_MTS64=m -CONFIG_SND_NM256=m -CONFIG_SND_OSSEMUL=y -CONFIG_SND_OXFW=m -CONFIG_SND_OXYGEN=m -CONFIG_SND_PCI=y -# CONFIG_SND_PCMCIA is not set -CONFIG_SND_PCM_OSS=m -CONFIG_SND_PCM_OSS_PLUGINS=y -CONFIG_SND_PCM_XRUN_DEBUG=y -CONFIG_SND_PCSP=m -CONFIG_SND_PCXHR=m -CONFIG_SND_PORTMAN2X4=m -CONFIG_SND_PPC=y -CONFIG_SND_RIPTIDE=m -CONFIG_SND_RME32=m -CONFIG_SND_RME9652=m -CONFIG_SND_RME96=m -CONFIG_SND_SEQ_DUMMY=m -CONFIG_SND_SEQ_HRTIMER_DEFAULT=y -CONFIG_SND_SEQUENCER=m -CONFIG_SND_SEQUENCER_OSS=m -CONFIG_SND_SERIAL_U16550=m -CONFIG_SND_SIMPLE_CARD=m -CONFIG_SND_SIMPLE_CARD_UTILS=m -CONFIG_SND_SIMPLE_SCU_CARD=m -CONFIG_SND_SIS7019=m -# CONFIG_SND_SOC_ADAU1701 is not set -CONFIG_SND_SOC_ADAU1761_I2C=m -CONFIG_SND_SOC_ADAU1761_SPI=m -# CONFIG_SND_SOC_ADAU7002 is not set -# CONFIG_SND_SOC_AK4104 is not set -# CONFIG_SND_SOC_AK4554 is not set -# CONFIG_SND_SOC_AK4613 is not set -# CONFIG_SND_SOC_AK4642 is not set -# CONFIG_SND_SOC_AK5386 is not set -# CONFIG_SND_SOC_ALC5623 is not set -CONFIG_SND_SOC_ALL_CODECS=m -CONFIG_SND_SOC_AMD_ACP=m -# CONFIG_SND_SOC_ARNDALE_RT5631_ALC5631 is not set -# CONFIG_SND_SOC_BT_SCO is not set -# CONFIG_SND_SOC_CS35L32 is not set -# CONFIG_SND_SOC_CS35L33 is not set -CONFIG_SND_SOC_CS35L34=m -CONFIG_SND_SOC_CS35L35=m -# 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_CS4271 is not set -# CONFIG_SND_SOC_CS4271_SPI is not set -CONFIG_SND_SOC_CS42L42=m -# 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_CS42XX8_I2C is not set -# CONFIG_SND_SOC_CS4349 is not set -# CONFIG_SND_SOC_CS53L30 is not set -CONFIG_SND_SOC_DIO2125=m -CONFIG_SND_SOC_DMIC=m -CONFIG_SND_SOC_ES7134=m -# CONFIG_SND_SOC_ES8316 is not set -# CONFIG_SND_SOC_ES8328 is not set -# CONFIG_SND_SOC_FSL_ASOC_CARD is not set -# CONFIG_SND_SOC_FSL_ASRC is not set -# CONFIG_SND_SOC_FSL_ESAI is not set -# CONFIG_SND_SOC_FSL_SAI is not set -# CONFIG_SND_SOC_FSL_SPDIF is not set -# CONFIG_SND_SOC_FSL_SSI is not set -CONFIG_SND_SOC_GENERIC_DMAENGINE_PCM=y -# CONFIG_SND_SOC_GTM601 is not set -CONFIG_SND_SOC_HDAC_HDMI=m -CONFIG_SND_SOC_HDMI_CODEC=m -# CONFIG_SND_SOC_IMG is not set -# CONFIG_SND_SOC_IMX_AUDMUX is not set -# CONFIG_SND_SOC_IMX_ES8328 is not set -# CONFIG_SND_SOC_INNO_RK3036 is not set -# CONFIG_SND_SOC is not set -# CONFIG_SND_SOC_MAX98504 is not set -# CONFIG_SND_SOC_MAX9860 is not set -CONFIG_SND_SOC_MAX98927=m -# CONFIG_SND_SOC_MSM8916_WCD_ANALOG is not set -# CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set -# CONFIG_SND_SOC_NAU8540 is not set -# CONFIG_SND_SOC_NAU8810 is not set -CONFIG_SND_SOC_NAU8824=m -# CONFIG_SND_SOC_PCM1681 is not set -# CONFIG_SND_SOC_PCM179X_I2C is not set -# CONFIG_SND_SOC_PCM179X is not set -# CONFIG_SND_SOC_PCM179X_SPI is not set -# CONFIG_SND_SOC_PCM3168A_I2C is not set -# CONFIG_SND_SOC_PCM3168A_SPI is not set -# CONFIG_SND_SOC_PCM512x_I2C is not set -# CONFIG_SND_SOC_PCM512x_SPI is not set -# CONFIG_SND_SOC_RT5616 is not set -# CONFIG_SND_SOC_RT5631 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_SSM2602_SPI 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 is not set -# CONFIG_SND_SOC_TAS2552 is not set -# CONFIG_SND_SOC_TAS5086 is not set -# CONFIG_SND_SOC_TAS571X is not set -# CONFIG_SND_SOC_TAS5720 is not set -# CONFIG_SND_SOC_TFA9879 is not set -# CONFIG_SND_SOC_TLV320AIC23_I2C is not set -# CONFIG_SND_SOC_TLV320AIC23_SPI is not set -# CONFIG_SND_SOC_TLV320AIC31XX is not set -# CONFIG_SND_SOC_TLV320AIC3X is not set -# CONFIG_SND_SOC_TPA6130A2 is not set -# CONFIG_SND_SOC_TS3A227E is not set -# 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_WM8770 is not set -# CONFIG_SND_SOC_WM8776 is not set -# CONFIG_SND_SOC_WM8804_I2C is not set -# CONFIG_SND_SOC_WM8804 is not set -# CONFIG_SND_SOC_WM8804_SPI is not set -# CONFIG_SND_SOC_WM8903 is not set -# CONFIG_SND_SOC_WM8960 is not set -# CONFIG_SND_SOC_WM8962 is not set -# CONFIG_SND_SOC_WM8974 is not set -# CONFIG_SND_SOC_WM8978 is not set -# CONFIG_SND_SOC_WM8985 is not set -# CONFIG_SND_SOC_XTFPGA_I2S is not set -# CONFIG_SND_SOC_ZX_AUD96P22 is not set -CONFIG_SND_SONICVIBES=m -# CONFIG_SND_SPI is not set -# CONFIG_SND_SUPPORT_OLD_API is not set -CONFIG_SND_TRIDENT=m -CONFIG_SND_USB_6FIRE=m -CONFIG_SND_USB_AUDIO=m -CONFIG_SND_USB_CAIAQ_INPUT=y -CONFIG_SND_USB_CAIAQ=m -CONFIG_SND_USB_HIFACE=m -CONFIG_SND_USB_PODHD=m -CONFIG_SND_USB_POD=m -CONFIG_SND_USB_TONEPORT=m -CONFIG_SND_USB_UA101=m -CONFIG_SND_USB_US122L=m -CONFIG_SND_USB_USX2Y=m -CONFIG_SND_USB_VARIAX=m -CONFIG_SND_USB=y -CONFIG_SND_VERBOSE_PRINTK=y -CONFIG_SND_VERBOSE_PROCFS=y -# CONFIG_SND_VIA82XX is not set -# CONFIG_SND_VIA82XX_MODEM is not set -CONFIG_SND_VIRMIDI=m -CONFIG_SND_VIRTUOSO=m -CONFIG_SND_VX222=m -CONFIG_SND_YMFPCI=m -# CONFIG_SOC_CAMERA is not set -# CONFIG_SOC_TI is not set -# CONFIG_SOC_ZTE is not set -CONFIG_SOFTLOCKUP_DETECTOR=y -CONFIG_SOFT_WATCHDOG=m -CONFIG_SOLARIS_X86_PARTITION=y -# CONFIG_SOLO6X10 is not set -CONFIG_SONY_FF=y -# CONFIG_SONYPI is not set -CONFIG_SOUND=m -CONFIG_SOUND_OSS_CORE_PRECLAIM=y -# CONFIG_SOUND_PRIME is not set -CONFIG_SPAPR_TCE_IOMMU=y -CONFIG_SPARSE_IRQ=y -CONFIG_SPARSEMEM_VMEMMAP=y -CONFIG_SPARSE_RCU_POINTER=y -# CONFIG_SPEAKUP is not set -# CONFIG_SPI_ALTERA is not set -# CONFIG_SPI_AXI_SPI_ENGINE is not set -# CONFIG_SPI_BITBANG is not set -# CONFIG_SPI_BUTTERFLY is not set -# CONFIG_SPI_DEBUG is not set -# CONFIG_SPI_DESIGNWARE is not set -CONFIG_SPI_FSL_LPSPI=m -# CONFIG_SPI_FSL_SPI is not set -# CONFIG_SPI_GPIO is not set -# CONFIG_SPI is not set -# CONFIG_SPI_LM70_LLP is not set -# CONFIG_SPI_LOOPBACK_TEST is not set -# CONFIG_SPI_OC_TINY is not set -# CONFIG_SPI_PXA2XX is not set -# CONFIG_SPI_ROCKCHIP is not set -# CONFIG_SPI_SC18IS602 is not set -# CONFIG_SPI_SLAVE is not set -# CONFIG_SPI_SPIDEV is not set -# CONFIG_SPI_TLE62X0 is not set -# CONFIG_SPI_TOPCLIFF_PCH is not set -# CONFIG_SPI_XCOMM is not set -# CONFIG_SPI_XILINX is not set -# CONFIG_SPMI is not set -# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set -# CONFIG_SQUASHFS_EMBEDDED is not set -CONFIG_SQUASHFS_LZ4=y -CONFIG_SQUASHFS_LZO=y -CONFIG_SQUASHFS=m -CONFIG_SQUASHFS_XATTR=y -CONFIG_SQUASHFS_XZ=y -CONFIG_SQUASHFS_ZLIB=y -# CONFIG_SRAM is not set -# CONFIG_SRF04 is not set -# CONFIG_SRF08 is not set -# CONFIG_SSB_DEBUG is not set -CONFIG_SSB_DRIVER_GPIO=y -CONFIG_SSB_DRIVER_PCICORE=y -CONFIG_SSB_HOST_SOC=y -CONFIG_SSB=m -CONFIG_SSB_PCIHOST=y -CONFIG_SSB_PCMCIAHOST=y -CONFIG_SSB_SDIOHOST=y -# CONFIG_SSB_SILENT is not set -# CONFIG_SSFDC is not set -CONFIG_STACK_TRACER=y -CONFIG_STACK_VALIDATION=y -# CONFIG_STAGING_BOARD is not set -CONFIG_STAGING_MEDIA=y -CONFIG_STAGING=y -CONFIG_STANDALONE=y -# CONFIG_STATIC_KEYS_SELFTEST is not set -# CONFIG_STATIC_USERMODEHELPER is not set -CONFIG_STE10XP=m -# CONFIG_STE_MODEM_RPROC is not set -CONFIG_STK3310=m -# CONFIG_STK8312 is not set -# CONFIG_STK8BA50 is not set -# CONFIG_STM_DUMMY is not set -# CONFIG_STM is not set -CONFIG_STMMAC_ETH=m -# CONFIG_STMMAC_PCI is not set -# CONFIG_STMMAC_PLATFORM is not set -# CONFIG_STM_SOURCE_CONSOLE is not set -CONFIG_STRICT_DEVMEM=y -CONFIG_STRIP_ASM_SYMS=y -# CONFIG_STRIP is not set -CONFIG_SUNDANCE=m -# CONFIG_SUNDANCE_MMIO is not set -CONFIG_SUNGEM=m -CONFIG_SUN_PARTITION=y -CONFIG_SUNRPC_DEBUG=y -CONFIG_SUNRPC_GSS=m -CONFIG_SUNRPC=m -CONFIG_SUNRPC_XPRT_RDMA=m -CONFIG_SURFACE_3_BUTTON=m -CONFIG_SURFACE3_WMI=m -CONFIG_SUSPEND_FREEZER=y -CONFIG_SUSPEND=y -CONFIG_SWAP=y -# CONFIG_SWIOTLB is not set -# CONFIG_SW_SYNC is not set -# CONFIG_SX9500 is not set -CONFIG_SYNC_FILE=y -# CONFIG_SYNCLINK_CS is not set -CONFIG_SYNCLINK_GT=m -CONFIG_SYNCLINK=m -CONFIG_SYNCLINKMP=m -CONFIG_SYN_COOKIES=y -# CONFIG_SYNOPSYS_DWC_ETH_QOS is not set -# CONFIG_SYSCON_REBOOT_MODE is not set -CONFIG_SYSCTL=y -# CONFIG_SYSFS_DEPRECATED is not set -# CONFIG_SYSFS_DEPRECATED_V2 is not set -CONFIG_SYSTEM_BLACKLIST_HASH_LIST="" -CONFIG_SYSTEM_BLACKLIST_KEYRING=y -# CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set -# CONFIG_SYSTEMPORT is not set -CONFIG_SYSTEM_TRUSTED_KEYRING=y -CONFIG_SYSTEM_TRUSTED_KEYS="" -# CONFIG_SYSV68_PARTITION is not set -CONFIG_SYSV_FS=m -CONFIG_SYSVIPC=y -# CONFIG_T5403 is not set -CONFIG_TABLET_SERIAL_WACOM4=m -CONFIG_TABLET_USB_ACECAD=m -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_TARGET_CORE=m -CONFIG_TASK_DELAY_ACCT=y -CONFIG_TASK_IO_ACCOUNTING=y -CONFIG_TASKS_RCU=y -CONFIG_TASKSTATS=y -CONFIG_TASK_XACCT=y -CONFIG_TCG_ATMEL=m -CONFIG_TCG_CRB=m -# CONFIG_TCG_INFINEON is not set -CONFIG_TCG_NSC=m -# CONFIG_TCG_TIS_I2C_ATMEL is not set -# CONFIG_TCG_TIS_I2C_INFINEON is not set -# CONFIG_TCG_TIS_I2C_NUVOTON is not set -CONFIG_TCG_TIS=m -# CONFIG_TCG_TIS_SPI is not set -# CONFIG_TCG_TIS_ST33ZP24_I2C is not set -# CONFIG_TCG_TIS_ST33ZP24 is not set -# CONFIG_TCG_TIS_ST33ZP24_SPI is not set -# CONFIG_TCG_TPM is not set -# CONFIG_TCG_VTPM_PROXY is not set -# CONFIG_TCG_XEN is not set -CONFIG_TCM_FC=m -CONFIG_TCM_FILEIO=m -CONFIG_TCM_IBLOCK=m -CONFIG_TCM_PSCSI=m -# CONFIG_TCM_QLA2XXX_DEBUG is not set -CONFIG_TCM_QLA2XXX=m -CONFIG_TCM_USER2=m -CONFIG_TCP_CONG_ADVANCED=y -CONFIG_TCP_CONG_BBR=m -CONFIG_TCP_CONG_BIC=m -CONFIG_TCP_CONG_CDG=m -CONFIG_TCP_CONG_CUBIC=y -CONFIG_TCP_CONG_DCTCP=m -CONFIG_TCP_CONG_HSTCP=m -CONFIG_TCP_CONG_HTCP=m -CONFIG_TCP_CONG_HYBLA=m -CONFIG_TCP_CONG_ILLINOIS=m -CONFIG_TCP_CONG_LP=m -CONFIG_TCP_CONG_NV=m -CONFIG_TCP_CONG_SCALABLE=m -CONFIG_TCP_CONG_VEGAS=m -CONFIG_TCP_CONG_VENO=m -CONFIG_TCP_CONG_WESTWOOD=m -CONFIG_TCP_CONG_YEAH=m -CONFIG_TCP_MD5SIG=y -# CONFIG_TCS3414 is not set -# CONFIG_TCS3472 is not set -# CONFIG_TEE is not set -CONFIG_TEHUTI=m -CONFIG_TEKRAM_DONGLE=m -CONFIG_TELCLOCK=m -CONFIG_TERANETICS_PHY=m -CONFIG_TEST_ASYNC_DRIVER_PROBE=m -# CONFIG_TEST_BITMAP is not set -# CONFIG_TEST_BPF is not set -# CONFIG_TEST_FIRMWARE is not set -# CONFIG_TEST_HASH is not set -# CONFIG_TEST_HEXDUMP is not set -# CONFIG_TEST_KMOD is not set -CONFIG_TEST_KSTRTOX=y -CONFIG_TEST_LIST_SORT=y -# CONFIG_TEST_LKM is not set -# CONFIG_TEST_PARMAN is not set -# CONFIG_TEST_POWER is not set -# CONFIG_TEST_PRINTF is not set -# CONFIG_TEST_RHASHTABLE is not set -# CONFIG_TEST_SORT is not set -# CONFIG_TEST_STATIC_KEYS is not set -# CONFIG_TEST_STRING_HELPERS is not set -# CONFIG_TEST_SYSCTL is not set -# CONFIG_TEST_UDELAY is not set -# CONFIG_TEST_USER_COPY is not set -# CONFIG_TEST_UUID is not set -# CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set -# CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set -CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0 -# CONFIG_THERMAL_EMULATION is not set -# CONFIG_THERMAL_GOV_BANG_BANG is not set -CONFIG_THERMAL_GOV_FAIR_SHARE=y -# CONFIG_THERMAL_GOV_POWER_ALLOCATOR is not set -CONFIG_THERMAL_GOV_STEP_WISE=y -# CONFIG_THERMAL_GOV_USER_SPACE is not set -CONFIG_THERMAL_HWMON=y -# CONFIG_THERMAL_OF is not set -# CONFIG_THERMAL_WRITABLE_TRIPS is not set -CONFIG_THERMAL=y -CONFIG_THRUSTMASTER_FF=y -# CONFIG_THUNDERBOLT is not set -# CONFIG_TI_ADC081C is not set -# CONFIG_TI_ADC0832 is not set -# CONFIG_TI_ADC084S021 is not set -# CONFIG_TI_ADC108S102 is not set -# CONFIG_TI_ADC12138 is not set -# CONFIG_TI_ADC128S052 is not set -# CONFIG_TI_ADC161S626 is not set -CONFIG_TI_ADS1015=m -# CONFIG_TI_ADS7950 is not set -# CONFIG_TI_ADS8688 is not set -# CONFIG_TI_CPSW_ALE is not set -# CONFIG_TI_DAC7512 is not set -CONFIG_TIFM_7XX1=m -CONFIG_TIFM_CORE=m -CONFIG_TIGON3_HWMON=y -CONFIG_TIGON3=m -# CONFIG_TIMB_DMA is not set -# CONFIG_TIMER_STATS is not set -CONFIG_TIPC=m -# CONFIG_TIPC_MEDIA_IB is not set -CONFIG_TIPC_MEDIA_UDP=y -CONFIG_TI_SCI_PROTOCOL=m -# CONFIG_TI_ST is not set -# CONFIG_TI_SYSCON_RESET is not set -# CONFIG_TI_TLC4541 is not set -CONFIG_TLAN=m -CONFIG_TLS=m -# CONFIG_TMD_HERMES is not set -# CONFIG_TMP006 is not set -# CONFIG_TMP007 is not set -CONFIG_TMPFS_POSIX_ACL=y -CONFIG_TMPFS_XATTR=y -CONFIG_TMPFS=y -CONFIG_TOIM3232_DONGLE=m -# CONFIG_TOSHIBA_FIR is not set -# CONFIG_TOUCHSCREEN_AD7877 is not set -CONFIG_TOUCHSCREEN_AD7879_I2C=m -# CONFIG_TOUCHSCREEN_AD7879 is not set -# CONFIG_TOUCHSCREEN_ADS7846 is not set -# CONFIG_TOUCHSCREEN_AR1021_I2C is not set -CONFIG_TOUCHSCREEN_ATMEL_MXT=m -# CONFIG_TOUCHSCREEN_ATMEL_MXT_T37 is not set -# CONFIG_TOUCHSCREEN_AUO_PIXCIR is not set -# CONFIG_TOUCHSCREEN_BU21013 is not set -# CONFIG_TOUCHSCREEN_CHIPONE_ICN8318 is not set -# CONFIG_TOUCHSCREEN_CY8CTMG110 is not set -# CONFIG_TOUCHSCREEN_CYTTSP4_CORE is not set -# CONFIG_TOUCHSCREEN_CYTTSP_CORE is not set -CONFIG_TOUCHSCREEN_DYNAPRO=m -CONFIG_TOUCHSCREEN_EDT_FT5X06=m -CONFIG_TOUCHSCREEN_EETI=m -CONFIG_TOUCHSCREEN_EGALAX=m -CONFIG_TOUCHSCREEN_EGALAX_SERIAL=m -# CONFIG_TOUCHSCREEN_EKTF2127 is not set -CONFIG_TOUCHSCREEN_ELAN=m -CONFIG_TOUCHSCREEN_ELO=m -# CONFIG_TOUCHSCREEN_FT6236 is not set -CONFIG_TOUCHSCREEN_FUJITSU=m -# CONFIG_TOUCHSCREEN_GOODIX is not set -CONFIG_TOUCHSCREEN_GUNZE=m -# CONFIG_TOUCHSCREEN_HAMPSHIRE is not set -CONFIG_TOUCHSCREEN_ILI210X=m -# CONFIG_TOUCHSCREEN_IMX6UL_TSC is not set -CONFIG_TOUCHSCREEN_INEXIO=m -# CONFIG_TOUCHSCREEN_MAX11801 is not set -CONFIG_TOUCHSCREEN_MCS5000=m -# CONFIG_TOUCHSCREEN_MELFAS_MIP4 is not set -CONFIG_TOUCHSCREEN_MK712=m -CONFIG_TOUCHSCREEN_MMS114=m -CONFIG_TOUCHSCREEN_MTOUCH=m -CONFIG_TOUCHSCREEN_PENMOUNT=m -CONFIG_TOUCHSCREEN_PIXCIR=m -CONFIG_TOUCHSCREEN_RM_TS=m -# CONFIG_TOUCHSCREEN_ROHM_BU21023 is not set -CONFIG_TOUCHSCREEN_SILEAD=m -CONFIG_TOUCHSCREEN_SIS_I2C=m -CONFIG_TOUCHSCREEN_ST1232=m -# CONFIG_TOUCHSCREEN_STMFTS is not set -# CONFIG_TOUCHSCREEN_SUR40 is not set -# CONFIG_TOUCHSCREEN_SURFACE3_SPI is not set -# CONFIG_TOUCHSCREEN_SX8654 is not set -CONFIG_TOUCHSCREEN_TI_AM335X_TSC=m -CONFIG_TOUCHSCREEN_TOUCHIT213=m -CONFIG_TOUCHSCREEN_TOUCHRIGHT=m -CONFIG_TOUCHSCREEN_TOUCHWIN=m -# CONFIG_TOUCHSCREEN_TPS6507X is not set -CONFIG_TOUCHSCREEN_TS4800=m -# CONFIG_TOUCHSCREEN_TSC2004 is not set -# CONFIG_TOUCHSCREEN_TSC2005 is not set -CONFIG_TOUCHSCREEN_TSC2007_IIO=y -CONFIG_TOUCHSCREEN_TSC2007=m -CONFIG_TOUCHSCREEN_TSC_SERIO=m -CONFIG_TOUCHSCREEN_UCB1400=m -CONFIG_TOUCHSCREEN_USB_COMPOSITE=m -CONFIG_TOUCHSCREEN_USB_E2I=y -CONFIG_TOUCHSCREEN_W90X900=m -CONFIG_TOUCHSCREEN_WACOM_I2C=m -CONFIG_TOUCHSCREEN_WACOM_W8001=m -# CONFIG_TOUCHSCREEN_WDT87XX_I2C is not set -# CONFIG_TOUCHSCREEN_WM97XX is not set -CONFIG_TOUCHSCREEN_ZET6223=m -CONFIG_TOUCHSCREEN_ZFORCE=m -# CONFIG_TPL0102 is not set -# CONFIG_TPS6105X is not set -# CONFIG_TPS65010 is not set -# CONFIG_TPS6507X is not set -# CONFIG_TRACE_BRANCH_PROFILING is not set -# CONFIG_TRACE_ENUM_MAP_FILE is not set -CONFIG_TRACE_EVAL_MAP_FILE=y -# CONFIG_TRACEPOINT_BENCHMARK is not set -# CONFIG_TRACER_SNAPSHOT_PER_CPU_SWAP is not set -CONFIG_TRACER_SNAPSHOT=y -# CONFIG_TRACE_SINK is not set -# CONFIG_TRACING_EVENTS_GPIO is not set -CONFIG_TRANSPARENT_HUGEPAGE_MADVISE=y -CONFIG_TRANSPARENT_HUGEPAGE=y -# CONFIG_TR is not set -CONFIG_TRUSTED_KEYS=m -# CONFIG_TS4800_IRQ is not set -# CONFIG_TS4800_WATCHDOG is not set -# CONFIG_TSL2583 is not set -# CONFIG_TSL2x7x is not set -# CONFIG_TSL4531 is not set -# CONFIG_TSYS01 is not set -# CONFIG_TSYS02D is not set -CONFIG_TULIP=m -CONFIG_TULIP_MMIO=y -# CONFIG_TULIP_MWI is not set -# CONFIG_TULIP_NAPI is not set -CONFIG_TUN=m -# CONFIG_TUN_VNET_CROSS_LE is not set -# CONFIG_TWL4030_CORE is not set -# CONFIG_TWL6040_CORE is not set -CONFIG_TYPEC_FUSB302=m -CONFIG_TYPEC_TCPCI=m -CONFIG_TYPEC_TCPM=m -CONFIG_TYPEC_UCSI=m -CONFIG_TYPEC_WCOVE=m -CONFIG_TYPHOON=m -CONFIG_UBIFS_ATIME_SUPPORT=y -# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set -CONFIG_UBIFS_FS_ENCRYPTION=y -CONFIG_UBIFS_FS=m -CONFIG_UBIFS_FS_SECURITY=y -# CONFIG_UBSAN_ALIGNMENT is not set -# CONFIG_UBSAN is not set -# CONFIG_UBSAN_SANITIZE_ALL is not set -# CONFIG_UCB1400_CORE is not set -# CONFIG_UCC_GETH is not set -CONFIG_UCSI_ACPI=m -CONFIG_UCSI=m -# CONFIG_UDBG_RTAS_CONSOLE is not set -CONFIG_UDF_FS=m -# CONFIG_UEVENT_HELPER is not set -# CONFIG_UFS_DEBUG is not set -CONFIG_UFS_FS=m -# CONFIG_UFS_FS_WRITE is not set -CONFIG_UHID=m -CONFIG_UIO_AEC=m -CONFIG_UIO_CIF=m -# CONFIG_UIO_DMEM_GENIRQ is not set -CONFIG_UIO_HV_GENERIC=m -CONFIG_UIO=m -# CONFIG_UIO_MF624 is not set -# CONFIG_UIO_NETX is not set -CONFIG_UIO_PCI_GENERIC=m -# CONFIG_UIO_PDRV_GENIRQ is not set -# CONFIG_UIO_PDRV is not set -# CONFIG_UIO_PRUSS is not set -CONFIG_UIO_SERCOS3=m -CONFIG_ULI526X=m -# CONFIG_ULTRIX_PARTITION is not set -# CONFIG_UNISYSSPAR is not set -CONFIG_UNIX98_PTYS=y -CONFIG_UNIX_DIAG=m -CONFIG_UNIXWARE_DISKLABEL=y -CONFIG_UNIX=y -CONFIG_UNUSED_SYMBOLS=y -CONFIG_UPROBE_EVENTS=y -# CONFIG_US5182D is not set -CONFIG_USB_ACM=m -CONFIG_USB_ADUTUX=m -CONFIG_USB_ALI_M5632=y -CONFIG_USB_AN2720=y -CONFIG_USB_ANNOUNCE_NEW_DEVICES=y -CONFIG_USB_APPLEDISPLAY=m -CONFIG_USB_ARMLINUX=y -CONFIG_USB_ATMEL=m -CONFIG_USB_ATM=m -CONFIG_USB_BELKIN=y -# CONFIG_USB_C67X00_HCD is not set -CONFIG_USB_CATC=m -CONFIG_USB_CDC_PHONET=m -CONFIG_USB_CHAOSKEY=m -# CONFIG_USB_CHIPIDEA is not set -# CONFIG_USB_CHIPIDEA_ULPI is not set -# CONFIG_USB_CONFIGFS_F_UAC1_LEGACY is not set -CONFIG_USB_CXACRU=m -# CONFIG_USB_CYPRESS_CY7C63 is not set -# CONFIG_USB_CYTHERM is not set -# CONFIG_USB_DEBUG is not set -CONFIG_USB_DEFAULT_PERSIST=y -CONFIG_USB_DSBR=m -# CONFIG_USB_DWC2 is not set -# CONFIG_USB_DWC3 is not set -# CONFIG_USB_DWC3_OF_SIMPLE is not set -# CONFIG_USB_DYNAMIC_MINORS is not set -# CONFIG_USB_EHCI_HCD_PLATFORM is not set -CONFIG_USB_EHCI_HCD_PPC_OF=y -CONFIG_USB_EHCI_HCD=y -# CONFIG_USB_EHCI_MV is not set -CONFIG_USB_EHCI_ROOT_HUB_TT=y -CONFIG_USB_EHCI_TT_NEWSCHED=y -# CONFIG_USB_EHSET_TEST_FIXTURE is not set -CONFIG_USB_EMI26=m -CONFIG_USB_EMI62=m -CONFIG_USB_EPSON2888=y -CONFIG_USB_EZUSB_FX2=m -CONFIG_USB_EZUSB=y -# CONFIG_USB_FHCI_HCD is not set -# CONFIG_USB_FOTG210_HCD is not set -CONFIG_USB_FTDI_ELAN=m -# CONFIG_USB_GADGETFS is not set -# CONFIG_USB_GADGET is not set -CONFIG_USB_GL860=m -# CONFIG_USB_GPIO_VBUS is not set -# CONFIG_USB_GR_UDC is not set -CONFIG_USB_G_SERIAL=m -CONFIG_USB_GSPCA_BENQ=m -CONFIG_USB_GSPCA_CONEX=m -CONFIG_USB_GSPCA_CPIA1=m -CONFIG_USB_GSPCA_DTCS033=m -CONFIG_USB_GSPCA_ETOMS=m -CONFIG_USB_GSPCA_FINEPIX=m -CONFIG_USB_GSPCA_JEILINJ=m -CONFIG_USB_GSPCA_JL2005BCD=m -CONFIG_USB_GSPCA_KINECT=m -CONFIG_USB_GSPCA_KONICA=m -CONFIG_USB_GSPCA=m -CONFIG_USB_GSPCA_MARS=m -CONFIG_USB_GSPCA_MR97310A=m -CONFIG_USB_GSPCA_NW80X=m -CONFIG_USB_GSPCA_OV519=m -CONFIG_USB_GSPCA_OV534_9=m -CONFIG_USB_GSPCA_OV534=m -CONFIG_USB_GSPCA_PAC207=m -CONFIG_USB_GSPCA_PAC7302=m -CONFIG_USB_GSPCA_PAC7311=m -CONFIG_USB_GSPCA_SE401=m -CONFIG_USB_GSPCA_SN9C2028=m -CONFIG_USB_GSPCA_SN9C20X=m -CONFIG_USB_GSPCA_SONIXB=m -CONFIG_USB_GSPCA_SONIXJ=m -CONFIG_USB_GSPCA_SPCA1528=m -CONFIG_USB_GSPCA_SPCA500=m -CONFIG_USB_GSPCA_SPCA501=m -CONFIG_USB_GSPCA_SPCA505=m -CONFIG_USB_GSPCA_SPCA506=m -CONFIG_USB_GSPCA_SPCA508=m -CONFIG_USB_GSPCA_SPCA561=m -CONFIG_USB_GSPCA_SQ905C=m -CONFIG_USB_GSPCA_SQ905=m -CONFIG_USB_GSPCA_SQ930X=m -CONFIG_USB_GSPCA_STK014=m -CONFIG_USB_GSPCA_STK1135=m -CONFIG_USB_GSPCA_STV0680=m -CONFIG_USB_GSPCA_SUNPLUS=m -CONFIG_USB_GSPCA_T613=m -CONFIG_USB_GSPCA_TOPRO=m -CONFIG_USB_GSPCA_TOUPTEK=m -CONFIG_USB_GSPCA_TV8532=m -CONFIG_USB_GSPCA_VC032X=m -CONFIG_USB_GSPCA_VICAM=m -CONFIG_USB_GSPCA_XIRLINK_CIT=m -CONFIG_USB_GSPCA_ZC3XX=m -# CONFIG_USB_HCD_BCMA is not set -# CONFIG_USB_HCD_SSB is not set -# CONFIG_USB_HCD_TEST_MODE is not set -CONFIG_USB_HIDDEV=y -CONFIG_USB_HID=y -CONFIG_USB_HSIC_USB3503=m -CONFIG_USB_HSIC_USB4604=m -CONFIG_USB_HSO=m -CONFIG_USB_HUB_USB251XB=m -CONFIG_USB_HWA_HCD=m -CONFIG_USB_IDMOUSE=m -CONFIG_USB_IOWARRIOR=m -CONFIG_USBIP_CORE=m -# CONFIG_USBIP_DEBUG is not set -CONFIG_USB_IPHETH=m -CONFIG_USBIP_HOST=m -CONFIG_USBIP_VHCI_HCD=m -CONFIG_USBIP_VHCI_HC_PORTS=8 -CONFIG_USBIP_VHCI_NR_HCS=1 -CONFIG_USBIP_VUDC=m -CONFIG_USB_IRDA=m -CONFIG_USB_ISIGHTFW=m -# CONFIG_USB_ISP116X_HCD is not set -# CONFIG_USB_ISP1301 is not set -CONFIG_USB_ISP1362_HCD=m -# CONFIG_USB_ISP1760 is not set -CONFIG_USB_KAWETH=m -CONFIG_USB_KC2190=y -CONFIG_USB_KEENE=m -CONFIG_USB_LAN78XX=m -CONFIG_USB_LCD=m -CONFIG_USB_LD=m -CONFIG_USB_LED=m -CONFIG_USB_LEDS_TRIGGER_USBPORT=m -CONFIG_USB_LED_TRIG=y -CONFIG_USB_LEGOTOWER=m -# CONFIG_USB_LINK_LAYER_TEST is not set -CONFIG_USB_M5602=m -CONFIG_USB_MA901=m -# CONFIG_USB_MAX3421_HCD is not set -CONFIG_USB_MDC800=m -CONFIG_USB_MICROTEK=m -CONFIG_USB_MON=y -CONFIG_USB_MR800=m -# CONFIG_USB_MUSB_HDRC is not set -CONFIG_USB_NET_AX88179_178A=m -CONFIG_USB_NET_AX8817X=m -CONFIG_USB_NET_CDC_EEM=m -CONFIG_USB_NET_CDC_MBIM=m -CONFIG_USB_NET_CDC_NCM=m -CONFIG_USB_NET_CDC_SUBSET=m -CONFIG_USB_NET_CH9200=m -CONFIG_USB_NET_CX82310_ETH=m -CONFIG_USB_NET_DM9601=m -CONFIG_USB_NET_DRIVERS=y -CONFIG_USB_NET_GL620A=m -CONFIG_USB_NET_HUAWEI_CDC_NCM=m -CONFIG_USB_NET_INT51X1=m -CONFIG_USB_NET_KALMIA=m -CONFIG_USB_NET_MCS7830=m -CONFIG_USB_NET_NET1080=m -CONFIG_USB_NET_PLUSB=m -CONFIG_USB_NET_QMI_WWAN=m -CONFIG_USB_NET_RNDIS_HOST=m -CONFIG_USB_NET_RNDIS_WLAN=m -CONFIG_USB_NET_SMSC75XX=m -CONFIG_USB_NET_SMSC95XX=m -CONFIG_USB_NET_SR9700=m -# CONFIG_USB_NET_SR9800 is not set -CONFIG_USB_NET_ZAURUS=m -CONFIG_USB_OHCI_HCD_PCI=y -# CONFIG_USB_OHCI_HCD_PLATFORM is not set -CONFIG_USB_OHCI_HCD_PPC_OF_BE=y -CONFIG_USB_OHCI_HCD_PPC_OF_LE=y -CONFIG_USB_OHCI_HCD_PPC_OF=y -# CONFIG_USB_OHCI_HCD_SSB is not set -CONFIG_USB_OHCI_HCD=y -# CONFIG_USB_OTG_FSM is not set -# CONFIG_USB_OTG is not set -# CONFIG_USB_OTG_WHITELIST is not set -# CONFIG_USB_OXU210HP_HCD is not set -CONFIG_USB_PCI=y -CONFIG_USBPCWATCHDOG=m -CONFIG_USB_PEGASUS=m -CONFIG_USB_PHY=y -CONFIG_USB_PRINTER=m -CONFIG_USB_PULSE8_CEC=m -# CONFIG_USB_PWC_DEBUG is not set -CONFIG_USB_PWC_INPUT_EVDEV=y -CONFIG_USB_PWC=m -# CONFIG_USB_R8A66597_HCD is not set -CONFIG_USB_RAINSHADOW_CEC=m -# CONFIG_USB_RAREMONO is not set -# CONFIG_USB_RIO500 is not set -CONFIG_USB_RTL8150=m -CONFIG_USB_RTL8152=m -CONFIG_USB_S2255=m -CONFIG_USB_SERIAL_AIRCABLE=m -CONFIG_USB_SERIAL_ARK3116=m -CONFIG_USB_SERIAL_BELKIN=m -CONFIG_USB_SERIAL_CH341=m -CONFIG_USB_SERIAL_CONSOLE=y -CONFIG_USB_SERIAL_CP210X=m -CONFIG_USB_SERIAL_CYBERJACK=m -CONFIG_USB_SERIAL_CYPRESS_M8=m -CONFIG_USB_SERIAL_DEBUG=m -CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m -CONFIG_USB_SERIAL_EDGEPORT=m -CONFIG_USB_SERIAL_EDGEPORT_TI=m -CONFIG_USB_SERIAL_EMPEG=m -# CONFIG_USB_SERIAL_F81232 is not set -CONFIG_USB_SERIAL_F8153X=m -CONFIG_USB_SERIAL_FTDI_SIO=m -CONFIG_USB_SERIAL_GARMIN=m -CONFIG_USB_SERIAL_GENERIC=y -CONFIG_USB_SERIAL_IPAQ=m -CONFIG_USB_SERIAL_IPW=m -CONFIG_USB_SERIAL_IR=m -CONFIG_USB_SERIAL_IUU=m -CONFIG_USB_SERIAL_KEYSPAN=m -CONFIG_USB_SERIAL_KEYSPAN_MPR=y -CONFIG_USB_SERIAL_KEYSPAN_PDA=m -CONFIG_USB_SERIAL_KEYSPAN_USA18X=y -CONFIG_USB_SERIAL_KEYSPAN_USA19QI=y -CONFIG_USB_SERIAL_KEYSPAN_USA19QW=y -CONFIG_USB_SERIAL_KEYSPAN_USA19W=y -CONFIG_USB_SERIAL_KEYSPAN_USA19=y -CONFIG_USB_SERIAL_KEYSPAN_USA28XA=y -CONFIG_USB_SERIAL_KEYSPAN_USA28XB=y -CONFIG_USB_SERIAL_KEYSPAN_USA28X=y -CONFIG_USB_SERIAL_KEYSPAN_USA28=y -CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y -CONFIG_USB_SERIAL_KEYSPAN_USA49W=y -CONFIG_USB_SERIAL_KLSI=m -CONFIG_USB_SERIAL_KOBIL_SCT=m -CONFIG_USB_SERIAL_MCT_U232=m -# CONFIG_USB_SERIAL_METRO is not set -CONFIG_USB_SERIAL_MOS7715_PARPORT=y -CONFIG_USB_SERIAL_MOS7720=m -CONFIG_USB_SERIAL_MOS7840=m -# CONFIG_USB_SERIAL_MXUPORT is not set -CONFIG_USB_SERIAL_NAVMAN=m -CONFIG_USB_SERIAL_OMNINET=m -CONFIG_USB_SERIAL_OPTICON=m -CONFIG_USB_SERIAL_OPTION=m -CONFIG_USB_SERIAL_OTI6858=m -CONFIG_USB_SERIAL_PL2303=m -CONFIG_USB_SERIAL_QCAUX=m -CONFIG_USB_SERIAL_QT2=m -CONFIG_USB_SERIAL_QUALCOMM=m -CONFIG_USB_SERIAL_SAFE=m -CONFIG_USB_SERIAL_SAFE_PADDED=y -CONFIG_USB_SERIAL_SIERRAWIRELESS=m -CONFIG_USB_SERIAL_SIMPLE=m -CONFIG_USB_SERIAL_SPCP8X5=m -CONFIG_USB_SERIAL_SSU100=m -CONFIG_USB_SERIAL_SYMBOL=m -CONFIG_USB_SERIAL_TI=m -CONFIG_USB_SERIAL_UPD78F0730=m -CONFIG_USB_SERIAL_VISOR=m -CONFIG_USB_SERIAL_WHITEHEAT=m -# CONFIG_USB_SERIAL_WISHBONE is not set -CONFIG_USB_SERIAL_XIRCOM=m -CONFIG_USB_SERIAL_XSENS_MT=m -CONFIG_USB_SERIAL=y -CONFIG_USB_SEVSEG=m -CONFIG_USB_SI470X=m -# CONFIG_USB_SI4713 is not set -CONFIG_USB_SIERRA_NET=m -CONFIG_USB_SISUSBVGA_CON=y -CONFIG_USB_SISUSBVGA=m -# CONFIG_USB_SL811_CS is not set -CONFIG_USB_SL811_HCD_ISO=y -CONFIG_USB_SL811_HCD=m -CONFIG_USB_SNP_UDC_PLAT=m -CONFIG_USB_SPEEDTOUCH=m -CONFIG_USB_STKWEBCAM=m -CONFIG_USB_STORAGE_ALAUDA=m -CONFIG_USB_STORAGE_CYPRESS_ATACB=m -CONFIG_USB_STORAGE_DATAFAB=m -# CONFIG_USB_STORAGE_DEBUG is not set -CONFIG_USB_STORAGE_ENE_UB6250=m -CONFIG_USB_STORAGE_FREECOM=m -CONFIG_USB_STORAGE_ISD200=m -CONFIG_USB_STORAGE_JUMPSHOT=m -CONFIG_USB_STORAGE_KARMA=m -CONFIG_USB_STORAGE=m -CONFIG_USB_STORAGE_ONETOUCH=m -CONFIG_USB_STORAGE_REALTEK=m -CONFIG_USB_STORAGE_SDDR09=m -CONFIG_USB_STORAGE_SDDR55=m -CONFIG_USB_STORAGE_USBAT=m -CONFIG_USB_STV06XX=m -CONFIG_USB_SUPPORT=y -# CONFIG_USB_SWITCH_FSA9480 is not set -# CONFIG_USB_TEST is not set -CONFIG_USB_TMC=m -CONFIG_USB_TRANCEVIBRATOR=m -# CONFIG_USB_U132_HCD is not set -CONFIG_USB_UAS=m -CONFIG_USB_UEAGLEATM=m -CONFIG_USB_UHCI_HCD=y -CONFIG_USB_ULPI_BUS=m -CONFIG_USB_USBNET=m -CONFIG_USB_USS720=m -CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y -CONFIG_USB_VIDEO_CLASS=m -CONFIG_USB_VL600=m -CONFIG_USB_WDM=m -# CONFIG_USB_WHCI_HCD is not set -# CONFIG_USB_WUSB_CBAF_DEBUG is not set -CONFIG_USB_WUSB_CBAF=m -CONFIG_USB_WUSB=m -CONFIG_USB_XHCI_HCD=y -# CONFIG_USB_XHCI_PLATFORM is not set -CONFIG_USB_XUSBATM=m -CONFIG_USB=y -CONFIG_USB_YUREX=m -# CONFIG_USB_ZD1201 is not set -CONFIG_USB_ZR364XX=m -# CONFIG_USELIB is not set -CONFIG_USERFAULTFD=y -# CONFIG_USERIO is not set -CONFIG_USER_NS=y -# CONFIG_USE_THIN_ARCHIVES is not set -CONFIG_UTS_NS=y -CONFIG_UWB_HWA=m -CONFIG_UWB_I1480U=m -CONFIG_UWB=m -CONFIG_UWB_WHCI=m -# CONFIG_V4L2_FLASH_LED_CLASS is not set -CONFIG_V4L_MEM2MEM_DRIVERS=y -# CONFIG_V4L_PLATFORM_DRIVERS is not set -# CONFIG_V4L_TEST_DRIVERS is not set -# CONFIG_VCNL4000 is not set -# CONFIG_VEML6070 is not set -CONFIG_VETH=m -# CONFIG_VF610_ADC is not set -# CONFIG_VF610_DAC is not set -CONFIG_VFAT_FS=m -# CONFIG_VFIO_IOMMU_TYPE1 is not set -CONFIG_VFIO=m -CONFIG_VFIO_MDEV_DEVICE=m -CONFIG_VFIO_MDEV=m -# CONFIG_VFIO_NOIOMMU is not set -CONFIG_VFIO_PCI=m -CONFIG_VGA_ARB_MAX_GPUS=16 -CONFIG_VGA_ARB=y -# CONFIG_VGACON_SOFT_SCROLLBACK_PERSISTENT_ENABLE_BY_DEFAULT is not set -CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64 -CONFIG_VGACON_SOFT_SCROLLBACK=y -CONFIG_VGA_CONSOLE=y -# CONFIG_VHOST_CROSS_ENDIAN_LEGACY is not set -CONFIG_VHOST_NET=m -CONFIG_VHOST_SCSI=m -CONFIG_VHOST_VSOCK=m -CONFIG_VIA_FIR=m -CONFIG_VIA_RHINE=m -CONFIG_VIA_RHINE_MMIO=y -CONFIG_VIA_VELOCITY=m -# CONFIG_VIDEO_ADV_DEBUG is not set -CONFIG_VIDEO_AU0828=m -# CONFIG_VIDEO_AU0828_RC is not set -CONFIG_VIDEO_AU0828_V4L2=y -CONFIG_VIDEO_BT848=m -CONFIG_VIDEO_CAFE_CCIC=m -CONFIG_VIDEO_CPIA2=m -# CONFIG_VIDEO_CPIA is not set -CONFIG_VIDEO_CX18_ALSA=m -CONFIG_VIDEO_CX18=m -CONFIG_VIDEO_CX231XX_ALSA=m -CONFIG_VIDEO_CX231XX_DVB=m -CONFIG_VIDEO_CX231XX=m -CONFIG_VIDEO_CX231XX_RC=y -CONFIG_VIDEO_CX23885=m -# CONFIG_VIDEO_CX25821 is not set -CONFIG_VIDEO_CX88_ALSA=m -CONFIG_VIDEO_CX88_BLACKBIRD=m -CONFIG_VIDEO_CX88_DVB=m -CONFIG_VIDEO_CX88_ENABLE_VP3054=y -CONFIG_VIDEO_CX88=m -CONFIG_VIDEO_CX88_VP3054=m -CONFIG_VIDEO_DEV=m -# CONFIG_VIDEO_DT3155 is not set -CONFIG_VIDEO_EM28XX_ALSA=m -CONFIG_VIDEO_EM28XX_DVB=m -CONFIG_VIDEO_EM28XX=m -CONFIG_VIDEO_EM28XX_RC=m -CONFIG_VIDEO_EM28XX_V4L2=m -CONFIG_VIDEO_FB_IVTV=m -# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set -CONFIG_VIDEO_GO7007_LOADER=m -CONFIG_VIDEO_GO7007=m -CONFIG_VIDEO_GO7007_USB=m -CONFIG_VIDEO_GO7007_USB_S2250_BOARD=m -CONFIG_VIDEO_HDPVR=m -CONFIG_VIDEO_HEXIUM_GEMINI=m -CONFIG_VIDEO_HEXIUM_ORION=m -# CONFIG_VIDEO_IVTV_ALSA is not set -# CONFIG_VIDEO_IVTV_DEPRECATED_IOCTLS is not set -CONFIG_VIDEO_IVTV=m -# CONFIG_VIDEO_M5MOLS is not set -# CONFIG_VIDEO_MEM2MEM_DEINTERLACE is not set -CONFIG_VIDEO_MEYE=m -CONFIG_VIDEO_MXB=m -CONFIG_VIDEO_NOON010PC30=m -# CONFIG_VIDEO_PCI_SKELETON is not set -# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set -CONFIG_VIDEO_PVRUSB2_DVB=y -CONFIG_VIDEO_PVRUSB2=m -CONFIG_VIDEO_PVRUSB2_SYSFS=y -# CONFIG_VIDEO_RENESAS_VSP1 is not set -CONFIG_VIDEO_SAA6588=m -CONFIG_VIDEO_SAA7134_ALSA=m -CONFIG_VIDEO_SAA7134_DVB=m -CONFIG_VIDEO_SAA7134_GO7007=m -CONFIG_VIDEO_SAA7134=m -CONFIG_VIDEO_SAA7134_RC=y -CONFIG_VIDEO_SAA7146=m -CONFIG_VIDEO_SAA7146_VV=m -CONFIG_VIDEO_SAA7164=m -# CONFIG_VIDEO_SH_MOBILE_CEU is not set -# CONFIG_VIDEO_SH_MOBILE_CSI2 is not set -# CONFIG_VIDEO_SH_VEU is not set -CONFIG_VIDEO_SOLO6X10=m -CONFIG_VIDEO_SR030PC30=m -CONFIG_VIDEO_STK1160_AC97=y -CONFIG_VIDEO_STK1160_COMMON=m -CONFIG_VIDEO_STK1160=m -CONFIG_VIDEO_TM6000_ALSA=m -CONFIG_VIDEO_TM6000_DVB=m -CONFIG_VIDEO_TM6000=m -CONFIG_VIDEO_TUNER=m -# CONFIG_VIDEO_TW5864 is not set -# CONFIG_VIDEO_TW686X_KH is not set -CONFIG_VIDEO_TW686X=m -# CONFIG_VIDEO_TW68 is not set -CONFIG_VIDEO_USBTV=m -CONFIG_VIDEO_USBVISION=m -CONFIG_VIDEO_V4L2=m -CONFIG_VIDEO_V4L2_SUBDEV_API=y -# CONFIG_VIDEO_VIVID is not set -# CONFIG_VIDEO_VIVI is not set -# CONFIG_VIDEO_XILINX is not set -CONFIG_VIDEO_ZORAN_AVS6EYES=m -CONFIG_VIDEO_ZORAN_BUZ=m -CONFIG_VIDEO_ZORAN_DC10=m -CONFIG_VIDEO_ZORAN_DC30=m -# CONFIG_VIDEO_ZORAN is not set -CONFIG_VIDEO_ZORAN_LML33=m -CONFIG_VIDEO_ZORAN_LML33R10=m -CONFIG_VIDEO_ZORAN_ZR36060=m -# CONFIG_VIPERBOARD_ADC is not set -# CONFIG_VIRT_DRIVERS is not set -CONFIG_VIRTIO_BALLOON=m -CONFIG_VIRTIO_BLK=m -# CONFIG_VIRTIO_BLK_SCSI is not set -CONFIG_VIRTIO_CONSOLE=m -CONFIG_VIRTIO_INPUT=m -# CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set -CONFIG_VIRTIO_MMIO=m -CONFIG_VIRTIO_NET=m -CONFIG_VIRTIO_PCI_LEGACY=y -CONFIG_VIRTIO_PCI=m -CONFIG_VIRTIO_VSOCKETS=m -CONFIG_VIRTUALIZATION=y -CONFIG_VITESSE_PHY=m -CONFIG_VL6180=m -CONFIG_VLAN_8021Q_GVRP=y -CONFIG_VLAN_8021Q=m -CONFIG_VLAN_8021Q_MVRP=y -CONFIG_VLSI_FIR=m -# CONFIG_VME_BUS is not set -# CONFIG_VMXNET3 is not set -CONFIG_VORTEX=m -CONFIG_VSOCKETS=m -CONFIG_VSOCKMON=m -CONFIG_VSX=y -# CONFIG_VT6655 is not set -# CONFIG_VT6656 is not set -CONFIG_VT_CONSOLE=y -CONFIG_VT_HW_CONSOLE_BINDING=y -CONFIG_VT=y -# CONFIG_VXFS_FS is not set -# CONFIG_VXGE_DEBUG_TRACE_ALL is not set -CONFIG_VXGE=m -CONFIG_VXLAN=m -# CONFIG_VZ89X is not set -CONFIG_W1_CON=y -CONFIG_W1=m -# CONFIG_W1_MASTER_DS1WM is not set -CONFIG_W1_MASTER_DS2482=m -CONFIG_W1_MASTER_DS2490=m -# CONFIG_W1_MASTER_GPIO is not set -# CONFIG_W1_MASTER_MATROX is not set -CONFIG_W1_SLAVE_BQ27000=m -CONFIG_W1_SLAVE_DS2405=m -CONFIG_W1_SLAVE_DS2406=m -CONFIG_W1_SLAVE_DS2408=m -# CONFIG_W1_SLAVE_DS2408_READBACK is not set -CONFIG_W1_SLAVE_DS2413=m -CONFIG_W1_SLAVE_DS2423=m -CONFIG_W1_SLAVE_DS2431=m -CONFIG_W1_SLAVE_DS2433_CRC=y -CONFIG_W1_SLAVE_DS2433=m -CONFIG_W1_SLAVE_DS2438=m -CONFIG_W1_SLAVE_DS2760=m -CONFIG_W1_SLAVE_DS2780=m -CONFIG_W1_SLAVE_DS2781=m -CONFIG_W1_SLAVE_DS28E04=m -CONFIG_W1_SLAVE_SMEM=m -CONFIG_W1_SLAVE_THERM=m -CONFIG_W83627HF_WDT=m -CONFIG_W83877F_WDT=m -CONFIG_W83977F_WDT=m -# CONFIG_WAFER_WDT is not set -# CONFIG_WAN is not set -# CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set -CONFIG_WATCHDOG_CORE=y -CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED=y -# CONFIG_WATCHDOG_NOWAYOUT is not set -# CONFIG_WATCHDOG_PRETIMEOUT_GOV is not set -CONFIG_WATCHDOG_RTAS=m -CONFIG_WATCHDOG_SYSFS=y -CONFIG_WATCHDOG=y -# CONFIG_WCN36XX_DEBUGFS is not set -CONFIG_WCN36XX=m -CONFIG_WDAT_WDT=m -CONFIG_WDTPCI=m -CONFIG_WIL6210_ISR_COR=y -CONFIG_WIL6210=m -# CONFIG_WIL6210_TRACING is not set -# CONFIG_WILC1000_SDIO is not set -# CONFIG_WILC1000_SPI is not set -CONFIG_WILINK_PLATFORM_DATA=y -# CONFIG_WIMAX is not set -CONFIG_WINBOND_840=m -CONFIG_WINBOND_FIR=m -# CONFIG_WINDFARM is not set -CONFIG_WIRELESS_EXT=y -CONFIG_WIRELESS=y -CONFIG_WIZNET_W5100=m -CONFIG_WIZNET_W5100_SPI=m -CONFIG_WIZNET_W5300=m -CONFIG_WL1251=m -CONFIG_WL1251_SDIO=m -CONFIG_WL1251_SPI=m -CONFIG_WL12XX=m -CONFIG_WL18XX=m -# CONFIG_WLAN_VENDOR_ADMTEK is not set -CONFIG_WLAN_VENDOR_ATH=y -# CONFIG_WLAN_VENDOR_ATMEL is not set -CONFIG_WLAN_VENDOR_BROADCOM=y -# CONFIG_WLAN_VENDOR_CISCO is not set -CONFIG_WLAN_VENDOR_INTEL=y -CONFIG_WLAN_VENDOR_INTERSIL=y -CONFIG_WLAN_VENDOR_MARVELL=y -CONFIG_WLAN_VENDOR_MEDIATEK=y -CONFIG_WLAN_VENDOR_QUANTENNA=y -CONFIG_WLAN_VENDOR_RALINK=y -CONFIG_WLAN_VENDOR_REALTEK=y -CONFIG_WLAN_VENDOR_RSI=y -CONFIG_WLAN_VENDOR_ST=y -CONFIG_WLAN_VENDOR_TI=y -CONFIG_WLAN_VENDOR_ZYDAS=y -CONFIG_WLAN=y -CONFIG_WLCORE=m -CONFIG_WLCORE_SDIO=m -CONFIG_WLCORE_SPI=m -# CONFIG_WM831X_POWER is not set -CONFIG_WM831X_WATCHDOG=m -CONFIG_WM8350_POWER=m -CONFIG_WM8350_WATCHDOG=m -# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set -CONFIG_WQ_WATCHDOG=y -# CONFIG_WW_MUTEX_SELFTEST is not set -# CONFIG_X25 is not set -CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y -CONFIG_X86_MCELOG_LEGACY=y -CONFIG_X86_PTDUMP=y -CONFIG_XFRM_MIGRATE=y -CONFIG_XFRM_STATISTICS=y -CONFIG_XFRM_SUB_POLICY=y -CONFIG_XFRM_USER=y -CONFIG_XFRM=y -# CONFIG_XFS_DEBUG is not set -CONFIG_XFS_FS=m -CONFIG_XFS_POSIX_ACL=y -CONFIG_XFS_QUOTA=y -# CONFIG_XFS_RT is not set -# CONFIG_XFS_WARN is not set -# CONFIG_XILINX_DMA is not set -# CONFIG_XILINX_EMACLITE is not set -CONFIG_XILINX_GMII2RGMII=m -# CONFIG_XILINX_LL_TEMAC is not set -# CONFIG_XILINX_WATCHDOG is not set -CONFIG_XILLYBUS=m -# CONFIG_XILLYBUS_OF is not set -CONFIG_XILLYBUS_PCIE=m -# CONFIG_XMON_DEFAULT is not set -CONFIG_XMON_DISASSEMBLY=y -CONFIG_XMON=y -# CONFIG_XPS_USB_HCD_XILINX is not set -CONFIG_XZ_DEC_IA64=y -CONFIG_XZ_DEC_POWERPC=y -CONFIG_XZ_DEC_SPARC=y -# CONFIG_XZ_DEC_TEST is not set -CONFIG_XZ_DEC_X86=y -CONFIG_XZ_DEC=y -CONFIG_YAM=m -CONFIG_YELLOWFIN=m -CONFIG_YENTA=m -CONFIG_Z3FOLD=y -CONFIG_ZBUD=y -# CONFIG_ZD1211RW_DEBUG is not set -CONFIG_ZD1211RW=m -CONFIG_ZEROPLUS_FF=y -# CONFIG_ZIIRAVE_WATCHDOG is not set -CONFIG_ZISOFS=y -CONFIG_ZLIB_DEFLATE=y -CONFIG_ZLIB_INFLATE=y -# CONFIG_ZONE_DEVICE is not set -# CONFIG_ZPA2326 is not set -CONFIG_ZRAM=m -# CONFIG_ZSMALLOC_STAT is not set -CONFIG_ZSMALLOC=y -CONFIG_ZSWAP=y -# CONFIG_ZX_TDM is not set diff --git a/freed-ora/current/f26/kernel-ppc64p7.config b/freed-ora/current/f26/kernel-ppc64p7.config deleted file mode 100644 index acedc0893..000000000 --- a/freed-ora/current/f26/kernel-ppc64p7.config +++ /dev/null @@ -1,5794 +0,0 @@ -# powerpc -# CONFIG_3C515 is not set -# CONFIG_60XX_WDT is not set -CONFIG_6LOWPAN_DEBUGFS=y -CONFIG_6LOWPAN_GHC_EXT_HDR_DEST=m -CONFIG_6LOWPAN_GHC_EXT_HDR_FRAG=m -CONFIG_6LOWPAN_GHC_EXT_HDR_HOP=m -CONFIG_6LOWPAN_GHC_EXT_HDR_ROUTE=m -CONFIG_6LOWPAN_GHC_ICMPV6=m -CONFIG_6LOWPAN_GHC_UDP=m -CONFIG_6LOWPAN=m -CONFIG_6LOWPAN_NHC_DEST=m -CONFIG_6LOWPAN_NHC_FRAGMENT=m -CONFIG_6LOWPAN_NHC_HOP=m -CONFIG_6LOWPAN_NHC_IPV6=m -CONFIG_6LOWPAN_NHC=m -CONFIG_6LOWPAN_NHC_MOBILITY=m -CONFIG_6LOWPAN_NHC_ROUTING=m -CONFIG_6LOWPAN_NHC_UDP=m -CONFIG_6PACK=m -CONFIG_8139CP=m -# CONFIG_8139_OLD_RX_RESET is not set -CONFIG_8139TOO_8129=y -CONFIG_8139TOO=m -# CONFIG_8139TOO_PIO is not set -# CONFIG_8139TOO_TUNE_TWISTER is not set -# CONFIG_8723AU_AP_MODE is not set -# CONFIG_8723AU_BT_COEXIST is not set -CONFIG_9P_FSCACHE=y -CONFIG_9P_FS=m -CONFIG_9P_FS_POSIX_ACL=y -CONFIG_9P_FS_SECURITY=y -CONFIG_A11Y_BRAILLE_CONSOLE=y -# CONFIG_AB3100_CORE is not set -# CONFIG_AB3100_OTP is not set -CONFIG_ABP060MG=m -# CONFIG_ABX500_CORE is not set -CONFIG_ACCESSIBILITY=y -CONFIG_ACENIC=m -# CONFIG_ACENIC_OMIT_TIGON_I is not set -# CONFIG_ACORN_PARTITION is not set -CONFIG_ACPI_ALS=m -# CONFIG_ACPI_DEBUGGER is not set -# CONFIG_ACPI_DEBUG is not set -# CONFIG_ACPI_NFIT is not set -CONFIG_ACPI_PCI_SLOT=y -# CONFIG_ACQUIRE_WDT is not set -CONFIG_ACT200L_DONGLE=m -CONFIG_ACTISYS_DONGLE=m -# CONFIG_AD2S1200 is not set -# CONFIG_AD2S1210 is not set -# CONFIG_AD2S90 is not set -# CONFIG_AD5064 is not set -# CONFIG_AD525X_DPOT is not set -# CONFIG_AD5360 is not set -# CONFIG_AD5380 is not set -# CONFIG_AD5421 is not set -# CONFIG_AD5446 is not set -# CONFIG_AD5449 is not set -# CONFIG_AD5504 is not set -# CONFIG_AD5592R is not set -# CONFIG_AD5593R is not set -# CONFIG_AD5624R_SPI is not set -# CONFIG_AD5686 is not set -# CONFIG_AD5755 is not set -# CONFIG_AD5761 is not set -# CONFIG_AD5764 is not set -# CONFIG_AD5791 is not set -# CONFIG_AD5933 is not set -# CONFIG_AD7150 is not set -# CONFIG_AD7152 is not set -# CONFIG_AD7192 is not set -# CONFIG_AD7266 is not set -# CONFIG_AD7280 is not set -# CONFIG_AD7291 is not set -# CONFIG_AD7298 is not set -# CONFIG_AD7303 is not set -# CONFIG_AD7476 is not set -# CONFIG_AD7606 is not set -# CONFIG_AD7746 is not set -CONFIG_AD7766=m -# CONFIG_AD7780 is not set -# CONFIG_AD7791 is not set -# CONFIG_AD7793 is not set -# CONFIG_AD7816 is not set -# CONFIG_AD7887 is not set -# CONFIG_AD7923 is not set -# CONFIG_AD799X is not set -# CONFIG_AD8366 is not set -# CONFIG_AD8801 is not set -# CONFIG_AD9523 is not set -# CONFIG_AD9832 is not set -# CONFIG_AD9834 is not set -CONFIG_ADAPTEC_STARFIRE=m -# CONFIG_ADE7753 is not set -# CONFIG_ADE7754 is not set -# CONFIG_ADE7758 is not set -# CONFIG_ADE7759 is not set -# CONFIG_ADE7854 is not set -# CONFIG_ADF4350 is not set -# CONFIG_ADFS_FS is not set -# CONFIG_ADIS16060 is not set -# CONFIG_ADIS16080 is not set -# CONFIG_ADIS16130 is not set -# CONFIG_ADIS16136 is not set -# CONFIG_ADIS16201 is not set -# CONFIG_ADIS16203 is not set -# CONFIG_ADIS16209 is not set -# CONFIG_ADIS16240 is not set -# CONFIG_ADIS16260 is not set -# CONFIG_ADIS16400 is not set -# CONFIG_ADIS16480 is not set -# CONFIG_ADJD_S311 is not set -# CONFIG_ADM8211 is not set -# CONFIG_ADT7316 is not set -# CONFIG_ADVANTECH_WDT is not set -# CONFIG_ADXL345_I2C is not set -# CONFIG_ADXL345_SPI is not set -# CONFIG_ADXRS450 is not set -# CONFIG_AFE4403 is not set -# CONFIG_AFE4404 is not set -CONFIG_AFFS_FS=m -# CONFIG_AF_KCM is not set -# CONFIG_AF_RXRPC is not set -# CONFIG_AFS_FS is not set -# CONFIG_AGP is not set -# CONFIG_AHCI_CEVA is not set -# CONFIG_AHCI_QORIQ is not set -# CONFIG_AIC79XX_BUILD_FIRMWARE is not set -CONFIG_AIC79XX_CMDS_PER_DEVICE=4 -# CONFIG_AIC79XX_DEBUG_ENABLE is not set -CONFIG_AIC79XX_DEBUG_MASK=0 -# CONFIG_AIC79XX_REG_PRETTY_PRINT is not set -CONFIG_AIC79XX_RESET_DELAY_MS=15000 -# CONFIG_AIC7XXX_BUILD_FIRMWARE is not set -CONFIG_AIC7XXX_CMDS_PER_DEVICE=4 -# CONFIG_AIC7XXX_DEBUG_ENABLE is not set -CONFIG_AIC7XXX_DEBUG_MASK=0 -# CONFIG_AIC7XXX_REG_PRETTY_PRINT is not set -CONFIG_AIC7XXX_RESET_DELAY_MS=15000 -# CONFIG_AIRO_CS is not set -# CONFIG_AIRO is not set -CONFIG_AIX_PARTITION=y -# CONFIG_AK09911 is not set -# CONFIG_AK8974 is not set -# CONFIG_AK8975 is not set -# CONFIG_AL3320A is not set -CONFIG_ALI_FIR=m -CONFIG_ALIM1535_WDT=m -CONFIG_ALIM7101_WDT=m -# CONFIG_ALTERA_MBOX is not set -CONFIG_ALTERA_STAPL=m -CONFIG_ALTERA_TSE=m -CONFIG_ALTIVEC=y -CONFIG_ALX=m -# CONFIG_AM2315 is not set -CONFIG_AMD8111_ETH=m -CONFIG_AMD_PHY=m -# CONFIG_AMD_XGBE_DCB is not set -# CONFIG_AMD_XGBE is not set -# CONFIG_AMIGAONE is not set -CONFIG_AMIGA_PARTITION=y -# CONFIG_ANDROID is not set -# CONFIG_APDS9300 is not set -CONFIG_APDS9802ALS=m -# CONFIG_APDS9960 is not set -CONFIG_APM_POWER=m -# CONFIG_APPLE_PROPERTIES is not set -# CONFIG_APPLICOM is not set -CONFIG_AQUANTIA_PHY=m -CONFIG_AR5523=m -# CONFIG_ARCNET is not set -CONFIG_ARM64_ERRATUM_858921=y -# CONFIG_AS3935 is not set -CONFIG_ASYMMETRIC_KEY_TYPE=y -CONFIG_ASYNC_RAID6_TEST=m -CONFIG_ASYNC_TX_DMA=y -CONFIG_AT76C50X_USB=m -CONFIG_AT803X_PHY=m -CONFIG_ATA_ACPI=y -CONFIG_ATA_BMDMA=y -CONFIG_ATA_GENERIC=m -CONFIG_ATALK=m -CONFIG_ATA_OVER_ETH=m -CONFIG_ATA_PIIX=y -# CONFIG_ATARI_PARTITION is not set -CONFIG_ATA_SFF=y -CONFIG_ATA_VERBOSE_ERROR=y -CONFIG_ATA=y -# CONFIG_ATH10K_AHB is not set -CONFIG_ATH10K_DEBUGFS=y -# CONFIG_ATH10K_DEBUG is not set -CONFIG_ATH10K=m -CONFIG_ATH10K_PCI=m -CONFIG_ATH10K_SDIO=m -# CONFIG_ATH10K_TRACING is not set -CONFIG_ATH5K_DEBUG=y -CONFIG_ATH5K=m -# CONFIG_ATH5K_TRACER is not set -CONFIG_ATH6KL_DEBUG=y -CONFIG_ATH6KL=m -CONFIG_ATH6KL_SDIO=m -# CONFIG_ATH6KL_TRACING is not set -CONFIG_ATH6KL_USB=m -CONFIG_ATH9K_AHB=y -CONFIG_ATH9K_BTCOEX_SUPPORT=y -# CONFIG_ATH9K_CHANNEL_CONTEXT is not set -CONFIG_ATH9K_DEBUGFS=y -# CONFIG_ATH9K_DEBUG is not set -# CONFIG_ATH9K_DYNACK is not set -# CONFIG_ATH9K_HTC_DEBUGFS is not set -CONFIG_ATH9K_HTC=m -# CONFIG_ATH9K_HWRNG is not set -CONFIG_ATH9K=m -CONFIG_ATH9K_PCI=y -# CONFIG_ATH9K_STATION_STATISTICS is not set -# CONFIG_ATH9K_WOW is not set -CONFIG_ATH_COMMON=m -# CONFIG_ATH_DEBUG is not set -# CONFIG_ATH_TRACEPOINTS is not set -CONFIG_ATL1C=m -CONFIG_ATL1E=m -CONFIG_ATL1=m -CONFIG_ATL2=m -# CONFIG_ATLAS_PH_SENSOR is not set -# CONFIG_ATM_AMBASSADOR_DEBUG is not set -# CONFIG_ATM_AMBASSADOR is not set -# CONFIG_ATM_BR2684_IPFILTER is not set -CONFIG_ATM_BR2684=m -CONFIG_ATM_CLIP=m -# CONFIG_ATM_CLIP_NO_ICMP is not set -CONFIG_ATM_DRIVERS=y -# CONFIG_ATM_DUMMY is not set -# CONFIG_ATMEL is not set -# CONFIG_ATM_ENI_DEBUG is not set -CONFIG_ATM_ENI=m -# CONFIG_ATM_ENI_TUNE_BURST is not set -# CONFIG_ATM_FIRESTREAM is not set -CONFIG_ATM_FORE200E_DEBUG=0 -# CONFIG_ATM_FORE200E is not set -CONFIG_ATM_FORE200E_TX_RETRY=16 -# CONFIG_ATM_FORE200E_USE_TASKLET is not set -CONFIG_ATM_HE=m -# CONFIG_ATM_HE_USE_SUNI is not set -# CONFIG_ATM_HORIZON_DEBUG is not set -# CONFIG_ATM_HORIZON is not set -# CONFIG_ATM_IA_DEBUG is not set -# CONFIG_ATM_IA is not set -# CONFIG_ATM_IDT77252_DEBUG is not set -# CONFIG_ATM_IDT77252 is not set -# CONFIG_ATM_IDT77252_RCV_ALL is not set -# CONFIG_ATM_LANAI is not set -CONFIG_ATM_LANE=m -CONFIG_ATM=m -# CONFIG_ATM_MPOA is not set -CONFIG_ATM_NICSTAR=m -# CONFIG_ATM_NICSTAR_USE_IDT77105 is not set -# CONFIG_ATM_NICSTAR_USE_SUNI is not set -CONFIG_ATM_SOLOS=m -CONFIG_ATM_TCP=m -# CONFIG_ATM_ZATM_DEBUG is not set -# CONFIG_ATM_ZATM is not set -CONFIG_ATOMIC64_SELFTEST=y -CONFIG_ATP=m -CONFIG_AUDITSYSCALL=y -CONFIG_AUDIT=y -CONFIG_AUTOFS4_FS=y -CONFIG_AUXDISPLAY=y -# CONFIG_AVERAGE is not set -CONFIG_AX25_DAMA_SLAVE=y -CONFIG_AX25=m -# CONFIG_AXON_RAM is not set -CONFIG_B43_BCMA_PIO=y -CONFIG_B43_BCMA=y -# CONFIG_B43_DEBUG is not set -# CONFIG_B43LEGACY_DEBUG is not set -CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y -# CONFIG_B43LEGACY_DMA_MODE is not set -CONFIG_B43LEGACY_DMA=y -CONFIG_B43LEGACY=m -# CONFIG_B43LEGACY_PIO_MODE is not set -CONFIG_B43LEGACY_PIO=y -CONFIG_B43=m -CONFIG_B43_PHY_G=y -CONFIG_B43_PHY_HT=y -CONFIG_B43_PHY_LP=y -CONFIG_B43_PHY_N=y -CONFIG_B43_SDIO=y -CONFIG_B44=m -CONFIG_B44_PCI=y -CONFIG_B53=m -CONFIG_B53_MDIO_DRIVER=m -CONFIG_B53_MMAP_DRIVER=m -CONFIG_B53_SPI_DRIVER=m -CONFIG_B53_SRAB_DRIVER=m -# CONFIG_BACKLIGHT_ADP8860 is not set -# CONFIG_BACKLIGHT_ADP8870 is not set -CONFIG_BACKLIGHT_ARCXCNN=m -# CONFIG_BACKLIGHT_BD6107 is not set -CONFIG_BACKLIGHT_CLASS_DEVICE=y -# CONFIG_BACKLIGHT_GENERIC is not set -# CONFIG_BACKLIGHT_GPIO is not set -CONFIG_BACKLIGHT_LCD_SUPPORT=y -# CONFIG_BACKLIGHT_LM3630A is not set -# CONFIG_BACKLIGHT_LM3630 is not set -# CONFIG_BACKLIGHT_LM3639 is not set -CONFIG_BACKLIGHT_LP855X=m -# CONFIG_BACKLIGHT_LV5207LP is not set -# CONFIG_BACKLIGHT_PM8941_WLED is not set -CONFIG_BACKLIGHT_PWM=m -# CONFIG_BACKLIGHT_SAHARA is not set -CONFIG_BACKLIGHT_WM831X=m -# CONFIG_BACKTRACE_SELF_TEST is not set -CONFIG_BALLOON_COMPACTION=y -CONFIG_BATMAN_ADV_BATMAN_V=y -CONFIG_BATMAN_ADV_BLA=y -CONFIG_BATMAN_ADV_DAT=y -# CONFIG_BATMAN_ADV_DEBUGFS is not set -# CONFIG_BATMAN_ADV_DEBUG is not set -CONFIG_BATMAN_ADV=m -CONFIG_BATMAN_ADV_MCAST=y -CONFIG_BATMAN_ADV_NC=y -# CONFIG_BATTERY_BQ27XXX is not set -# CONFIG_BATTERY_DS2760 is not set -# CONFIG_BATTERY_DS2780 is not set -# CONFIG_BATTERY_DS2781 is not set -# CONFIG_BATTERY_DS2782 is not set -# CONFIG_BATTERY_GAUGE_LTC2941 is not set -# CONFIG_BATTERY_LEGO_EV3 is not set -# CONFIG_BATTERY_MAX17040 is not set -# CONFIG_BATTERY_MAX17042 is not set -# CONFIG_BATTERY_SBS is not set -CONFIG_BAYCOM_EPP=m -CONFIG_BAYCOM_PAR=m -CONFIG_BAYCOM_SER_FDX=m -CONFIG_BAYCOM_SER_HDX=m -# CONFIG_BCACHE_CLOSURES_DEBUG is not set -# CONFIG_BCACHE_DEBUG is not set -CONFIG_BCACHE=m -# CONFIG_BCM2835_VCHIQ is not set -CONFIG_BCM63XX_PHY=m -# CONFIG_BCM7038_WDT is not set -CONFIG_BCM7XXX_PHY=m -CONFIG_BCM87XX_PHY=m -CONFIG_BCMA_BLOCKIO=y -# CONFIG_BCMA_DEBUG is not set -CONFIG_BCMA_DRIVER_GMAC_CMN=y -CONFIG_BCMA_DRIVER_GPIO=y -CONFIG_BCMA_HOST_PCI_POSSIBLE=y -CONFIG_BCMA_HOST_PCI=y -# CONFIG_BCMA_HOST_SOC is not set -CONFIG_BCMA=m -# CONFIG_BCM_FLEXRM_MBOX is not set -CONFIG_BCMGENET=m -# CONFIG_BCM_KONA_USB2_PHY is not set -CONFIG_BE2ISCSI=m -# CONFIG_BE2NET_HWMON is not set -CONFIG_BE2NET=m -# CONFIG_BEFS_DEBUG is not set -CONFIG_BEFS_FS=m -CONFIG_BFQ_GROUP_IOSCHED=y -# CONFIG_BFS_FS is not set -CONFIG_BH1750=m -# CONFIG_BH1780 is not set -CONFIG_BIG_KEYS=y -# CONFIG_BINFMT_AOUT is not set -CONFIG_BINFMT_ELF=y -# CONFIG_BINFMT_FLAT is not set -CONFIG_BINFMT_MISC=m -CONFIG_BINFMT_SCRIPT=y -CONFIG_BLK_CGROUP=y -# CONFIG_BLK_CMDLINE_PARSER is not set -CONFIG_BLK_CPQ_CISS_DA=m -CONFIG_BLK_DEBUG_FS=y -CONFIG_BLK_DEV_3W_XXXX_RAID=m -CONFIG_BLK_DEV_BSGLIB=y -CONFIG_BLK_DEV_BSG=y -# CONFIG_BLK_DEV_CRYPTOLOOP is not set -CONFIG_BLK_DEV_DAC960=m -CONFIG_BLK_DEV_DM=y -CONFIG_BLK_DEV_DRBD=m -CONFIG_BLK_DEV_FD=m -CONFIG_BLK_DEV_INITRD=y -CONFIG_BLK_DEV_INTEGRITY=y -CONFIG_BLK_DEV_IO_TRACE=y -CONFIG_BLK_DEV_IT8172=m -CONFIG_BLK_DEV_LOOP=m -CONFIG_BLK_DEV_LOOP_MIN_COUNT=0 -CONFIG_BLK_DEV_MD=y -CONFIG_BLK_DEV_NBD=m -CONFIG_BLK_DEV_NULL_BLK=m -CONFIG_BLK_DEV_NVME=m -# CONFIG_BLK_DEV_NVME_SCSI is not set -CONFIG_BLK_DEV_OSD=m -# CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set -# CONFIG_BLK_DEV_PLATFORM is not set -CONFIG_BLK_DEV_PMEM=m -CONFIG_BLK_DEV_RAM_COUNT=16 -CONFIG_BLK_DEV_RAM_DAX=y -CONFIG_BLK_DEV_RAM=m -CONFIG_BLK_DEV_RAM_SIZE=16384 -CONFIG_BLK_DEV_RBD=m -CONFIG_BLK_DEV_RSXX=m -CONFIG_BLK_DEV_SD=y -CONFIG_BLK_DEV_SKD=m -CONFIG_BLK_DEV_SR_VENDOR=y -CONFIG_BLK_DEV_SR=y -CONFIG_BLK_DEV_SX8=m -# CONFIG_BLK_DEV_THROTTLING_LOW is not set -CONFIG_BLK_DEV_THROTTLING=y -# CONFIG_BLK_DEV_UB is not set -CONFIG_BLK_DEV_UMEM=m -CONFIG_BLK_DEV=y -CONFIG_BLK_DEV_ZONED=y -CONFIG_BLK_SED_OPAL=y -CONFIG_BLK_WBT_MQ=y -# CONFIG_BLK_WBT_SQ is not set -CONFIG_BLK_WBT=y -# CONFIG_BMA180 is not set -# CONFIG_BMA220 is not set -CONFIG_BMC150_ACCEL=m -# CONFIG_BMC150_MAGN_I2C is not set -# CONFIG_BMC150_MAGN is not set -# CONFIG_BMC150_MAGN_SPI is not set -# CONFIG_BMG160 is not set -# CONFIG_BMI160_I2C is not set -# CONFIG_BMI160_SPI is not set -CONFIG_BMP280=m -CONFIG_BNA=m -CONFIG_BNX2=m -CONFIG_BNX2X=m -CONFIG_BNX2X_SRIOV=y -CONFIG_BNXT_DCB=y -CONFIG_BNXT=m -CONFIG_BNXT_SRIOV=y -CONFIG_BONDING=m -# CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is not set -# CONFIG_BOOTPARAM_HOTPLUG_CPU0 is not set -# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set -# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set -CONFIG_BOOT_PRINTK_DELAY=y -CONFIG_BOOTX_TEXT=y -CONFIG_BOUNCE=y -CONFIG_BPF_JIT=y -CONFIG_BPF_SYSCALL=y -CONFIG_BPQETHER=m -# CONFIG_BRCMDBG is not set -CONFIG_BRCMFMAC=m -CONFIG_BRCMFMAC_PCIE=y -CONFIG_BRCMFMAC_SDIO=y -CONFIG_BRCMFMAC_USB=y -CONFIG_BRCMSMAC=m -# CONFIG_BRCMSTB_GISB_ARB is not set -# CONFIG_BRCM_TRACING is not set -CONFIG_BRIDGE_EBT_802_3=m -CONFIG_BRIDGE_EBT_AMONG=m -CONFIG_BRIDGE_EBT_ARP=m -CONFIG_BRIDGE_EBT_ARPREPLY=m -CONFIG_BRIDGE_EBT_BROUTE=m -CONFIG_BRIDGE_EBT_DNAT=m -CONFIG_BRIDGE_EBT_IP6=m -CONFIG_BRIDGE_EBT_IP=m -CONFIG_BRIDGE_EBT_LIMIT=m -CONFIG_BRIDGE_EBT_LOG=m -CONFIG_BRIDGE_EBT_MARK=m -CONFIG_BRIDGE_EBT_MARK_T=m -CONFIG_BRIDGE_EBT_NFLOG=m -CONFIG_BRIDGE_EBT_PKTTYPE=m -CONFIG_BRIDGE_EBT_REDIRECT=m -CONFIG_BRIDGE_EBT_SNAT=m -CONFIG_BRIDGE_EBT_STP=m -CONFIG_BRIDGE_EBT_T_FILTER=m -CONFIG_BRIDGE_EBT_T_NAT=m -CONFIG_BRIDGE_EBT_VLAN=m -CONFIG_BRIDGE_IGMP_SNOOPING=y -CONFIG_BRIDGE=m -CONFIG_BRIDGE_NETFILTER=m -CONFIG_BRIDGE_NF_EBTABLES=m -CONFIG_BRIDGE_VLAN_FILTERING=y -CONFIG_BROADCOM_PHY=m -CONFIG_BSD_DISKLABEL=y -CONFIG_BSD_PROCESS_ACCT_V3=y -CONFIG_BSD_PROCESS_ACCT=y -CONFIG_BT_6LOWPAN=m -CONFIG_BT_ATH3K=m -CONFIG_BT_BNEP=m -CONFIG_BT_BNEP_MC_FILTER=y -CONFIG_BT_BNEP_PROTO_FILTER=y -CONFIG_BT_BREDR=y -CONFIG_BT_CMTP=m -# CONFIG_BT_DEBUGFS is not set -CONFIG_BT_HCIBCM203X=m -CONFIG_BT_HCIBFUSB=m -CONFIG_BT_HCIBLUECARD=m -CONFIG_BT_HCIBPA10X=m -CONFIG_BT_HCIBT3C=m -CONFIG_BT_HCIBTSDIO=m -CONFIG_BT_HCIBTUART=m -CONFIG_BT_HCIBTUSB_BCM=y -CONFIG_BT_HCIBTUSB=m -CONFIG_BT_HCIBTUSB_RTL=y -CONFIG_BT_HCIDTL1=m -CONFIG_BT_HCIUART_3WIRE=y -CONFIG_BT_HCIUART_AG6XX=y -CONFIG_BT_HCIUART_ATH3K=y -CONFIG_BT_HCIUART_BCM=y -CONFIG_BT_HCIUART_BCSP=y -CONFIG_BT_HCIUART_H4=y -CONFIG_BT_HCIUART_INTEL=y -CONFIG_BT_HCIUART_LL=y -CONFIG_BT_HCIUART=m -CONFIG_BT_HCIUART_MRVL=y -CONFIG_BT_HCIUART_NOKIA=m -CONFIG_BT_HCIUART_QCA=y -CONFIG_BT_HCIUART_SERDEV=y -CONFIG_BT_HCIVHCI=m -CONFIG_BT_HIDP=m -CONFIG_BT_HS=y -CONFIG_BT_LEDS=y -CONFIG_BT_LE=y -CONFIG_BT=m -CONFIG_BT_MRVL=m -CONFIG_BT_MRVL_SDIO=m -CONFIG_BT_QCA=m -CONFIG_BT_RFCOMM=m -CONFIG_BT_RFCOMM_TTY=y -# CONFIG_BTRFS_ASSERT is not set -# CONFIG_BTRFS_DEBUG is not set -# CONFIG_BTRFS_FS_CHECK_INTEGRITY is not set -CONFIG_BTRFS_FS=m -CONFIG_BTRFS_FS_POSIX_ACL=y -# CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set -CONFIG_BT_SCO=y -# CONFIG_BT_SELFTEST is not set -# CONFIG_BTT is not set -CONFIG_BT_WILINK=m -CONFIG_BUG_ON_DATA_CORRUPTION=y -CONFIG_BUILD_DOCSRC=y -# CONFIG_C2PORT is not set -# CONFIG_CACHEFILES_DEBUG is not set -# CONFIG_CACHEFILES_HISTOGRAM is not set -CONFIG_CACHEFILES=m -# CONFIG_CADENCE_WATCHDOG is not set -# CONFIG_CAIF is not set -CONFIG_CAN_8DEV_USB=m -CONFIG_CAN_BCM=m -CONFIG_CAN_CALC_BITTIMING=y -# CONFIG_CAN_CC770_ISA is not set -CONFIG_CAN_CC770=m -CONFIG_CAN_CC770_PLATFORM=m -CONFIG_CAN_C_CAN=m -CONFIG_CAN_C_CAN_PCI=m -CONFIG_CAN_C_CAN_PLATFORM=m -# CONFIG_CAN_DEBUG_DEVICES is not set -CONFIG_CAN_DEV=m -CONFIG_CAN_EMS_PCI=m -# CONFIG_CAN_EMS_PCMCIA is not set -CONFIG_CAN_EMS_USB=m -CONFIG_CAN_ESD_USB2=m -# CONFIG_CAN_FLEXCAN is not set -# CONFIG_CAN_GRCAN is not set -CONFIG_CAN_GS_USB=m -CONFIG_CAN_GW=m -CONFIG_CAN_HI311X=m -CONFIG_CAN_IFI_CANFD=m -CONFIG_CAN_KVASER_PCI=m -CONFIG_CAN_KVASER_USB=m -CONFIG_CAN_LEDS=y -CONFIG_CAN=m -CONFIG_CAN_M_CAN=m -CONFIG_CAN_MCBA_USB=m -# CONFIG_CAN_MCP251X is not set -# CONFIG_CAN_MPC5XXX is not set -# CONFIG_CAN_MSCAN is not set -CONFIG_CAN_PEAK_PCIEC=y -CONFIG_CAN_PEAK_PCIEFD=m -CONFIG_CAN_PEAK_PCI=m -# CONFIG_CAN_PEAK_PCMCIA is not set -CONFIG_CAN_PEAK_USB=m -CONFIG_CAN_PLX_PCI=m -CONFIG_CAN_RAW=m -# CONFIG_CAN_SJA1000_ISA is not set -CONFIG_CAN_SJA1000=m -CONFIG_CAN_SJA1000_PLATFORM=m -CONFIG_CAN_SLCAN=m -# CONFIG_CAN_SOFTING_CS is not set -CONFIG_CAN_SOFTING=m -# CONFIG_CAN_TSCAN1 is not set -CONFIG_CAN_VCAN=m -CONFIG_CAN_VXCAN=m -# CONFIG_CAN_XILINXCAN is not set -CONFIG_CAPI_AVM=y -CONFIG_CAPI_EICON=y -# CONFIG_CAPI_TRACE is not set -CONFIG_CARDBUS=y -CONFIG_CARDMAN_4000=m -CONFIG_CARDMAN_4040=m -# CONFIG_CARL9170_DEBUGFS is not set -# CONFIG_CARL9170_HWRNG is not set -CONFIG_CARL9170_LEDS=y -CONFIG_CARL9170=m -CONFIG_CASSINI=m -CONFIG_CB710_CORE=m -# CONFIG_CB710_DEBUG is not set -# CONFIG_CC10001_ADC is not set -# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set -CONFIG_CDROM_PKTCDVD_BUFFERS=8 -CONFIG_CDROM_PKTCDVD=m -# CONFIG_CDROM_PKTCDVD_WCACHE is not set -CONFIG_CEC_PLATFORM_DRIVERS=y -CONFIG_CEPH_FSCACHE=y -CONFIG_CEPH_FS=m -CONFIG_CEPH_FS_POSIX_ACL=y -CONFIG_CEPH_LIB=m -# CONFIG_CEPH_LIB_PRETTYDEBUG is not set -# CONFIG_CEPH_LIB_USE_DNS_RESOLVER is not set -CONFIG_CFAG12864B=m -CONFIG_CFAG12864B_RATE=20 -CONFIG_CFG80211_CRDA_SUPPORT=y -CONFIG_CFG80211_DEBUGFS=y -CONFIG_CFG80211_DEFAULT_PS=y -# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set -CONFIG_CFG80211=m -CONFIG_CFG80211_WEXT=y -CONFIG_CFQ_GROUP_IOSCHED=y -CONFIG_CFS_BANDWIDTH=y -CONFIG_CGROUP_BPF=y -CONFIG_CGROUP_CPUACCT=y -# CONFIG_CGROUP_DEBUG is not set -CONFIG_CGROUP_DEVICE=y -CONFIG_CGROUP_FREEZER=y -CONFIG_CGROUP_HUGETLB=y -CONFIG_CGROUP_NET_CLASSID=y -CONFIG_CGROUP_NET_PRIO=y -CONFIG_CGROUP_PERF=y -CONFIG_CGROUP_PIDS=y -# CONFIG_CGROUP_RDMA is not set -CONFIG_CGROUP_SCHED=y -CONFIG_CGROUPS=y -# CONFIG_CHARGER_BQ2415X is not set -# CONFIG_CHARGER_BQ24190 is not set -# CONFIG_CHARGER_BQ24257 is not set -# CONFIG_CHARGER_BQ24735 is not set -# CONFIG_CHARGER_BQ25890 is not set -# CONFIG_CHARGER_DETECTOR_MAX14656 is not set -# CONFIG_CHARGER_GPIO is not set -# CONFIG_CHARGER_ISP1704 is not set -# CONFIG_CHARGER_LP8727 is not set -# CONFIG_CHARGER_LTC3651 is not set -# CONFIG_CHARGER_MAX8903 is not set -# CONFIG_CHARGER_PCF50633 is not set -# CONFIG_CHARGER_QCOM_SMBB is not set -# CONFIG_CHARGER_RT9455 is not set -# CONFIG_CHARGER_SBS is not set -CONFIG_CHARGER_SMB347=m -# CONFIG_CHECKPOINT_RESTORE is not set -CONFIG_CHELSIO_T1_1G=y -CONFIG_CHELSIO_T1=m -CONFIG_CHELSIO_T3=m -CONFIG_CHELSIO_T4_DCB=y -# CONFIG_CHELSIO_T4_FCOE is not set -CONFIG_CHELSIO_T4=m -CONFIG_CHELSIO_T4VF=m -CONFIG_CHR_DEV_OSST=m -CONFIG_CHR_DEV_SCH=m -CONFIG_CHR_DEV_SG=y -CONFIG_CHR_DEV_ST=m -CONFIG_CHROME_PLATFORMS=y -CONFIG_CICADA_PHY=m -CONFIG_CIFS_ACL=y -# CONFIG_CIFS_DEBUG2 is not set -# CONFIG_CIFS_DEBUG_DUMP_KEYS is not set -CONFIG_CIFS_DEBUG=y -CONFIG_CIFS_DFS_UPCALL=y -CONFIG_CIFS_FSCACHE=y -CONFIG_CIFS=m -CONFIG_CIFS_NFSD_EXPORT=y -CONFIG_CIFS_POSIX=y -CONFIG_CIFS_SMB2=y -# CONFIG_CIFS_SMB311 is not set -# CONFIG_CIFS_STATS2 is not set -CONFIG_CIFS_STATS=y -CONFIG_CIFS_UPCALL=y -CONFIG_CIFS_WEAK_PW_HASH=y -CONFIG_CIFS_XATTR=y -CONFIG_CISS_SCSI_TAPE=y -CONFIG_CLEANCACHE=y -# CONFIG_CLK_QORIQ is not set -CONFIG_CLS_U32_MARK=y -CONFIG_CLS_U32_PERF=y -CONFIG_CM32181=m -# CONFIG_CM3232 is not set -# CONFIG_CM3323 is not set -CONFIG_CM3605=m -# CONFIG_CM36651 is not set -CONFIG_CMA_AREAS=7 -# CONFIG_CMA_DEBUGFS is not set -# CONFIG_CMA_DEBUG is not set -CONFIG_CMA=y -# CONFIG_CMDLINE_BOOL is not set -# CONFIG_CMDLINE_PARTITION is not set -CONFIG_CMM=y -CONFIG_CNIC=m -CONFIG_CODA_FS=m -# CONFIG_CODE_PATCHING_SELFTEST is not set -# CONFIG_COMEDI is not set -# CONFIG_COMMON_CLK_CDCE706 is not set -# CONFIG_COMMON_CLK_CDCE925 is not set -# CONFIG_COMMON_CLK_CS2000_CP is not set -# CONFIG_COMMON_CLK_PWM is not set -# CONFIG_COMMON_CLK_SI514 is not set -# CONFIG_COMMON_CLK_SI5351 is not set -# CONFIG_COMMON_CLK_SI570 is not set -# CONFIG_COMMON_CLK_VC5 is not set -# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set -# CONFIG_COMMON_RESET_HI3660 is not set -CONFIG_COMPACTION=y -# CONFIG_COMPAT_BRK is not set -# CONFIG_COMPILE_TEST is not set -CONFIG_CONFIGFS_FS=y -CONFIG_CONNECTOR=y -# CONFIG_CONSISTENT_SIZE_BOOL is not set -CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7 -CONFIG_CONTEXT_SWITCH_TRACER=y -CONFIG_CORDIC=m -CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y -CONFIG_CORTINA_PHY=m -# CONFIG_CPU5_WDT is not set -CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y -# CONFIG_CPUFREQ_DT is not set -CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y -CONFIG_CPU_FREQ_GOV_ONDEMAND=y -CONFIG_CPU_FREQ_GOV_PERFORMANCE=y -CONFIG_CPU_FREQ_GOV_POWERSAVE=y -CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y -CONFIG_CPU_FREQ_GOV_USERSPACE=y -CONFIG_CPU_FREQ_STAT_DETAILS=y -CONFIG_CPU_FREQ_STAT=y -CONFIG_CPU_FREQ=y -# CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set -# CONFIG_CPU_IDLE_GOV_LADDER is not set -CONFIG_CPU_IDLE=y -# CONFIG_CPU_LITTLE_ENDIAN is not set -CONFIG_CPUMASK_OFFSTACK=y -CONFIG_CPUSETS=y -# CONFIG_CPU_THERMAL is not set -CONFIG_CRAMFS=m -CONFIG_CRASH_DUMP=y -CONFIG_CRASH=m -CONFIG_CRC16=y -# CONFIG_CRC32_SELFTEST is not set -CONFIG_CRC32=y -CONFIG_CRC4=m -CONFIG_CRC7=m -CONFIG_CRC8=m -CONFIG_CRC_CCITT=y -CONFIG_CRC_ITU_T=m -CONFIG_CRC_T10DIF=y -CONFIG_CROS_KBD_LED_BACKLIGHT=m -CONFIG_CROSS_COMPILE="" -CONFIG_CROSS_MEMORY_ATTACH=y -CONFIG_CRYPTO_842=m -CONFIG_CRYPTO_AES_TI=m -CONFIG_CRYPTO_AES=y -CONFIG_CRYPTO_ANSI_CPRNG=m -CONFIG_CRYPTO_ANUBIS=m -CONFIG_CRYPTO_ARC4=m -CONFIG_CRYPTO_AUTHENC=m -CONFIG_CRYPTO_BLKCIPHER=y -CONFIG_CRYPTO_BLOWFISH=m -CONFIG_CRYPTO_CAMELLIA=m -CONFIG_CRYPTO_CAST5=m -CONFIG_CRYPTO_CAST6=m -CONFIG_CRYPTO_CBC=y -CONFIG_CRYPTO_CCM=m -CONFIG_CRYPTO_CHACHA20=m -CONFIG_CRYPTO_CHACHA20POLY1305=m -CONFIG_CRYPTO_CMAC=m -CONFIG_CRYPTO_CRC32C_VPMSUM=m -CONFIG_CRYPTO_CRC32C=y -CONFIG_CRYPTO_CRC32=m -CONFIG_CRYPTO_CRCT10DIF_VPMSUM=m -# CONFIG_CRYPTO_CRYPTD is not set -CONFIG_CRYPTO_CTR=y -CONFIG_CRYPTO_CTS=y -CONFIG_CRYPTO_DEFLATE=m -CONFIG_CRYPTO_DES=m -# CONFIG_CRYPTO_DEV_CCREE is not set -CONFIG_CRYPTO_DEV_CHELSIO=m -# CONFIG_CRYPTO_DEV_FSL_CAAM is not set -CONFIG_CRYPTO_DEV_HIFN_795X=m -CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y -CONFIG_CRYPTO_DEV_NITROX_CNN55XX=m -CONFIG_CRYPTO_DEV_NX_COMPRESS=m -CONFIG_CRYPTO_DEV_NX_COMPRESS_POWERNV=m -CONFIG_CRYPTO_DEV_NX_COMPRESS_PSERIES=m -CONFIG_CRYPTO_DEV_NX_ENCRYPT=m -CONFIG_CRYPTO_DEV_NX=y -CONFIG_CRYPTO_DEV_VIRTIO=m -CONFIG_CRYPTO_DEV_VMX_ENCRYPT=m -CONFIG_CRYPTO_DEV_VMX=y -CONFIG_CRYPTO_DH=y -CONFIG_CRYPTO_DRBG_CTR=y -CONFIG_CRYPTO_DRBG_HASH=y -CONFIG_CRYPTO_DRBG_MENU=y -CONFIG_CRYPTO_ECB=y -CONFIG_CRYPTO_ECDH=m -CONFIG_CRYPTO_ECHAINIV=m -CONFIG_CRYPTO_FCRYPT=m -CONFIG_CRYPTO_FIPS=y -CONFIG_CRYPTO_GCM=y -CONFIG_CRYPTO_GF128MUL=y -CONFIG_CRYPTO_GHASH=y -CONFIG_CRYPTO_HMAC=y -CONFIG_CRYPTO_HW=y -CONFIG_CRYPTO_KEYWRAP=m -CONFIG_CRYPTO_KHAZAD=m -CONFIG_CRYPTO_LRW=m -CONFIG_CRYPTO_LZ4HC=m -CONFIG_CRYPTO_LZ4=m -CONFIG_CRYPTO_LZO=y -# CONFIG_CRYPTO_MANAGER_DISABLE_TESTS is not set -CONFIG_CRYPTO_MANAGER=y -# CONFIG_CRYPTO_MCRYPTD is not set -CONFIG_CRYPTO_MD4=m -# CONFIG_CRYPTO_MD5_PPC is not set -CONFIG_CRYPTO_MD5=y -CONFIG_CRYPTO_MICHAEL_MIC=m -CONFIG_CRYPTO_NULL=y -CONFIG_CRYPTO_PCBC=m -CONFIG_CRYPTO_PCRYPT=m -CONFIG_CRYPTO_POLY1305=m -CONFIG_CRYPTO_RMD128=m -CONFIG_CRYPTO_RMD160=m -CONFIG_CRYPTO_RMD256=m -CONFIG_CRYPTO_RMD320=m -CONFIG_CRYPTO_RSA=y -CONFIG_CRYPTO_SALSA20_586=m -CONFIG_CRYPTO_SALSA20=m -CONFIG_CRYPTO_SEED=m -CONFIG_CRYPTO_SEQIV=y -CONFIG_CRYPTO_SERPENT=m -# CONFIG_CRYPTO_SHA1_PPC is not set -CONFIG_CRYPTO_SHA1=y -CONFIG_CRYPTO_SHA256=y -CONFIG_CRYPTO_SHA3=m -CONFIG_CRYPTO_SHA512=m -CONFIG_CRYPTO_SIMD=y -CONFIG_CRYPTO_TEA=m -CONFIG_CRYPTO_TEST=m -CONFIG_CRYPTO_TGR192=m -CONFIG_CRYPTO_TWOFISH=m -CONFIG_CRYPTO_USER_API_AEAD=y -CONFIG_CRYPTO_USER_API_HASH=y -CONFIG_CRYPTO_USER_API_RNG=y -CONFIG_CRYPTO_USER_API_SKCIPHER=y -CONFIG_CRYPTO_USER=m -CONFIG_CRYPTO_VMAC=m -# CONFIG_CRYPTO_VPMSUM_TESTER is not set -CONFIG_CRYPTO_WP512=m -CONFIG_CRYPTO_XCBC=m -CONFIG_CRYPTO_XTS=y -CONFIG_CRYPTO=y -CONFIG_CUSE=m -CONFIG_CW1200=m -CONFIG_CW1200_WLAN_SDIO=m -CONFIG_CW1200_WLAN_SPI=m -# CONFIG_CX_ECAT is not set -CONFIG_CXLFLASH=m -CONFIG_CXL=m -CONFIG_CYCLADES=m -# CONFIG_CYZ_INTR is not set -CONFIG_DA280=m -CONFIG_DA311=m -CONFIG_DAVICOM_PHY=m -CONFIG_DCB=y -# CONFIG_DDR is not set -CONFIG_DE2104X_DSL=0 -CONFIG_DE2104X=m -CONFIG_DE4X5=m -CONFIG_DE_AOC=y -# CONFIG_DEBUG_ATOMIC_SLEEP is not set -# CONFIG_DEBUG_BLK_CGROUP is not set -# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set -CONFIG_DEBUG_BOOT_PARAMS=y -# CONFIG_DEBUG_CREDENTIALS is not set -CONFIG_DEBUG_DEVRES=y -# CONFIG_DEBUG_DRIVER is not set -# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set -CONFIG_DEBUG_FS=y -CONFIG_DEBUGGER=y -# CONFIG_DEBUG_GPIO is not set -CONFIG_DEBUG_HIGHMEM=y -# CONFIG_DEBUG_HOTPLUG_CPU0 is not set -# CONFIG_DEBUG_INFO_DWARF4 is not set -# CONFIG_DEBUG_INFO_REDUCED is not set -# CONFIG_DEBUG_INFO_SPLIT is not set -CONFIG_DEBUG_INFO_VTA=y -CONFIG_DEBUG_INFO=y -CONFIG_DEBUG_KERNEL=y -# CONFIG_DEBUG_KMEMLEAK is not set -# CONFIG_DEBUG_KMEMLEAK_TEST is not set -# CONFIG_DEBUG_KOBJECT is not set -# CONFIG_DEBUG_KOBJECT_RELEASE is not set -CONFIG_DEBUG_LIST=y -# CONFIG_DEBUG_LOCK_ALLOC is not set -# CONFIG_DEBUG_LOCKDEP is not set -# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set -# CONFIG_DEBUG_MUTEXES is not set -# CONFIG_DEBUG_NOTIFIERS is not set -CONFIG_DEBUG_NX_TEST=m -CONFIG_DEBUG_OBJECTS_ENABLE_DEFAULT=1 -# CONFIG_DEBUG_OBJECTS is not set -# CONFIG_DEBUG_OBJECTS_SELFTEST is not set -# CONFIG_DEBUG_PAGEALLOC is not set -# CONFIG_DEBUG_PAGE_REF is not set -# CONFIG_DEBUG_PER_CPU_MAPS is not set -# CONFIG_DEBUG_PERF_USE_VMALLOC is not set -# CONFIG_DEBUG_PI_LIST is not set -# CONFIG_DEBUG_PINCTRL is not set -# CONFIG_DEBUG_REFCOUNT is not set -CONFIG_DEBUG_RODATA_TEST=y -# CONFIG_DEBUG_RT_MUTEXES is not set -# CONFIG_DEBUG_SECTION_MISMATCH is not set -CONFIG_DEBUG_SET_MODULE_RONX=y -# CONFIG_DEBUG_SG is not set -CONFIG_DEBUG_SHIRQ=y -# CONFIG_DEBUG_SPINLOCK is not set -CONFIG_DEBUG_STACKOVERFLOW=y -# CONFIG_DEBUG_STACK_USAGE is not set -# CONFIG_DEBUG_TEST_DRIVER_REMOVE is not set -# CONFIG_DEBUG_TIMEKEEPING is not set -# CONFIG_DEBUG_VIRTUAL is not set -# CONFIG_DEBUG_VM_PGFLAGS is not set -# CONFIG_DEBUG_VM_RB is not set # revisit this if performance isn't horrible -# CONFIG_DEBUG_VM_VMACACHE is not set -CONFIG_DEBUG_VM=y -# CONFIG_DEBUG_WQ_FORCE_RR_CPU is not set -# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set -# CONFIG_DECNET is not set -CONFIG_DEFAULT_CFQ=y -CONFIG_DEFAULT_HOSTNAME="(none)" -CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120 -CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 -# CONFIG_DEFERRED_STRUCT_PAGE_INIT is not set -# CONFIG_DEFXX is not set -# CONFIG_DETECT_HUNG_TASK is not set -CONFIG_DEV_APPLETALK=m -CONFIG_DEV_DAX=m -CONFIG_DEV_DAX_PMEM=m -# CONFIG_DEVFREQ_GOV_PASSIVE is not set -# CONFIG_DEVFREQ_GOV_PERFORMANCE is not set -# CONFIG_DEVFREQ_GOV_POWERSAVE is not set -CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=m -# CONFIG_DEVFREQ_GOV_USERSPACE is not set -# CONFIG_DEVKMEM is not set -CONFIG_DEVMEM=y -CONFIG_DEVPORT=y -CONFIG_DEVTMPFS_MOUNT=y -CONFIG_DEVTMPFS=y -# CONFIG_DGAP is not set -# CONFIG_DGNC is not set -CONFIG_DHT11=m -CONFIG_DL2K=m -CONFIG_DLM_DEBUG=y -CONFIG_DLM=m -CONFIG_DM9102=m -# CONFIG_DMA_API_DEBUG is not set -# CONFIG_DMA_CMA is not set -# CONFIG_DMADEVICES_DEBUG is not set -CONFIG_DMADEVICES=y -CONFIG_DMA_ENGINE=y -# CONFIG_DMA_FENCE_TRACE is not set -# CONFIG_DMARD06 is not set -# CONFIG_DMARD09 is not set -CONFIG_DMARD10=m -# CONFIG_DMATEST is not set -CONFIG_DM_CACHE_CLEANER=m -CONFIG_DM_CACHE=m -CONFIG_DM_CACHE_SMQ=m -CONFIG_DM_CRYPT=m -CONFIG_DM_DEBUG_BLOCK_MANAGER_LOCKING=y -# CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set -CONFIG_DM_DEBUG=y -CONFIG_DM_DELAY=m -# CONFIG_DM_ERA is not set -CONFIG_DM_FLAKEY=m -CONFIG_DM_INTEGRITY=m -CONFIG_DM_LOG_USERSPACE=m -CONFIG_DM_LOG_WRITES=m -CONFIG_DM_MIRROR=y -# CONFIG_DM_MQ_DEFAULT is not set -CONFIG_DM_MULTIPATH=m -CONFIG_DM_MULTIPATH_QL=m -CONFIG_DM_MULTIPATH_ST=m -CONFIG_DM_RAID=m -CONFIG_DM_SNAPSHOT=y -CONFIG_DM_SWITCH=m -CONFIG_DM_THIN_PROVISIONING=m -CONFIG_DM_UEVENT=y -CONFIG_DM_VERITY_FEC=y -CONFIG_DM_VERITY=m -CONFIG_DM_ZERO=y -CONFIG_DM_ZONED=m -CONFIG_DNET=m -CONFIG_DNOTIFY=y -CONFIG_DNS_RESOLVER=m -CONFIG_DONGLE=y -CONFIG_DP83640_PHY=m -CONFIG_DP83848_PHY=m -CONFIG_DP83867_PHY=m -# CONFIG_DPM_WATCHDOG is not set # revisit this in debug -CONFIG_DPOT_DAC=m -CONFIG_DRAGONRISE_FF=y -# CONFIG_DRBD_FAULT_INJECTION is not set -CONFIG_DRM_AMD_ACP=y -CONFIG_DRM_AMDGPU_CIK=y -# CONFIG_DRM_AMDGPU_GART_DEBUGFS is not set -CONFIG_DRM_AMDGPU=m -# CONFIG_DRM_AMDGPU_SI is not set -CONFIG_DRM_AMDGPU_USERPTR=y -CONFIG_DRM_AMD_POWERPLAY=y -CONFIG_DRM_ANALOGIX_ANX78XX=m -# CONFIG_DRM_ARCPGU is not set -CONFIG_DRM_AST=m -CONFIG_DRM_BOCHS=m -CONFIG_DRM_CIRRUS_QEMU=m -# CONFIG_DRM_DEBUG_MM_SELFTEST is not set -CONFIG_DRM_DP_AUX_CHARDEV=y -# CONFIG_DRM_DUMB_VGA_DAC is not set -# CONFIG_DRM_DW_HDMI_AHB_AUDIO is not set -# CONFIG_DRM_DW_HDMI_I2S_AUDIO is not set -CONFIG_DRM_FBDEV_EMULATION=y -CONFIG_DRM_FBDEV_OVERALLOC=100 -CONFIG_DRM_HISI_HIBMC=m -CONFIG_DRM_I2C_ADV7511_AUDIO=y -CONFIG_DRM_I2C_ADV7511=m -CONFIG_DRM_I2C_ADV7533=y -CONFIG_DRM_I2C_CH7006=m -CONFIG_DRM_I2C_NXP_TDA998X=m -CONFIG_DRM_I2C_SIL164=m -# CONFIG_DRM_LEGACY is not set -CONFIG_DRM_LOAD_EDID_FIRMWARE=y -# CONFIG_DRM_LVDS_ENCODER is not set -CONFIG_DRM=m -# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set -CONFIG_DRM_MGAG200=m -# CONFIG_DRM_MGA is not set -# CONFIG_DRM_MXSFB is not set -CONFIG_DRM_NOUVEAU_BACKLIGHT=y -CONFIG_DRM_NOUVEAU=m -# CONFIG_DRM_NXP_PTN3460 is not set -# CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set -# CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set -# CONFIG_DRM_PANEL_LG_LG4573 is not set -# CONFIG_DRM_PANEL_LVDS is not set -# CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00 is not set -# CONFIG_DRM_PANEL_SAMSUNG_LD9040 is not set -# CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2 is not set -# CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0 is not set -# CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 is not set -# CONFIG_DRM_PANEL_SHARP_LS043T1LE01 is not set -# CONFIG_DRM_PANEL_SIMPLE is not set -# CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set -CONFIG_DRM_PANEL=y -# CONFIG_DRM_PARADE_PS8622 is not set -CONFIG_DRM_QXL=m -# CONFIG_DRM_R128 is not set -CONFIG_DRM_RADEON=m -CONFIG_DRM_RADEON_USERPTR=y -# CONFIG_DRM_RCAR_DW_HDMI is not set -# CONFIG_DRM_SAVAGE is not set -# CONFIG_DRM_SII902X is not set -CONFIG_DRM_SIL_SII8620=m -# CONFIG_DRM_SIS is not set -# CONFIG_DRM_TDFX is not set -# CONFIG_DRM_TINYDRM is not set -CONFIG_DRM_TI_TFP410=m -# CONFIG_DRM_TOSHIBA_TC358767 is not set -CONFIG_DRM_UDL=m -# CONFIG_DRM_VBOXVIDEO is not set -CONFIG_DRM_VGEM=m -CONFIG_DRM_VIA=m -CONFIG_DRM_VIRTIO_GPU=m -# CONFIG_DS1682 is not set -# CONFIG_DS1803 is not set -# CONFIG_DT3155 is not set -CONFIG_DTL=y -CONFIG_DUMMY_CONSOLE_COLUMNS=80 -CONFIG_DUMMY_CONSOLE_ROWS=25 -CONFIG_DUMMY_CONSOLE=y -# CONFIG_DUMMY_IRQ is not set -CONFIG_DUMMY=m -CONFIG_DVB_AS102=m -CONFIG_DVB_AV7110=m -CONFIG_DVB_AV7110_OSD=y -# CONFIG_DVB_B2C2_FLEXCOP_DEBUG is not set -CONFIG_DVB_B2C2_FLEXCOP=m -# CONFIG_DVB_B2C2_FLEXCOP_PCI_DEBUG is not set -CONFIG_DVB_B2C2_FLEXCOP_PCI=m -# CONFIG_DVB_B2C2_FLEXCOP_USB_DEBUG is not set -CONFIG_DVB_B2C2_FLEXCOP_USB=m -CONFIG_DVB_BT8XX=m -CONFIG_DVB_BUDGET_AV=m -CONFIG_DVB_BUDGET_CI=m -CONFIG_DVB_BUDGET_CORE=m -CONFIG_DVB_BUDGET=m -CONFIG_DVB_BUDGET_PATCH=m -CONFIG_DVB_CORE=m -# CONFIG_DVB_CXD2099 is not set -CONFIG_DVB_DDBRIDGE=m -# CONFIG_DVB_DEMUX_SECTION_LOSS_LOG is not set -CONFIG_DVB_DM1105=m -CONFIG_DVB_DYNAMIC_MINORS=y -CONFIG_DVB_FIREDTV=m -CONFIG_DVB_HOPPER=m -CONFIG_DVB_MANTIS=m -CONFIG_DVB_MAX_ADAPTERS=8 -CONFIG_DVB_MN88472=m -CONFIG_DVB_MN88473=m -CONFIG_DVB_NETUP_UNIDVB=m -CONFIG_DVB_NET=y -CONFIG_DVB_NGENE=m -# CONFIG_DVB_PLATFORM_DRIVERS is not set -CONFIG_DVB_PLUTO2=m -CONFIG_DVB_PT1=m -# CONFIG_DVB_PT3 is not set -# CONFIG_DVB_RTL2832_SDR is not set -CONFIG_DVB_SMIPCIE=m -CONFIG_DVB_TTUSB_BUDGET=m -CONFIG_DVB_TTUSB_DEC=m -CONFIG_DVB_USB_A800=m -CONFIG_DVB_USB_AF9005=m -CONFIG_DVB_USB_AF9005_REMOTE=m -CONFIG_DVB_USB_AF9015=m -CONFIG_DVB_USB_AF9035=m -CONFIG_DVB_USB_ANYSEE=m -CONFIG_DVB_USB_AU6610=m -CONFIG_DVB_USB_AZ6007=m -CONFIG_DVB_USB_AZ6027=m -CONFIG_DVB_USB_CE6230=m -CONFIG_DVB_USB_CINERGY_T2=m -CONFIG_DVB_USB_CXUSB=m -# CONFIG_DVB_USB_DEBUG is not set -CONFIG_DVB_USB_DIB0700=m -# CONFIG_DVB_USB_DIBUSB_MB_FAULTY is not set -CONFIG_DVB_USB_DIBUSB_MB=m -CONFIG_DVB_USB_DIBUSB_MC=m -CONFIG_DVB_USB_DIGITV=m -CONFIG_DVB_USB_DTT200U=m -CONFIG_DVB_USB_DTV5100=m -CONFIG_DVB_USB_DVBSKY=m -CONFIG_DVB_USB_DW2102=m -CONFIG_DVB_USB_EC168=m -CONFIG_DVB_USB_FRIIO=m -CONFIG_DVB_USB_GL861=m -CONFIG_DVB_USB_GP8PSK=m -CONFIG_DVB_USB_LME2510=m -CONFIG_DVB_USB=m -CONFIG_DVB_USB_M920X=m -CONFIG_DVB_USB_MXL111SF=m -CONFIG_DVB_USB_NOVA_T_USB2=m -CONFIG_DVB_USB_OPERA1=m -CONFIG_DVB_USB_PCTV452E=m -CONFIG_DVB_USB_RTL28XXU=m -CONFIG_DVB_USB_TECHNISAT_USB2=m -CONFIG_DVB_USB_TTUSB2=m -CONFIG_DVB_USB_UMT_010=m -CONFIG_DVB_USB_V2=m -CONFIG_DVB_USB_VP702X=m -CONFIG_DVB_USB_VP7045=m -CONFIG_DVB_USB_ZD1301=m -# CONFIG_DW_DMAC_BIG_ENDIAN_IO is not set -CONFIG_DW_DMAC_CORE=m -CONFIG_DW_DMAC=m -CONFIG_DW_DMAC_PCI=m -# CONFIG_DW_WATCHDOG is not set -CONFIG_DYNAMIC_DEBUG=y -CONFIG_DYNAMIC_FTRACE=y -CONFIG_E1000E=m -CONFIG_E1000=m -CONFIG_E100=m -CONFIG_EARLY_PRINTK_DBGP=y -# CONFIG_EARLY_PRINTK_USB_XDBC is not set -# CONFIG_EBC_C384_WDT is not set -CONFIG_ECHO=m -CONFIG_ECRYPT_FS=m -# CONFIG_ECRYPT_FS_MESSAGING is not set -# CONFIG_EDAC_CPC925 is not set -# CONFIG_EDAC_DEBUG is not set -CONFIG_EDAC_GHES=y -CONFIG_EDAC_LEGACY_SYSFS=y -# CONFIG_EDAC_MPC85XX is not set -CONFIG_EDAC=y -CONFIG_EEPROM_93CX6=m -# CONFIG_EEPROM_93XX46 is not set -CONFIG_EEPROM_AT24=m -# CONFIG_EEPROM_AT25 is not set -CONFIG_EEPROM_IDT_89HPESX=m -CONFIG_EEPROM_LEGACY=m -CONFIG_EEPROM_MAX6875=m -# CONFIG_EFI_ALLOW_SECURE_BOOT_EXIT is not set -CONFIG_EFI_PARTITION=y -# CONFIG_EFI_PGT_DUMP is not set -# CONFIG_EFI_SECURE_BOOT_LOCK_DOWN is not set -# CONFIG_EFI_SIGNATURE_LIST_PARSER is not set -# CONFIG_EFI_TEST is not set -# CONFIG_EFS_FS is not set -CONFIG_EHEA=m -# CONFIG_EMBEDDED is not set -CONFIG_ENABLE_MUST_CHECK=y -# CONFIG_ENABLE_WARN_DEPRECATED is not set -# CONFIG_ENC28J60 is not set -CONFIG_ENCLOSURE_SERVICES=m -CONFIG_ENCRYPTED_KEYS=y -CONFIG_ENIC=m -CONFIG_ENVELOPE_DETECTOR=m -CONFIG_EPIC100=m -CONFIG_EPOLL=y -CONFIG_EQUALIZER=m -CONFIG_ESI_DONGLE=m -CONFIG_ET131X=m -CONFIG_ETHERNET=y -CONFIG_ETHOC=m -# CONFIG_EUROTECH_WDT is not set -# CONFIG_EVM is not set -# CONFIG_EXOFS_DEBUG is not set -# CONFIG_EXOFS_FS is not set -CONFIG_EXPERIMENTAL=y -# CONFIG_EXPERT is not set -CONFIG_EXPORTFS=y -# CONFIG_EXT2_FS is not set -# CONFIG_EXT3_FS is not set -# CONFIG_EXT4_DEBUG is not set -CONFIG_EXT4_ENCRYPTION=y -CONFIG_EXT4_FS_POSIX_ACL=y -CONFIG_EXT4_FS_SECURITY=y -CONFIG_EXT4_FS=y -CONFIG_EXT4_USE_FOR_EXT2=y -# CONFIG_EXTCON_ADC_JACK is not set -# CONFIG_EXTCON_GPIO is not set -# CONFIG_EXTCON_MAX3355 is not set -# CONFIG_EXTCON_QCOM_SPMI_MISC is not set -# CONFIG_EXTCON_RT8973A is not set -# CONFIG_EXTCON_SM5502 is not set -# CONFIG_EXTCON_USB_GPIO is not set -CONFIG_EXTCON=y -CONFIG_EXTRA_FIRMWARE="" -CONFIG_EXTRA_TARGETS="" -# CONFIG_EZNPS_GIC is not set -# CONFIG_EZX_PCAP is not set -# CONFIG_F2FS_CHECK_FS is not set -# CONFIG_F2FS_FAULT_INJECTION is not set -# CONFIG_F2FS_FS_ENCRYPTION is not set -CONFIG_F2FS_FS=m -CONFIG_F2FS_FS_POSIX_ACL=y -CONFIG_F2FS_FS_SECURITY=y -CONFIG_F2FS_FS_XATTR=y -# CONFIG_F2FS_IO_TRACE is not set -CONFIG_F2FS_STAT_FS=y -CONFIG_FA_DUMP=y -# CONFIG_FAIL_FUTEX is not set -# CONFIG_FAIL_IOMMU is not set -CONFIG_FAIR_GROUP_SCHED=y -CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y -CONFIG_FANOTIFY=y -CONFIG_FAT_DEFAULT_CODEPAGE=437 -CONFIG_FAT_DEFAULT_IOCHARSET="ascii" -# CONFIG_FAT_DEFAULT_UTF8 is not set -CONFIG_FAT_FS=m -# CONFIG_FAULT_INJECTION is not set -# CONFIG_FB_3DFX is not set -# CONFIG_FB_ARK is not set -# CONFIG_FB_ASILIANT is not set -CONFIG_FB_ATY128_BACKLIGHT=y -# CONFIG_FB_ATY128 is not set -CONFIG_FB_ATY_BACKLIGHT=y -# CONFIG_FB_ATY_CT is not set -# CONFIG_FB_ATY_GX is not set -# CONFIG_FB_ATY is not set -# CONFIG_FB_AUO_K190X is not set -# CONFIG_FB_BROADSHEET is not set -# CONFIG_FB_CARMINE is not set -# CONFIG_FB_CIRRUS is not set -# CONFIG_FB_CONTROL is not set -# CONFIG_FB_CT65550 is not set -# CONFIG_FB_CYBER2000 is not set -CONFIG_FB_EFI=y -# CONFIG_FB_FOREIGN_ENDIAN is not set -# CONFIG_FB_HECUBA is not set -# CONFIG_FB_I740 is not set -CONFIG_FB_IBM_GXT4500=y -# CONFIG_FB_IMSTT is not set -# CONFIG_FB_KYRO is not set -CONFIG_FB_MATROX_G=y -# CONFIG_FB_MATROX_I2C is not set -# CONFIG_FB_MATROX_MILLENIUM is not set -# CONFIG_FB_MATROX_MYSTIQUE is not set -CONFIG_FB_MATROX=y -# CONFIG_FB_MB862XX_I2C is not set -# CONFIG_FB_MB862XX is not set -# CONFIG_FB_MB862XX_LIME is not set -# CONFIG_FB_MB862XX_PCI_GDC is not set -# CONFIG_FB_METRONOME is not set -# CONFIG_FB_MODE_HELPERS is not set -# CONFIG_FB_NEOMAGIC is not set -CONFIG_FB_NVIDIA_BACKLIGHT=y -# CONFIG_FB_NVIDIA_DEBUG is not set -# CONFIG_FB_NVIDIA_I2C is not set -# CONFIG_FB_NVIDIA is not set -CONFIG_FB_OF=y -# CONFIG_FB_OPENCORES is not set -# CONFIG_FB_PLATINUM is not set -# CONFIG_FB_PM2_FIFO_DISCONNECT is not set -# CONFIG_FB_PM2 is not set -# CONFIG_FB_PM3 is not set -# CONFIG_FB_PRE_INIT_FB is not set -CONFIG_FB_RADEON_BACKLIGHT=y -# CONFIG_FB_RADEON_DEBUG is not set -# CONFIG_FB_RADEON_I2C is not set -# CONFIG_FB_RADEON is not set -CONFIG_FB_RIVA_BACKLIGHT=y -# CONFIG_FB_RIVA_DEBUG is not set -# CONFIG_FB_RIVA_I2C is not set -# CONFIG_FB_RIVA is not set -# CONFIG_FB_S1D13XXX is not set -# CONFIG_FB_S3 is not set -# CONFIG_FB_SAVAGE is not set -# CONFIG_FB_SIMPLE is not set -# CONFIG_FB_SIS is not set -# CONFIG_FB_SM501 is not set -# CONFIG_FB_SM712 is not set -# CONFIG_FB_SM750 is not set -# CONFIG_FB_SMSCUFX is not set -CONFIG_FB_SSD1307=m -# CONFIG_FB_TFT is not set -CONFIG_FB_TILEBLITTING=y -# CONFIG_FB_TMIO is not set -# CONFIG_FB_TRIDENT is not set -# CONFIG_FB_UDL is not set -# CONFIG_FB_UVESA is not set -# CONFIG_FB_VALKYRIE is not set -CONFIG_FB_VESA=y -# CONFIG_FB_VGA16 is not set -CONFIG_FB_VIRTUAL=m -# CONFIG_FB_VOODOO1 is not set -# CONFIG_FB_VT8623 is not set -# CONFIG_FB_XGI is not set -CONFIG_FB=y -CONFIG_FCOE_FNIC=m -CONFIG_FCOE=m -# CONFIG_FDDI is not set -CONFIG_FEALNX=m -CONFIG_FHANDLE=y -# CONFIG_FHCI_DEBUG is not set -CONFIG_FIREWIRE=m -CONFIG_FIREWIRE_NET=m -CONFIG_FIREWIRE_NOSY=m -CONFIG_FIREWIRE_OHCI=m -CONFIG_FIREWIRE_SBP2=m -# CONFIG_FIREWIRE_SERIAL is not set -# CONFIG_FIRMWARE_EDID is not set -# CONFIG_FIRMWARE_IN_KERNEL is not set -CONFIG_FIXED_PHY=y -CONFIG_FM10K=m -CONFIG_FMC_CHARDEV=m -CONFIG_FMC_FAKEDEV=m -CONFIG_FMC=m -CONFIG_FMC_TRIVIAL=m -CONFIG_FMC_WRITE_EEPROM=m -# CONFIG_FONTS is not set -CONFIG_FORCEDETH=m -CONFIG_FORCE_MAX_ZONEORDER=9 -CONFIG_FORTIFY_SOURCE=y -# CONFIG_FPGA is not set -CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y -CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y -CONFIG_FRAMEBUFFER_CONSOLE=y -CONFIG_FRAME_POINTER=y -CONFIG_FRAME_WARN=2048 -CONFIG_FRONTSWAP=y -# CONFIG_FSCACHE_DEBUG is not set -# CONFIG_FSCACHE_HISTOGRAM is not set -CONFIG_FSCACHE=m -CONFIG_FSCACHE_OBJECT_LIST=y -CONFIG_FSCACHE_STATS=y -CONFIG_FS_DAX=y -CONFIG_FS_ENCRYPTION=y -# CONFIG_FS_ENET is not set -CONFIG_FSI=m -CONFIG_FSI_MASTER_GPIO=m -CONFIG_FSI_MASTER_HUB=m -CONFIG_FSI_SCOM=m -# CONFIG_FSL_DMA is not set -# CONFIG_FSL_EDMA is not set -# CONFIG_FSL_LBC is not set -# CONFIG_FSL_PQ_MDIO is not set -CONFIG_FS_MBCACHE=y -CONFIG_FSNOTIFY=y -# CONFIG_FTL is not set -CONFIG_FTRACE_MCOUNT_RECORD=y -# CONFIG_FTRACE_STARTUP_TEST is not set -CONFIG_FTRACE_SYSCALLS=y -CONFIG_FTRACE=y -# CONFIG_FTR_FIXUP_SELFTEST is not set -# CONFIG_FUNCTION_GRAPH_TRACER is not set -CONFIG_FUNCTION_PROFILER=y -CONFIG_FUNCTION_TRACER=y -CONFIG_FUSE_FS=m -CONFIG_FUSION_CTL=m -CONFIG_FUSION_FC=m -CONFIG_FUSION_LAN=m -CONFIG_FUSION_LOGGING=y -CONFIG_FUSION_MAX_SGE=40 -CONFIG_FUSION_SAS=m -CONFIG_FUSION_SPI=m -CONFIG_FUSION=y -CONFIG_FUTEX=y -# CONFIG_FW_CFG_SYSFS_CMDLINE is not set -CONFIG_FW_CFG_SYSFS=m -# CONFIG_FW_LOADER_USER_HELPER_FALLBACK is not set -# CONFIG_FW_LOADER_USER_HELPER is not set -CONFIG_FW_LOADER=y -CONFIG_GACT_PROB=y -CONFIG_GAMEPORT_EMU10K1=m -CONFIG_GAMEPORT_FM801=m -CONFIG_GAMEPORT_L4=m -CONFIG_GAMEPORT=m -CONFIG_GAMEPORT_NS558=m -# CONFIG_GCC_PLUGINS is not set -# CONFIG_GCOV_KERNEL is not set -# CONFIG_GDB_SCRIPTS is not set -# CONFIG_GEF_PPC9A is not set -# CONFIG_GEF_SBC310 is not set -# CONFIG_GEF_SBC610 is not set -# CONFIG_GENERIC_ADC_BATTERY is not set -# CONFIG_GENERIC_ADC_THERMAL is not set -# CONFIG_GENERIC_IRQ_DEBUGFS is not set -CONFIG_GENERIC_PHY=y -CONFIG_GENEVE=m -# CONFIG_GEN_RTC is not set -CONFIG_GENWQE=m -CONFIG_GENWQE_PLATFORM_ERROR_RECOVERY=1 -CONFIG_GFS2_FS_LOCKING_DLM=y -CONFIG_GFS2_FS=m -CONFIG_GIGASET_BASE=m -CONFIG_GIGASET_CAPI=y -# CONFIG_GIGASET_DEBUG is not set -CONFIG_GIGASET_M101=m -CONFIG_GIGASET_M105=m -CONFIG_GIRBIL_DONGLE=m -# CONFIG_GLOB_SELFTEST is not set -# CONFIG_GOLDFISH is not set -# CONFIG_GOOGLE_FIRMWARE is not set -# CONFIG_GP2AP020A00F is not set -# CONFIG_GPIO_104_DIO_48E is not set -# CONFIG_GPIO_104_IDIO_16 is not set -# CONFIG_GPIO_74X164 is not set -# CONFIG_GPIO_74XX_MMIO is not set -# CONFIG_GPIO_ADNP is not set -# CONFIG_GPIO_ADP5588 is not set -# CONFIG_GPIO_ALTERA is not set -# CONFIG_GPIO_AMDPT is not set -# CONFIG_GPIO_BT8XX is not set -# CONFIG_GPIO_DWAPB is not set -CONFIG_GPIO_EXAR=m -# CONFIG_GPIO_FTGPIO010 is not set -# CONFIG_GPIO_GENERIC_PLATFORM is not set -# CONFIG_GPIO_GRGPIO is not set -CONFIG_GPIO_IT87=m -CONFIG_GPIOLIB=y -# CONFIG_GPIO_MAX7300 is not set -# CONFIG_GPIO_MAX7301 is not set -# CONFIG_GPIO_MAX732X is not set -# CONFIG_GPIO_MC33880 is not set -# CONFIG_GPIO_MCP23S08 is not set -# CONFIG_GPIO_MOCKUP is not set -# CONFIG_GPIO_MPC8XXX is not set -CONFIG_GPIO_PCA953X=m -CONFIG_GPIO_PCF857X=m -# CONFIG_GPIO_PCH is not set -CONFIG_GPIO_PCI_IDIO_16=m -# CONFIG_GPIO_PISOSR is not set -# CONFIG_GPIO_RDC321X is not set -# CONFIG_GPIO_SCH311X is not set -# CONFIG_GPIO_SX150X is not set -# CONFIG_GPIO_SYSCON is not set -# CONFIG_GPIO_SYSFS is not set -# CONFIG_GPIO_TPIC2810 is not set -# CONFIG_GPIO_TS4900 is not set -# CONFIG_GPIO_TS5500 is not set -# CONFIG_GPIO_UCB1400 is not set -CONFIG_GPIO_VIPERBOARD=m -# CONFIG_GPIO_WATCHDOG is not set -CONFIG_GPIO_WM831X=m -# CONFIG_GPIO_WS16C48 is not set -# CONFIG_GPIO_XILINX is not set -# CONFIG_GPIO_XRA1403 is not set -CONFIG_GREENASIA_FF=y -# CONFIG_GREYBUS is not set -# CONFIG_GS_FPGABOOT is not set -CONFIG_GTP=m -CONFIG_HAMACHI=m -CONFIG_HAMRADIO=y -CONFIG_HANGCHECK_TIMER=m -CONFIG_HAPPYMEAL=m -CONFIG_HARDENED_USERCOPY=y -CONFIG_HARDLOCKUP_DETECTOR=y -CONFIG_HAVE_BOOTMEM_INFO_NODE=y -# CONFIG_HCALL_STATS is not set -CONFIG_HD44780=m -# CONFIG_HDC100X is not set -CONFIG_HEADERS_CHECK=y -CONFIG_HERMES_CACHE_FW_ON_INIT=y -CONFIG_HERMES=m -CONFIG_HERMES_PRISM=y -CONFIG_HFS_FS=m -CONFIG_HFSPLUS_FS=m -# CONFIG_HFSPLUS_FS_POSIX_ACL is not set -# CONFIG_HI8435 is not set -# CONFIG_HIBERNATION is not set -CONFIG_HID_A4TECH=m -CONFIG_HID_ACCUTOUCH=m -CONFIG_HID_ACRUX_FF=y -CONFIG_HID_ACRUX=m -CONFIG_HID_ALPS=m -CONFIG_HID_APPLEIR=m -CONFIG_HID_APPLE=m -CONFIG_HID_ASUS=m -CONFIG_HID_AUREAL=m -CONFIG_HID_BATTERY_STRENGTH=y -CONFIG_HID_BELKIN=m -CONFIG_HID_BETOP_FF=m -CONFIG_HID_CHERRY=m -CONFIG_HID_CHICONY=m -CONFIG_HID_CMEDIA=m -CONFIG_HID_CORSAIR=m -# CONFIG_HID_CP2112 is not set -CONFIG_HID_CYPRESS=m -CONFIG_HID_DRAGONRISE=m -CONFIG_HID_ELECOM=m -CONFIG_HID_ELO=m -CONFIG_HID_EMS_FF=m -CONFIG_HID_EZKEY=m -CONFIG_HID_GEMBIRD=m -CONFIG_HID_GENERIC=y -CONFIG_HID_GFRM=m -CONFIG_HID_GREENASIA=m -CONFIG_HID_GT683R=m -CONFIG_HID_GYRATION=m -CONFIG_HID_HOLTEK=m -CONFIG_HID_ICADE=m -CONFIG_HID_ITE=m -CONFIG_HID_KENSINGTON=m -CONFIG_HID_KEYTOUCH=m -CONFIG_HID_KYE=m -CONFIG_HID_LCPOWER=m -CONFIG_HID_LED=m -CONFIG_HID_LENOVO=m -CONFIG_HID_LOGITECH_DJ=m -CONFIG_HID_LOGITECH_HIDPP=m -CONFIG_HID_LOGITECH=m -CONFIG_HID_MAGICMOUSE=y -CONFIG_HID_MAYFLASH=m -CONFIG_HID_MICROSOFT=m -CONFIG_HID_MONTEREY=m -CONFIG_HID_MULTITOUCH=m -CONFIG_HID_NTI=m -CONFIG_HID_NTRIG=y -CONFIG_HID_ORTEK=m -CONFIG_HID_PANTHERLORD=m -CONFIG_HID_PENMOUNT=m -CONFIG_HID_PETALYNX=m -CONFIG_HID_PICOLCD=m -CONFIG_HID_PID=y -CONFIG_HID_PLANTRONICS=m -CONFIG_HID_PRIMAX=m -CONFIG_HID_PRODIKEYS=m -CONFIG_HIDRAW=y -CONFIG_HID_RETRODE=m -CONFIG_HID_RMI=m -CONFIG_HID_ROCCAT=m -CONFIG_HID_SAITEK=m -CONFIG_HID_SAMSUNG=m -CONFIG_HID_SENSOR_ACCEL_3D=m -CONFIG_HID_SENSOR_ALS=m -# CONFIG_HID_SENSOR_CUSTOM_SENSOR is not set -CONFIG_HID_SENSOR_DEVICE_ROTATION=m -CONFIG_HID_SENSOR_GYRO_3D=m -CONFIG_HID_SENSOR_HUB=m -CONFIG_HID_SENSOR_HUMIDITY=m -CONFIG_HID_SENSOR_IIO_COMMON=m -CONFIG_HID_SENSOR_IIO_TRIGGER=m -CONFIG_HID_SENSOR_INCLINOMETER_3D=m -CONFIG_HID_SENSOR_MAGNETOMETER_3D=m -# CONFIG_HID_SENSOR_PRESS is not set -# CONFIG_HID_SENSOR_PROX is not set -CONFIG_HID_SENSOR_TEMP=m -CONFIG_HID_SMARTJOYPLUS=m -CONFIG_HID_SONY=m -CONFIG_HID_SPEEDLINK=m -CONFIG_HID_STEELSERIES=m -CONFIG_HID_SUNPLUS=m -CONFIG_HID_THINGM=m -CONFIG_HID_THRUSTMASTER=m -CONFIG_HID_TIVO=m -CONFIG_HID_TOPSEED=m -CONFIG_HID_TWINHAN=m -CONFIG_HID_UCLOGIC=m -CONFIG_HID_UDRAW_PS3=m -CONFIG_HID_WACOM=m -CONFIG_HID_WALTOP=m -CONFIG_HID_WIIMOTE=m -CONFIG_HID_XINMO=m -CONFIG_HID=y -CONFIG_HID_ZEROPLUS=m -CONFIG_HID_ZYDACRON=m -CONFIG_HIGH_RES_TIMERS=y -# CONFIG_HIPPI is not set -CONFIG_HISAX_16_3=y -CONFIG_HISAX_1TR6=y -CONFIG_HISAX_AVM_A1_CS=m -CONFIG_HISAX_AVM_A1_PCMCIA=y -CONFIG_HISAX_BKM_A4T=y -# CONFIG_HISAX_DEBUG is not set -CONFIG_HISAX_DIEHLDIVA=y -CONFIG_HISAX_ELSA_CS=m -CONFIG_HISAX_ELSA=y -CONFIG_HISAX_ENTERNOW_PCI=y -CONFIG_HISAX_EURO=y -CONFIG_HISAX_FRITZ_PCIPNP=m -CONFIG_HISAX_FRITZPCI=y -CONFIG_HISAX_GAZEL=y -CONFIG_HISAX_HFC4S8S=m -CONFIG_HISAX_HFC_PCI=y -CONFIG_HISAX_HFC_SX=y -# CONFIG_HISAX_HFCUSB is not set -CONFIG_HISAX_MAX_CARDS=8 -CONFIG_HISAX_NETJET_U=y -CONFIG_HISAX_NETJET=y -CONFIG_HISAX_NI1=y -CONFIG_HISAX_NICCY=y -CONFIG_HISAX_NO_KEYPAD=y -CONFIG_HISAX_NO_LLC=y -CONFIG_HISAX_NO_SENDCOMPLETE=y -CONFIG_HISAX_S0BOX=y -CONFIG_HISAX_SCT_QUADRO=y -CONFIG_HISAX_SEDLBAUER_CS=m -CONFIG_HISAX_SEDLBAUER=y -CONFIG_HISAX_ST5481=m -CONFIG_HISAX_TELES_CS=m -CONFIG_HISAX_TELESPCI=y -CONFIG_HISAX_W6692=y -CONFIG_HIST_TRIGGERS=y -# CONFIG_HMC6352 is not set -# CONFIG_HMC_DRV is not set -CONFIG_HOLTEK_FF=y -# CONFIG_HOSTAP is not set -CONFIG_HOTPLUG_CPU=y -CONFIG_HOTPLUG_PCI_ACPI_IBM=m -CONFIG_HOTPLUG_PCI_ACPI=y -# CONFIG_HOTPLUG_PCI_CPCI is not set -CONFIG_HOTPLUG_PCI_PCIE=y -# CONFIG_HOTPLUG_PCI_POWERNV is not set -CONFIG_HOTPLUG_PCI_RPA_DLPAR=m -CONFIG_HOTPLUG_PCI_RPA=m -CONFIG_HOTPLUG_PCI_SHPC=m -CONFIG_HOTPLUG_PCI=y -CONFIG_HOTPLUG=y -# CONFIG_HP03 is not set -# CONFIG_HP206C is not set -# CONFIG_HPFS_FS is not set -# CONFIG_HP_ILO is not set -# CONFIG_HSI is not set -# CONFIG_HSR is not set -# CONFIG_HSU_DMA is not set -# CONFIG_HSU_DMA_PCI is not set -CONFIG_HT16K33=m -# CONFIG_HTC_EGPIO is not set -# CONFIG_HTC_I2CPLD is not set -# CONFIG_HTC_PASIC3 is not set -CONFIG_HT_IRQ=y -CONFIG_HTS221=m -# CONFIG_HTU21 is not set -CONFIG_HUGETLBFS=y -CONFIG_HUGETLB_PAGE=y -CONFIG_HVC_CONSOLE=y -# CONFIG_HVC_OLD_HVSI is not set -CONFIG_HVC_OPAL=y -CONFIG_HVC_RTAS=y -CONFIG_HVCS=m -# CONFIG_HVC_UDBG is not set -CONFIG_HV_PERF_CTRS=y -CONFIG_HW_CONSOLE=y -CONFIG_HWLAT_TRACER=y -# CONFIG_HWMON_DEBUG_CHIP is not set -CONFIG_HWMON=y -CONFIG_HWPOISON_INJECT=m -CONFIG_HW_RANDOM_POWERNV=m -CONFIG_HW_RANDOM_PSERIES=m -CONFIG_HW_RANDOM_TIMERIOMEM=m -CONFIG_HW_RANDOM_TPM=m -CONFIG_HW_RANDOM_VIRTIO=m -CONFIG_HW_RANDOM=y -CONFIG_HWSPINLOCK=m -# CONFIG_HX711 is not set -CONFIG_HYSDN_CAPI=y -CONFIG_HYSDN=m -CONFIG_HZ=100 -# CONFIG_HZ_1000 is not set -CONFIG_HZ_100=y -CONFIG_I2C_ALGOBIT=m -CONFIG_I2C_ALGOPCA=m -CONFIG_I2C_ALGOPCF=m -# CONFIG_I2C_ALI1535 is not set -# CONFIG_I2C_ALI1563 is not set -# CONFIG_I2C_ALI15X3 is not set -# CONFIG_I2C_AMD756 is not set -# CONFIG_I2C_AMD756_S4882 is not set -# CONFIG_I2C_AMD8111 is not set -# CONFIG_I2C_ARB_GPIO_CHALLENGE is not set -# CONFIG_I2C_BCM2048 is not set -# CONFIG_I2C_CADENCE is not set -# CONFIG_I2C_CBUS_GPIO is not set -CONFIG_I2C_CHARDEV=m -CONFIG_I2C_COMPAT=y -# CONFIG_I2C_CPM is not set -# CONFIG_I2C_DEBUG_ALGO is not set -# CONFIG_I2C_DEBUG_BUS is not set -# CONFIG_I2C_DEBUG_CORE is not set -# CONFIG_I2C_DEMUX_PINCTRL is not set -# CONFIG_I2C_DESIGNWARE is not set -CONFIG_I2C_DESIGNWARE_PCI=m -# CONFIG_I2C_DESIGNWARE_PLATFORM is not set -CONFIG_I2C_DESIGNWARE_SLAVE=y -CONFIG_I2C_DIOLAN_U2C=m -# CONFIG_I2C_EG20T is not set -# CONFIG_I2C_EMEV2 is not set -# CONFIG_I2C_GPIO is not set -CONFIG_I2C_HELPER_AUTO=y -CONFIG_I2C_HID=m -# CONFIG_I2C_I801 is not set -# CONFIG_I2C_ISCH is not set -CONFIG_I2C=m -CONFIG_I2C_MLXCPLD=m -CONFIG_I2C_MPC=m -# CONFIG_I2C_MUX_GPIO is not set -CONFIG_I2C_MUX_GPMUX=m -CONFIG_I2C_MUX_LTC4306=m -CONFIG_I2C_MUX=m -CONFIG_I2C_MUX_MLXCPLD=m -# CONFIG_I2C_MUX_PCA9541 is not set -# CONFIG_I2C_MUX_PCA954x is not set -# CONFIG_I2C_MUX_PINCTRL is not set -# CONFIG_I2C_MUX_REG is not set -CONFIG_I2C_NFORCE2=m -# CONFIG_I2C_NFORCE2_S4985 is not set -# CONFIG_I2C_OCORES is not set -CONFIG_I2C_OPAL=m -CONFIG_I2C_PARPORT_LIGHT=m -CONFIG_I2C_PARPORT=m -CONFIG_I2C_PCA_PLATFORM=m -# CONFIG_I2C_PIIX4 is not set -# CONFIG_I2C_RK3X is not set -# CONFIG_I2C_ROBOTFUZZ_OSIF is not set -CONFIG_I2C_SI470X=m -# CONFIG_I2C_SI4713 is not set -CONFIG_I2C_SIMTEC=m -# CONFIG_I2C_SIS5595 is not set -# CONFIG_I2C_SIS630 is not set -# CONFIG_I2C_SIS96X is not set -CONFIG_I2C_SLAVE_EEPROM=m -CONFIG_I2C_SLAVE=y -CONFIG_I2C_STUB=m -# CONFIG_I2C_TAOS_EVM is not set -CONFIG_I2C_TINY_USB=m -# CONFIG_I2C_VIA is not set -# CONFIG_I2C_VIAPRO is not set -CONFIG_I2C_VIPERBOARD=m -# CONFIG_I2C_XILINX is not set -# CONFIG_I2O is not set -# CONFIG_I40E_DCB is not set -# CONFIG_I40E_FCOE is not set -CONFIG_I40E=m -CONFIG_I40EVF=m -CONFIG_I6300ESB_WDT=m -CONFIG_I82092=m -# CONFIG_IAQCORE is not set -CONFIG_IBM_BSR=m -CONFIG_IBMEBUS=y -# CONFIG_IBM_EMAC is not set -CONFIG_IBMVETH=m -CONFIG_IBMVNIC=m -CONFIG_ICPLUS_PHY=m -# CONFIG_ICS932S401 is not set -# CONFIG_IDE is not set -# CONFIG_IDEPCI_PCIBUS_ORDER is not set -# CONFIG_IDLE_PAGE_TRACKING is not set -# CONFIG_IDMA64 is not set -CONFIG_IEEE802154_6LOWPAN=m -CONFIG_IEEE802154_ADF7242=m -# CONFIG_IEEE802154_AT86RF230_DEBUGFS is not set -CONFIG_IEEE802154_AT86RF230=m -CONFIG_IEEE802154_ATUSB=m -# CONFIG_IEEE802154_CA8210_DEBUGFS is not set -CONFIG_IEEE802154_CA8210=m -CONFIG_IEEE802154_CC2520=m -CONFIG_IEEE802154_DRIVERS=m -CONFIG_IEEE802154_FAKELB=m -CONFIG_IEEE802154=m -CONFIG_IEEE802154_MRF24J40=m -# CONFIG_IEEE802154_NL802154_EXPERIMENTAL is not set -CONFIG_IEEE802154_SOCKET=m -CONFIG_IFB=m -CONFIG_IGB_DCA=y -CONFIG_IGB_HWMON=y -CONFIG_IGB=m -CONFIG_IGBVF=m -CONFIG_IIO_BUFFER_CB=m -CONFIG_IIO_BUFFER=y -CONFIG_IIO_CONFIGFS=m -CONFIG_IIO_CONSUMERS_PER_TRIGGER=2 -# CONFIG_IIO_HRTIMER_TRIGGER is not set -CONFIG_IIO_INTERRUPT_TRIGGER=m -CONFIG_IIO_KFIFO_BUF=m -CONFIG_IIO=m -CONFIG_IIO_MUX=m -# CONFIG_IIO_SIMPLE_DUMMY is not set -# CONFIG_IIO_SSP_SENSORHUB is not set -CONFIG_IIO_ST_ACCEL_3AXIS=m -CONFIG_IIO_ST_ACCEL_I2C_3AXIS=m -CONFIG_IIO_ST_ACCEL_SPI_3AXIS=m -CONFIG_IIO_ST_GYRO_3AXIS=m -CONFIG_IIO_ST_GYRO_I2C_3AXIS=m -CONFIG_IIO_ST_GYRO_SPI_3AXIS=m -# CONFIG_IIO_ST_LSM6DSX is not set -CONFIG_IIO_ST_MAGN_3AXIS=m -# CONFIG_IIO_ST_PRESS is not set -CONFIG_IIO_SW_DEVICE=m -CONFIG_IIO_SW_TRIGGER=m -# CONFIG_IIO_SYSFS_TRIGGER is not set -CONFIG_IIO_TIGHTLOOP_TRIGGER=m -CONFIG_IIO_TRIGGERED_BUFFER=m -CONFIG_IIO_TRIGGER=y -# CONFIG_IKCONFIG is not set -# CONFIG_IMA is not set -CONFIG_IMA_LSM_RULES=y -CONFIG_IMA_MEASURE_PCR_IDX=10 -# CONFIG_IMG_ASCII_LCD is not set -# CONFIG_INA2XX_ADC is not set -CONFIG_INET6_AH=m -CONFIG_INET6_ESP=m -CONFIG_INET6_ESP_OFFLOAD=m -CONFIG_INET6_IPCOMP=m -CONFIG_INET6_XFRM_MODE_BEET=m -CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m -CONFIG_INET6_XFRM_MODE_TRANSPORT=m -CONFIG_INET6_XFRM_MODE_TUNNEL=m -CONFIG_INET_AH=m -CONFIG_INET_DIAG_DESTROY=y -CONFIG_INET_DIAG=m -CONFIG_INET_ESP=m -CONFIG_INET_ESP_OFFLOAD=m -CONFIG_INET_IPCOMP=m -CONFIG_INET_RAW_DIAG=m -CONFIG_INET_TUNNEL=m -CONFIG_INET_UDP_DIAG=m -CONFIG_INET_XFRM_MODE_BEET=m -CONFIG_INET_XFRM_MODE_TRANSPORT=m -CONFIG_INET_XFRM_MODE_TUNNEL=m -CONFIG_INET=y -# CONFIG_INFINIBAND_BNXT_RE is not set -# CONFIG_INFINIBAND_CXGB3_DEBUG is not set -CONFIG_INFINIBAND_CXGB3=m -CONFIG_INFINIBAND_CXGB4=m -CONFIG_INFINIBAND_I40IW=m -CONFIG_INFINIBAND_IPOIB_CM=y -CONFIG_INFINIBAND_IPOIB_DEBUG_DATA=y -CONFIG_INFINIBAND_IPOIB_DEBUG=y -CONFIG_INFINIBAND_IPOIB=m -CONFIG_INFINIBAND_ISER=m -CONFIG_INFINIBAND_ISERT=m -CONFIG_INFINIBAND=m -CONFIG_INFINIBAND_MTHCA=m -# CONFIG_INFINIBAND_NES_DEBUG is not set -CONFIG_INFINIBAND_NES=m -CONFIG_INFINIBAND_OCRDMA=m -CONFIG_INFINIBAND_ON_DEMAND_PAGING=y -# CONFIG_INFINIBAND_QEDR is not set -CONFIG_INFINIBAND_QIB_DCA=y -CONFIG_INFINIBAND_QIB=m -CONFIG_INFINIBAND_RDMAVT=m -CONFIG_INFINIBAND_SRP=m -CONFIG_INFINIBAND_SRPT=m -CONFIG_INFINIBAND_USER_ACCESS=m -CONFIG_INFINIBAND_USER_MAD=m -CONFIG_INFINIBAND_USNIC=m -# CONFIG_INFINIBAND_VMWARE_PVRDMA is not set -# CONFIG_INFTL is not set -CONFIG_INITRAMFS_SOURCE="" -CONFIG_INOTIFY_USER=y -CONFIG_INOTIFY=y -# CONFIG_INPUT_AD714X is not set -# CONFIG_INPUT_ADXL34X is not set -CONFIG_INPUT_APANEL=m -CONFIG_INPUT_ATI_REMOTE2=m -CONFIG_INPUT_ATLAS_BTNS=m -# CONFIG_INPUT_ATMEL_CAPTOUCH is not set -# CONFIG_INPUT_BMA150 is not set -CONFIG_INPUT_CM109=m -CONFIG_INPUT_CMA3000_I2C=m -CONFIG_INPUT_CMA3000=m -# CONFIG_INPUT_DRV260X_HAPTICS is not set -# CONFIG_INPUT_DRV2665_HAPTICS is not set -# CONFIG_INPUT_DRV2667_HAPTICS is not set -CONFIG_INPUT_E3X0_BUTTON=m -# CONFIG_INPUT_EVBUG is not set -CONFIG_INPUT_EVDEV=y -CONFIG_INPUT_FF_MEMLESS=m -# CONFIG_INPUT_GP2A is not set -# CONFIG_INPUT_GPIO_BEEPER is not set -# CONFIG_INPUT_GPIO_DECODER is not set -# CONFIG_INPUT_GPIO is not set -CONFIG_INPUT_GPIO_ROTARY_ENCODER=m -# CONFIG_INPUT_GPIO_TILT_POLLED is not set -CONFIG_INPUT_IDEAPAD_SLIDEBAR=m -# CONFIG_INPUT_IMS_PCU is not set -CONFIG_INPUT_JOYDEV=m -CONFIG_INPUT_JOYSTICK=y -CONFIG_INPUT_KEYBOARD=y -CONFIG_INPUT_KEYSPAN_REMOTE=m -CONFIG_INPUT_KXTJ9=m -# CONFIG_INPUT_KXTJ9_POLLED_MODE is not set -CONFIG_INPUT_LEDS=y -CONFIG_INPUT_MATRIXKMAP=m -CONFIG_INPUT_MISC=y -# CONFIG_INPUT_MMA8450 is not set -# CONFIG_INPUT_MOUSEDEV_PSAUX is not set -CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 -CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 -CONFIG_INPUT_MOUSEDEV=y -CONFIG_INPUT_MOUSE=y -CONFIG_INPUT_PCF50633_PMU=m -# CONFIG_INPUT_PCF8574 is not set -# CONFIG_INPUT_PCSPKR is not set -CONFIG_INPUT_PM8XXX_VIBRATOR=m -CONFIG_INPUT_PMIC8XXX_PWRKEY=m -CONFIG_INPUT_POLLDEV=m -CONFIG_INPUT_POWERMATE=m -CONFIG_INPUT_PWM_BEEPER=m -CONFIG_INPUT_RETU_PWRBUTTON=m -CONFIG_INPUT_SPARSEKMAP=m -CONFIG_INPUT_TABLET=y -CONFIG_INPUT_TOUCHSCREEN=y -CONFIG_INPUT_UINPUT=m -CONFIG_INPUT_WISTRON_BTNS=m -CONFIG_INPUT_WM831X_ON=m -CONFIG_INPUT=y -CONFIG_INPUT_YEALINK=m -# CONFIG_INTEGRITY is not set -# CONFIG_INTEL_IDMA64 is not set -# CONFIG_INTEL_SOC_PMIC is not set -# CONFIG_INTEL_TH is not set -CONFIG_INTEL_XWAY_PHY=m -# CONFIG_INTERVAL_TREE_TEST is not set -# CONFIG_INV_MPU6050_I2C is not set -# CONFIG_INV_MPU6050_IIO is not set -# CONFIG_INV_MPU6050_SPI is not set -CONFIG_IO_EVENT_IRQ=y -CONFIG_IOMMU_SUPPORT=y -CONFIG_IOSCHED_BFQ=m -CONFIG_IOSCHED_CFQ=y -CONFIG_IOSCHED_DEADLINE=y -CONFIG_IOSCHED_NOOP=y -CONFIG_IO_STRICT_DEVMEM=y -CONFIG_IP6_NF_FILTER=m -CONFIG_IP6_NF_IPTABLES=m -CONFIG_IP6_NF_MANGLE=m -CONFIG_IP6_NF_MATCH_AH=m -CONFIG_IP6_NF_MATCH_EUI64=m -CONFIG_IP6_NF_MATCH_FRAG=m -CONFIG_IP6_NF_MATCH_HL=m -CONFIG_IP6_NF_MATCH_IPV6HEADER=m -CONFIG_IP6_NF_MATCH_MH=m -CONFIG_IP6_NF_MATCH_OPTS=m -CONFIG_IP6_NF_MATCH_RPFILTER=m -CONFIG_IP6_NF_MATCH_RT=m -CONFIG_IP6_NF_NAT=m -CONFIG_IP6_NF_RAW=m -CONFIG_IP6_NF_SECURITY=m -CONFIG_IP6_NF_TARGET_HL=m -CONFIG_IP6_NF_TARGET_MASQUERADE=m -# CONFIG_IP6_NF_TARGET_NPT is not set -CONFIG_IP6_NF_TARGET_REJECT=m -CONFIG_IP6_NF_TARGET_SYNPROXY=m -# CONFIG_IPACK_BUS is not set -CONFIG_IP_ADVANCED_ROUTER=y -CONFIG_IPC_NS=y -# CONFIG_IP_DCCP_CCID2_DEBUG is not set -CONFIG_IP_DCCP_CCID2=m -# CONFIG_IP_DCCP_CCID3_DEBUG is not set -CONFIG_IP_DCCP_CCID3=y -# CONFIG_IP_DCCP_DEBUG is not set -CONFIG_IP_DCCP=m -CONFIG_IPDDP_ENCAP=y -CONFIG_IPDDP=m -CONFIG_IP_FIB_TRIE_STATS=y -CONFIG_IPMI_DEVICE_INTERFACE=m -CONFIG_IPMI_HANDLER=m -# CONFIG_IPMI_PANIC_EVENT is not set -CONFIG_IPMI_POWERNV=m -CONFIG_IPMI_POWEROFF=m -CONFIG_IPMI_SI=m -CONFIG_IPMI_SSIF=m -CONFIG_IPMI_WATCHDOG=m -CONFIG_IP_MROUTE_MULTIPLE_TABLES=y -CONFIG_IP_MROUTE=y -CONFIG_IP_MULTICAST=y -CONFIG_IP_MULTIPLE_TABLES=y -CONFIG_IP_NF_ARPFILTER=m -CONFIG_IP_NF_ARP_MANGLE=m -CONFIG_IP_NF_ARPTABLES=m -CONFIG_IP_NF_FILTER=y -CONFIG_IP_NF_IPTABLES=y -CONFIG_IP_NF_MANGLE=m -CONFIG_IP_NF_MATCH_AH=m -CONFIG_IP_NF_MATCH_ECN=m -CONFIG_IP_NF_MATCH_RPFILTER=m -CONFIG_IP_NF_MATCH_TTL=m -CONFIG_IP_NF_NAT=m -CONFIG_IP_NF_RAW=m -CONFIG_IP_NF_SECURITY=m -CONFIG_IP_NF_TARGET_CLUSTERIP=m -CONFIG_IP_NF_TARGET_ECN=m -CONFIG_IP_NF_TARGET_MASQUERADE=m -CONFIG_IP_NF_TARGET_NETMAP=m -CONFIG_IP_NF_TARGET_REDIRECT=m -CONFIG_IP_NF_TARGET_REJECT=y -CONFIG_IP_NF_TARGET_SYNPROXY=m -CONFIG_IP_NF_TARGET_TTL=m -CONFIG_IP_PIMSM_V1=y -CONFIG_IP_PIMSM_V2=y -# CONFIG_IP_PNP is not set -CONFIG_IPPP_FILTER=y -CONFIG_IP_ROUTE_MULTIPATH=y -CONFIG_IP_ROUTE_VERBOSE=y -CONFIG_IP_SCTP=m -CONFIG_IP_SET_BITMAP_IP=m -CONFIG_IP_SET_BITMAP_IPMAC=m -CONFIG_IP_SET_BITMAP_PORT=m -CONFIG_IP_SET_HASH_IP=m -CONFIG_IP_SET_HASH_IPMAC=m -CONFIG_IP_SET_HASH_IPMARK=m -CONFIG_IP_SET_HASH_IPPORTIP=m -CONFIG_IP_SET_HASH_IPPORT=m -CONFIG_IP_SET_HASH_IPPORTNET=m -CONFIG_IP_SET_HASH_MAC=m -CONFIG_IP_SET_HASH_NETIFACE=m -CONFIG_IP_SET_HASH_NET=m -CONFIG_IP_SET_HASH_NETNET=m -CONFIG_IP_SET_HASH_NETPORT=m -CONFIG_IP_SET_HASH_NETPORTNET=m -CONFIG_IP_SET_LIST_SET=m -CONFIG_IP_SET=m -CONFIG_IP_SET_MAX=256 -CONFIG_IPV6_GRE=m -CONFIG_IPV6_ILA=m -CONFIG_IPV6_MIP6=y -CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y -CONFIG_IPV6_MROUTE=y -CONFIG_IPV6_MULTIPLE_TABLES=y -CONFIG_IPV6_OPTIMISTIC_DAD=y -CONFIG_IPV6_PIMSM_V2=y -CONFIG_IPV6_ROUTE_INFO=y -CONFIG_IPV6_ROUTER_PREF=y -CONFIG_IPV6_SEG6_HMAC=y -CONFIG_IPV6_SEG6_INLINE=y -CONFIG_IPV6_SEG6_LWTUNNEL=y -CONFIG_IPV6_SIT_6RD=y -CONFIG_IPV6_SIT=m -CONFIG_IPV6_SUBTREES=y -CONFIG_IPV6_TUNNEL=m -CONFIG_IPV6_VTI=m -CONFIG_IPV6=y -CONFIG_IPVLAN=m -# CONFIG_IP_VS_DEBUG is not set -CONFIG_IP_VS_DH=m -CONFIG_IP_VS_FO=m -CONFIG_IP_VS_FTP=m -CONFIG_IP_VS_IPV6=y -CONFIG_IP_VS_LBLC=m -CONFIG_IP_VS_LBLCR=m -CONFIG_IP_VS_LC=m -CONFIG_IP_VS=m -CONFIG_IP_VS_NQ=m -CONFIG_IP_VS_OVF=m -CONFIG_IP_VS_PE_SIP=m -CONFIG_IP_VS_PROTO_AH=y -CONFIG_IP_VS_PROTO_ESP=y -CONFIG_IP_VS_PROTO_SCTP=y -CONFIG_IP_VS_PROTO_TCP=y -CONFIG_IP_VS_PROTO_UDP=y -CONFIG_IP_VS_RR=m -CONFIG_IP_VS_SED=m -CONFIG_IP_VS_SH=m -CONFIG_IP_VS_SH_TAB_BITS=8 -CONFIG_IP_VS_TAB_BITS=12 -CONFIG_IP_VS_WLC=m -CONFIG_IP_VS_WRR=m -CONFIG_IPVTAP=m -# CONFIG_IPW2100_DEBUG is not set -# CONFIG_IPW2100 is not set -# CONFIG_IPW2200_DEBUG is not set -# CONFIG_IPW2200 is not set -CONFIG_IPWIRELESS=m -# CONFIG_IPX_INTERN is not set -CONFIG_IPX=m -CONFIG_IRCOMM=m -CONFIG_IRDA_CACHE_LAST_LSAP=y -# CONFIG_IRDA_DEBUG is not set -CONFIG_IRDA_FAST_RR=y -CONFIG_IRDA=m -# CONFIG_IRDA_ULTRA is not set -CONFIG_IR_ENE=m -CONFIG_IR_FINTEK=m -CONFIG_IR_GPIO_CIR=m -CONFIG_IR_HIX5HD2=m -CONFIG_IR_IGORPLUGUSB=m -CONFIG_IR_IGUANA=m -# CONFIG_IR_IMG is not set -CONFIG_IR_IMON=m -CONFIG_IR_ITE_CIR=m -CONFIG_IR_JVC_DECODER=m -CONFIG_IRLAN=m -CONFIG_IR_LIRC_CODEC=m -CONFIG_IR_MCE_KBD_DECODER=m -CONFIG_IR_MCEUSB=m -CONFIG_IR_NEC_DECODER=m -CONFIG_IRNET=m -CONFIG_IR_NUVOTON=m -CONFIG_IRQ_ALL_CPUS=y -# CONFIG_IRQ_DOMAIN_DEBUG is not set -# CONFIG_IRQSOFF_TRACER is not set -CONFIG_IRQSTACKS=y -CONFIG_IRQ_TIME_ACCOUNTING=y -CONFIG_IR_RC5_DECODER=m -CONFIG_IR_RC6_DECODER=m -CONFIG_IR_REDRAT3=m -CONFIG_IR_SANYO_DECODER=m -CONFIG_IR_SERIAL=m -CONFIG_IR_SERIAL_TRANSMITTER=y -CONFIG_IR_SHARP_DECODER=m -CONFIG_IR_SIR=m -CONFIG_IR_SONY_DECODER=m -CONFIG_IR_SPI=m -CONFIG_IR_STREAMZAP=m -CONFIG_IR_TTUSBIR=m -CONFIG_IRTTY_SIR=m -CONFIG_IR_WINBOND_CIR=m -CONFIG_IR_XMP_DECODER=m -# CONFIG_ISA is not set -CONFIG_ISCSI_BOOT_SYSFS=m -CONFIG_ISCSI_TARGET_CXGB4=m -CONFIG_ISCSI_TARGET=m -CONFIG_ISCSI_TCP=m -CONFIG_ISDN_AUDIO=y -CONFIG_ISDN_CAPI_CAPI20=m -CONFIG_ISDN_CAPI_CAPIDRV=m -# CONFIG_ISDN_CAPI_CAPIDRV_VERBOSE is not set -CONFIG_ISDN_CAPI=m -CONFIG_ISDN_CAPI_MIDDLEWARE=y -CONFIG_ISDN_DIVAS_BRIPCI=y -CONFIG_ISDN_DIVAS_DIVACAPI=m -CONFIG_ISDN_DIVAS=m -CONFIG_ISDN_DIVAS_MAINT=m -CONFIG_ISDN_DIVAS_PRIPCI=y -CONFIG_ISDN_DIVAS_USERIDI=m -CONFIG_ISDN_DIVERSION=m -CONFIG_ISDN_DRV_AVMB1_AVM_CS=m -CONFIG_ISDN_DRV_AVMB1_B1PCI=m -CONFIG_ISDN_DRV_AVMB1_B1PCIV4=y -CONFIG_ISDN_DRV_AVMB1_B1PCMCIA=m -CONFIG_ISDN_DRV_AVMB1_C4=m -CONFIG_ISDN_DRV_AVMB1_T1PCI=m -CONFIG_ISDN_DRV_GIGASET=m -CONFIG_ISDN_DRV_HISAX=m -CONFIG_ISDN_DRV_LOOP=m -CONFIG_ISDN_I4L=m -CONFIG_ISDN_MPP=y -# CONFIG_ISDN_PPP_BSDCOMP is not set -CONFIG_ISDN_PPP_VJ=y -CONFIG_ISDN_PPP=y -CONFIG_ISDN_TTY_FAX=y -CONFIG_ISDN=y -# CONFIG_ISI is not set -CONFIG_ISL29003=m -CONFIG_ISL29020=m -# CONFIG_ISL29125 is not set -CONFIG_ISO9660_FS=m -CONFIG_IT8712F_WDT=m -CONFIG_IT87_WDT=m -CONFIG_ITCO_VENDOR_SUPPORT=y -CONFIG_ITCO_WDT=m -# CONFIG_ITG3200 is not set -CONFIG_IWL3945=m -CONFIG_IWL4965=m -CONFIG_IWLDVM=m -CONFIG_IWLEGACY_DEBUGFS=y -CONFIG_IWLEGACY_DEBUG=y -CONFIG_IWLEGACY=m -CONFIG_IWLMVM=m -# CONFIG_IWLWIFI_BCAST_FILTERING is not set -CONFIG_IWLWIFI_DEBUGFS=y -CONFIG_IWLWIFI_DEBUG=y -# CONFIG_IWLWIFI_DEVICE_TRACING is not set -CONFIG_IWLWIFI=m -# CONFIG_IWLWIFI_PCIE_RTPM is not set -# CONFIG_IWM is not set -CONFIG_IXGBE_DCA=y -CONFIG_IXGBE_DCB=y -CONFIG_IXGBE_HWMON=y -CONFIG_IXGBE=m -CONFIG_IXGBEVF=m -CONFIG_IXGB=m -# CONFIG_JBD2_DEBUG is not set -CONFIG_JBD2=y -# CONFIG_JFFS2_FS is not set -# CONFIG_JFS_DEBUG is not set -CONFIG_JFS_FS=m -CONFIG_JFS_POSIX_ACL=y -CONFIG_JFS_SECURITY=y -# CONFIG_JFS_STATISTICS is not set -CONFIG_JME=m -CONFIG_JOLIET=y -CONFIG_JOYSTICK_A3D=m -CONFIG_JOYSTICK_ADI=m -CONFIG_JOYSTICK_ANALOG=m -# CONFIG_JOYSTICK_AS5011 is not set -CONFIG_JOYSTICK_COBRA=m -CONFIG_JOYSTICK_DB9=m -CONFIG_JOYSTICK_GAMECON=m -CONFIG_JOYSTICK_GF2K=m -CONFIG_JOYSTICK_GRIP=m -CONFIG_JOYSTICK_GRIP_MP=m -CONFIG_JOYSTICK_GUILLEMOT=m -CONFIG_JOYSTICK_IFORCE_232=y -CONFIG_JOYSTICK_IFORCE=m -CONFIG_JOYSTICK_IFORCE_USB=y -CONFIG_JOYSTICK_INTERACT=m -CONFIG_JOYSTICK_JOYDUMP=m -CONFIG_JOYSTICK_MAGELLAN=m -CONFIG_JOYSTICK_PSXPAD_SPI_FF=y -CONFIG_JOYSTICK_PSXPAD_SPI=m -CONFIG_JOYSTICK_SIDEWINDER=m -CONFIG_JOYSTICK_SPACEBALL=m -CONFIG_JOYSTICK_SPACEORB=m -CONFIG_JOYSTICK_STINGER=m -CONFIG_JOYSTICK_TMDC=m -CONFIG_JOYSTICK_TURBOGRAFX=m -CONFIG_JOYSTICK_TWIDJOY=m -CONFIG_JOYSTICK_WALKERA0701=m -CONFIG_JOYSTICK_WARRIOR=m -CONFIG_JOYSTICK_XPAD_FF=y -CONFIG_JOYSTICK_XPAD_LEDS=y -CONFIG_JOYSTICK_XPAD=m -CONFIG_JOYSTICK_ZHENHUA=m -# CONFIG_JSA1212 is not set -# CONFIG_JUMP_LABEL_FEATURE_CHECK_DEBUG is not set -# CONFIG_JUMP_LABEL_FEATURE_CHECKS is not set -CONFIG_JUMP_LABEL=y -CONFIG_KALLSYMS_ALL=y -CONFIG_KALLSYMS=y -CONFIG_KARMA_PARTITION=y -# CONFIG_KASAN is not set -# CONFIG_KCOV is not set -CONFIG_KDB_CONTINUE_CATASTROPHIC=0 -# CONFIG_KERNEL_BZIP2 is not set -CONFIG_KERNEL_GZIP=y -# CONFIG_KERNEL_LZMA is not set -# CONFIG_KERNEL_LZO is not set -# CONFIG_KEXEC_FILE is not set -CONFIG_KEXEC=y -# CONFIG_KEYBOARD_ADC is not set -# CONFIG_KEYBOARD_ADP5588 is not set -# CONFIG_KEYBOARD_ADP5589 is not set -CONFIG_KEYBOARD_ATKBD=y -# CONFIG_KEYBOARD_CAP11XX is not set -# CONFIG_KEYBOARD_DLINK_DIR685 is not set -# CONFIG_KEYBOARD_GPIO is not set -# CONFIG_KEYBOARD_GPIO_POLLED is not set -# CONFIG_KEYBOARD_LKKBD is not set -# CONFIG_KEYBOARD_LM8323 is not set -# CONFIG_KEYBOARD_LM8333 is not set -# CONFIG_KEYBOARD_MATRIX is not set -# CONFIG_KEYBOARD_MAX7359 is not set -# CONFIG_KEYBOARD_MCS is not set -# CONFIG_KEYBOARD_MPR121 is not set -# CONFIG_KEYBOARD_NEWTON is not set -# CONFIG_KEYBOARD_OMAP4 is not set -# CONFIG_KEYBOARD_OPENCORES is not set -CONFIG_KEYBOARD_PMIC8XXX=m -CONFIG_KEYBOARD_QT1070=m -# CONFIG_KEYBOARD_QT2160 is not set -# CONFIG_KEYBOARD_SAMSUNG is not set -# CONFIG_KEYBOARD_SH_KEYSC is not set -# CONFIG_KEYBOARD_STOWAWAY is not set -# CONFIG_KEYBOARD_SUNKBD is not set -# CONFIG_KEYBOARD_TCA6416 is not set -# CONFIG_KEYBOARD_TCA8418 is not set -CONFIG_KEYBOARD_TM2_TOUCHKEY=m -# CONFIG_KEYBOARD_XTKBD is not set -CONFIG_KEY_DH_OPERATIONS=y -CONFIG_KEYS=y -# CONFIG_KGDB_KDB is not set -CONFIG_KGDB_LOW_LEVEL_TRAP=y -CONFIG_KGDB_SERIAL_CONSOLE=y -# CONFIG_KGDB_TESTS_ON_BOOT is not set -CONFIG_KGDB_TESTS=y -CONFIG_KGDB=y -CONFIG_KINGSUN_DONGLE=m -# CONFIG_KMX61 is not set -CONFIG_KPROBE_EVENTS=y -# CONFIG_KPROBES_SANITY_TEST is not set -CONFIG_KPROBES=y -CONFIG_KS0108_DELAY=2 -CONFIG_KS0108=m -CONFIG_KS0108_PORT=0x378 -# CONFIG_KS7010 is not set -# CONFIG_KS8842 is not set -# CONFIG_KS8851 is not set -# CONFIG_KS8851_MLL is not set -CONFIG_KS959_DONGLE=m -CONFIG_KSDAZZLE_DONGLE=m -CONFIG_KSM=y -CONFIG_KSZ884X_PCI=m -CONFIG_KVM_BOOK3S_64_HV=m -CONFIG_KVM_BOOK3S_64=m -CONFIG_KVM_BOOK3S_64_PR=m -# CONFIG_KVM_BOOK3S_HV_EXIT_TIMING is not set -# CONFIG_KVM_EXIT_TIMING is not set -CONFIG_KVM_GUEST=y -CONFIG_KVM_XICS=y -CONFIG_KXCJK1013=m -# CONFIG_KXSD9 is not set -CONFIG_L2TP_DEBUGFS=m -CONFIG_L2TP_ETH=m -CONFIG_L2TP_IP=m -CONFIG_L2TP=m -CONFIG_L2TP_V3=y -# CONFIG_LANCE is not set -# CONFIG_LAPB is not set -CONFIG_LATENCYTOP=y -# CONFIG_LATTICE_ECP3_CONFIG is not set -# CONFIG_LCD_AMS369FG06 is not set -CONFIG_LCD_CLASS_DEVICE=m -# CONFIG_LCD_HX8357 is not set -# CONFIG_LCD_ILI922X is not set -# CONFIG_LCD_ILI9320 is not set -# CONFIG_LCD_L4F00242T03 is not set -# CONFIG_LCD_LD9040 is not set -# CONFIG_LCD_LMS283GF05 is not set -# CONFIG_LCD_LMS501KF03 is not set -# CONFIG_LCD_LTV350QV is not set -CONFIG_LCD_PLATFORM=m -# CONFIG_LCD_S6E63M0 is not set -# CONFIG_LCD_TDO24M is not set -# CONFIG_LCD_VGG2432A4 is not set -# CONFIG_LDM_DEBUG is not set -CONFIG_LDM_PARTITION=y -# CONFIG_LEDS_AAT1290 is not set -# CONFIG_LEDS_BCM6328 is not set -# CONFIG_LEDS_BCM6358 is not set -# CONFIG_LEDS_BD2802 is not set -CONFIG_LEDS_BLINKM=m -CONFIG_LEDS_BRIGHTNESS_HW_CHANGED=y -CONFIG_LEDS_CLASS_FLASH=m -CONFIG_LEDS_CLASS=y -CONFIG_LEDS_CLEVO_MAIL=m -# CONFIG_LEDS_DAC124S085 is not set -# CONFIG_LEDS_GPIO is not set -# CONFIG_LEDS_IS31FL319X is not set -# CONFIG_LEDS_IS31FL32XX is not set -# CONFIG_LEDS_KTD2692 is not set -CONFIG_LEDS_LM3530=m -# CONFIG_LEDS_LM355x is not set -# CONFIG_LEDS_LM3642 is not set -# CONFIG_LEDS_LOCOMO is not set -CONFIG_LEDS_LP3944=m -CONFIG_LEDS_LP3952=m -# CONFIG_LEDS_LP5521 is not set -# CONFIG_LEDS_LP5523 is not set -# CONFIG_LEDS_LP5562 is not set -# CONFIG_LEDS_LP55XX_COMMON is not set -# CONFIG_LEDS_LP8501 is not set -# CONFIG_LEDS_LP8860 is not set -CONFIG_LEDS_LT3593=m -CONFIG_LEDS_MLXCPLD=m -# CONFIG_LEDS_NET48XX is not set -CONFIG_LEDS_NIC78BX=m -# CONFIG_LEDS_OT200 is not set -# CONFIG_LEDS_PCA9532 is not set -# CONFIG_LEDS_PCA955X is not set -# CONFIG_LEDS_PCA963X is not set -CONFIG_LEDS_POWERNV=m -# CONFIG_LEDS_PWM is not set -CONFIG_LEDS_REGULATOR=m -# CONFIG_LEDS_S3C24XX is not set -# CONFIG_LEDS_SYSCON is not set -# CONFIG_LEDS_TCA6507 is not set -# CONFIG_LEDS_TLC591XX is not set -CONFIG_LEDS_TRIGGER_BACKLIGHT=m -CONFIG_LEDS_TRIGGER_CAMERA=m -# CONFIG_LEDS_TRIGGER_CPU is not set -CONFIG_LEDS_TRIGGER_DEFAULT_ON=m -CONFIG_LEDS_TRIGGER_DISK=y -CONFIG_LEDS_TRIGGER_GPIO=m -CONFIG_LEDS_TRIGGER_HEARTBEAT=m -CONFIG_LEDS_TRIGGER_MTD=y -CONFIG_LEDS_TRIGGER_ONESHOT=m -CONFIG_LEDS_TRIGGER_PANIC=y -CONFIG_LEDS_TRIGGERS=y -CONFIG_LEDS_TRIGGER_TIMER=m -CONFIG_LEDS_TRIGGER_TRANSIENT=m -CONFIG_LEDS_USER=m -CONFIG_LEDS_WM831X_STATUS=m -CONFIG_LEDS_WM8350=m -CONFIG_LED_TRIGGER_PHY=y -# CONFIG_LEGACY_PTYS is not set -CONFIG_LIB80211_CRYPT_CCMP=m -CONFIG_LIB80211_CRYPT_TKIP=m -CONFIG_LIB80211_CRYPT_WEP=m -# CONFIG_LIB80211_DEBUG is not set -CONFIG_LIB80211=m -CONFIG_LIBCRC32C=m -CONFIG_LIBERTAS_CS=m -# CONFIG_LIBERTAS_DEBUG is not set -CONFIG_LIBERTAS=m -CONFIG_LIBERTAS_MESH=y -CONFIG_LIBERTAS_SDIO=m -# CONFIG_LIBERTAS_SPI is not set -# CONFIG_LIBERTAS_THINFIRM is not set -CONFIG_LIBERTAS_USB=m -CONFIG_LIBFC=m -CONFIG_LIBFCOE=m -# CONFIG_LIBIPW_DEBUG is not set -# CONFIG_LIBNVDIMM is not set -# CONFIG_LIDAR_LITE_V2 is not set -CONFIG_LIQUIDIO_VF=m -CONFIG_LIRC_BT829=m -CONFIG_LIRC_IMON=m -CONFIG_LIRC=m -CONFIG_LIRC_PARALLEL=m -CONFIG_LIRC_SERIAL=m -CONFIG_LIRC_SERIAL_TRANSMITTER=y -CONFIG_LIRC_SIR=m -CONFIG_LIRC_STAGING=y -CONFIG_LIRC_ZILOG=m -CONFIG_LITELINK_DONGLE=m -# CONFIG_LIVEPATCH is not set -# CONFIG_LKDTM is not set -# CONFIG_LLC2 is not set -CONFIG_LLC=m -CONFIG_LMP91000=m -# CONFIG_LNET is not set -# CONFIG_LOAD_UEFI_KEYS is not set -CONFIG_LOCALVERSION="" -# CONFIG_LOCALVERSION_AUTO is not set -CONFIG_LOCKD=m -# CONFIG_LOCK_DOWN_KERNEL is not set -CONFIG_LOCKD_V4=y -# CONFIG_LOCK_STAT is not set -# CONFIG_LOCK_TORTURE_TEST is not set -CONFIG_LOCKUP_DETECTOR=y -CONFIG_LOG_BUF_SHIFT=18 -CONFIG_LOG_CPU_MAX_BUF_SHIFT=12 -# CONFIG_LOGFS is not set -CONFIG_LOGIG940_FF=y -CONFIG_LOGIRUMBLEPAD2_FF=y -CONFIG_LOGITECH_FF=y -CONFIG_LOGIWHEELS_FF=y -CONFIG_LOGO_LIBRE_CLUT224=y -# CONFIG_LOGO_LINUX_CLUT224 is not set -# CONFIG_LOGO_LINUX_MONO is not set -# CONFIG_LOGO_LINUX_VGA16 is not set -CONFIG_LOGO=y -CONFIG_LOOPBACK_TARGET=m -CONFIG_LPARCFG=y -# CONFIG_LPC_ICH is not set -CONFIG_LP_CONSOLE=y -# CONFIG_LPC_SCH is not set -CONFIG_LPFC_NVME_INITIATOR=y -CONFIG_LPFC_NVME_TARGET=y -CONFIG_LSI_ET1011C_PHY=m -CONFIG_LSM_MMAP_MIN_ADDR=65536 -# CONFIG_LTC2485 is not set -# CONFIG_LTC2497 is not set -# CONFIG_LTC2632 is not set -# CONFIG_LTE_GDM724X is not set -# CONFIG_LTR501 is not set -# CONFIG_LUSTRE_FS is not set -CONFIG_LWTUNNEL_BPF=y -CONFIG_LWTUNNEL=y -CONFIG_LXT_PHY=m -# CONFIG_M62332 is not set -CONFIG_MA600_DONGLE=m -CONFIG_MAC80211_DEBUGFS=y -# CONFIG_MAC80211_DEBUG_MENU is not set -CONFIG_MAC80211_HWSIM=m -CONFIG_MAC80211_LEDS=y -CONFIG_MAC80211=m -CONFIG_MAC80211_MESH=y -# CONFIG_MAC80211_MESSAGE_TRACING is not set -CONFIG_MAC80211_RC_DEFAULT="minstrel_ht" -CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y -CONFIG_MAC80211_RC_MINSTREL=y -CONFIG_MAC802154=m -CONFIG_MACB=m -CONFIG_MACB_PCI=m -CONFIG_MACB_USE_HWSTAMP=y -CONFIG_MAC_EMUMOUSEBTN=y -CONFIG_MACHZ_WDT=m -# CONFIG_MACINTOSH_DRIVERS is not set -CONFIG_MAC_PARTITION=y -CONFIG_MACSEC=m -CONFIG_MACVLAN=m -CONFIG_MACVTAP=m -# CONFIG_MAG3110 is not set -CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x0 -CONFIG_MAGIC_SYSRQ_SERIAL=y -CONFIG_MAGIC_SYSRQ=y -# CONFIG_MAILBOX is not set -# CONFIG_MAILBOX_TEST is not set -# CONFIG_MANDATORY_FILE_LOCKING is not set -CONFIG_MANTIS_CORE=m -CONFIG_MARVELL_10G_PHY=m -CONFIG_MARVELL_PHY=m -# CONFIG_MATH_EMULATION is not set -# CONFIG_MAX1027 is not set -# CONFIG_MAX11100 is not set -# CONFIG_MAX1118 is not set -CONFIG_MAX1363=m -CONFIG_MAX30100=m -# CONFIG_MAX30102 is not set -# CONFIG_MAX44000 is not set -# CONFIG_MAX517 is not set -# CONFIG_MAX5481 is not set -# CONFIG_MAX5487 is not set -# CONFIG_MAX5821 is not set -# CONFIG_MAX63XX_WATCHDOG is not set -# CONFIG_MAX9611 is not set -# CONFIG_MAXIM_THERMOCOUPLE is not set -CONFIG_MAX_RAW_DEVS=8192 -# CONFIG_MC3230 is not set -# CONFIG_MCB is not set -# CONFIG_MCE_AMD_INJ is not set -CONFIG_MCP2120_DONGLE=m -# CONFIG_MCP320X is not set -# CONFIG_MCP3422 is not set -# CONFIG_MCP4131 is not set -# CONFIG_MCP4531 is not set -# CONFIG_MCP4725 is not set -# CONFIG_MCP4922 is not set -CONFIG_MCS_FIR=m -# CONFIG_MCU_MPC8349EMITX is not set -CONFIG_MD_AUTODETECT=y -# CONFIG_MD_CLUSTER is not set -CONFIG_MD_FAULTY=m -CONFIG_MDIO_BCM_UNIMAC=m -CONFIG_MDIO_BITBANG=m -# CONFIG_MDIO_BUS_MUX_GPIO is not set -# CONFIG_MDIO_BUS_MUX is not set -# CONFIG_MDIO_BUS_MUX_MMIOREG is not set -CONFIG_MDIO_GPIO=m -# CONFIG_MDIO_HISI_FEMAC is not set -# CONFIG_MDIO_OCTEON is not set -# CONFIG_MDIO_THUNDER is not set -CONFIG_MD_LINEAR=m -CONFIG_MD_MULTIPATH=m -CONFIG_MD_RAID0=m -CONFIG_MD_RAID10=m -CONFIG_MD_RAID1=m -CONFIG_MD_RAID456=m -CONFIG_MD=y -CONFIG_MEDIA_ALTERA_CI=m -CONFIG_MEDIA_ANALOG_TV_SUPPORT=y -CONFIG_MEDIA_ATTACH=y -CONFIG_MEDIA_CAMERA_SUPPORT=y -CONFIG_MEDIA_CEC_DEBUG=y -CONFIG_MEDIA_CEC_RC=y -CONFIG_MEDIA_CEC_SUPPORT=y -# CONFIG_MEDIA_CONTROLLER_DVB is not set -CONFIG_MEDIA_CONTROLLER=y -CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y -CONFIG_MEDIA_PCI_SUPPORT=y -CONFIG_MEDIA_RADIO_SUPPORT=y -CONFIG_MEDIA_RC_SUPPORT=y -# CONFIG_MEDIA_SDR_SUPPORT is not set -CONFIG_MEDIA_SUBDRV_AUTOSELECT=y -CONFIG_MEDIA_SUPPORT=m -# CONFIG_MEDIA_TUNER_MSI001 is not set -CONFIG_MEDIA_USB_SUPPORT=y -CONFIG_MEGARAID_LEGACY=m -CONFIG_MEGARAID_MAILBOX=m -CONFIG_MEGARAID_MM=m -CONFIG_MEGARAID_NEWGEN=y -CONFIG_MEGARAID_SAS=m -CONFIG_MEMCG_SWAP_ENABLED=y -CONFIG_MEMCG_SWAP=y -CONFIG_MEMCG=y -CONFIG_MEMORY_FAILURE=y -# CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE is not set -CONFIG_MEMORY_HOTPLUG=y -CONFIG_MEMORY_HOTREMOVE=y -# CONFIG_MEMORY is not set -CONFIG_MEM_SOFT_DIRTY=y -# CONFIG_MEMSTICK_DEBUG is not set -CONFIG_MEMSTICK_JMICRON_38X=m -CONFIG_MEMSTICK=m -CONFIG_MEMSTICK_R592=m -CONFIG_MEMSTICK_REALTEK_PCI=m -CONFIG_MEMSTICK_REALTEK_USB=m -CONFIG_MEMSTICK_TIFM_MS=m -# CONFIG_MEMSTICK_UNSAFE_RESUME is not set -# CONFIG_MEMTEST is not set -# CONFIG_MEN_A21_WDT is not set -CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 -# CONFIG_MFD_88PM800 is not set -# CONFIG_MFD_88PM805 is not set -# CONFIG_MFD_88PM860X is not set -# CONFIG_MFD_AAT2870_CORE is not set -# CONFIG_MFD_ACT8945A is not set -# CONFIG_MFD_ARIZONA_I2C is not set -# CONFIG_MFD_ARIZONA is not set -# CONFIG_MFD_ARIZONA_SPI is not set -# CONFIG_MFD_AS3711 is not set -# CONFIG_MFD_AS3722 is not set -# CONFIG_MFD_ASIC3 is not set -# CONFIG_MFD_ATMEL_FLEXCOM is not set -# CONFIG_MFD_ATMEL_HLCDC is not set -# CONFIG_MFD_AXP20X_I2C is not set -# CONFIG_MFD_AXP20X is not set -# CONFIG_MFD_BCM590XX is not set -CONFIG_MFD_CORE=m -# CONFIG_MFD_CPCAP is not set -# CONFIG_MFD_CROS_EC is not set -# CONFIG_MFD_CS5535 is not set -# CONFIG_MFD_DA9052_I2C is not set -# CONFIG_MFD_DA9052_SPI is not set -# CONFIG_MFD_DA9055 is not set -# CONFIG_MFD_DA9062 is not set -# CONFIG_MFD_DA9063 is not set -# CONFIG_MFD_DA9150 is not set -# CONFIG_MFD_DLN2 is not set -# CONFIG_MFD_HI6421_PMIC is not set -# CONFIG_MFD_JANZ_CMODIO is not set -# CONFIG_MFD_KEMPLD is not set -# CONFIG_MFD_LM3533 is not set -# CONFIG_MFD_LP3943 is not set -# CONFIG_MFD_LP8788 is not set -# CONFIG_MFD_MAX14577 is not set -# CONFIG_MFD_MAX77620 is not set -# CONFIG_MFD_MAX77686 is not set -# CONFIG_MFD_MAX77693 is not set -# CONFIG_MFD_MAX77843 is not set -# CONFIG_MFD_MAX8907 is not set -# CONFIG_MFD_MAX8925 is not set -# CONFIG_MFD_MAX8997 is not set -# CONFIG_MFD_MAX8998 is not set -# CONFIG_MFD_MC13XXX_I2C is not set -# CONFIG_MFD_MC13XXX_SPI is not set -# CONFIG_MFD_MENF21BMC is not set -# CONFIG_MFD_MT6397 is not set -# CONFIG_MFD_PALMAS is not set -# CONFIG_MFD_PCF50633 is not set -# CONFIG_MFD_RC5T583 is not set -# CONFIG_MFD_RDC321X is not set -# CONFIG_MFD_RETU is not set -# CONFIG_MFD_RK808 is not set -# CONFIG_MFD_RN5T618 is not set -# CONFIG_MFD_RT5033 is not set -CONFIG_MFD_RTSX_PCI=m -CONFIG_MFD_RTSX_USB=m -# CONFIG_MFD_SEC_CORE is not set -# CONFIG_MFD_SI476X_CORE is not set -# CONFIG_MFD_SKY81452 is not set -CONFIG_MFD_SM501_GPIO=y -CONFIG_MFD_SM501=m -# CONFIG_MFD_SMSC is not set -# CONFIG_MFD_STMPE is not set -# CONFIG_MFD_SYSCON is not set -# CONFIG_MFD_TC3589X is not set -# CONFIG_MFD_TC6393XB is not set -# CONFIG_MFD_TI_AM335X_TSCADC is not set -# CONFIG_MFD_TI_LMU is not set -# CONFIG_MFD_TI_LP873X is not set -# CONFIG_MFD_TI_LP87565 is not set -# CONFIG_MFD_TIMBERDALE is not set -# CONFIG_MFD_TPS65086 is not set -# 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_I2C is not set -# CONFIG_MFD_TPS65912 is not set -# CONFIG_MFD_TPS65912_SPI is not set -# CONFIG_MFD_TPS80031 is not set -CONFIG_MFD_VIPERBOARD=m -CONFIG_MFD_VX855=m -CONFIG_MFD_WL1273_CORE=m -# CONFIG_MFD_WM831X_I2C is not set -# CONFIG_MFD_WM831X is not set -# CONFIG_MFD_WM831X_SPI is not set -# CONFIG_MFD_WM8350_I2C is not set -# CONFIG_MFD_WM8350 is not set -# CONFIG_MFD_WM8400 is not set -# CONFIG_MFD_WM8994 is not set -# CONFIG_MGCOGE is not set -# CONFIG_MICREL_KS8995MA is not set -CONFIG_MICREL_PHY=m -CONFIG_MICROCHIP_KSZ=m -CONFIG_MICROCHIP_KSZ_SPI_DRIVER=m -CONFIG_MICROCHIP_PHY=m -CONFIG_MICROSEMI_PHY=m -CONFIG_MIGRATION=y -CONFIG_MII=m -CONFIG_MINIX_FS=m -CONFIG_MINIX_SUBPARTITION=y -CONFIG_MISC_FILESYSTEMS=y -CONFIG_MISDN_AVMFRITZ=m -CONFIG_MISDN_DSP=m -CONFIG_MISDN_HFCMULTI=m -CONFIG_MISDN_HFCPCI=m -CONFIG_MISDN_HFCUSB=m -CONFIG_MISDN_INFINEON=m -CONFIG_MISDN_L1OIP=m -CONFIG_MISDN=m -CONFIG_MISDN_NETJET=m -CONFIG_MISDN_SPEEDFAX=m -CONFIG_MISDN_W6692=m -CONFIG_MKISS=m -CONFIG_MLX4_CORE=m -CONFIG_MLX4_EN_DCB=y -CONFIG_MLX4_EN=m -CONFIG_MLX4_INFINIBAND=m -CONFIG_MLX5_CORE_EN_DCB=y -CONFIG_MLX5_CORE_EN=y -CONFIG_MLX5_CORE_IPOIB=y -CONFIG_MLX5_CORE=m -# CONFIG_MLX5_EN_IPSEC is not set -# CONFIG_MLX5_FPGA is not set -CONFIG_MLX5_INFINIBAND=m -# CONFIG_MLX90614 is not set -CONFIG_MLX_CPLD_PLATFORM=m -CONFIG_MLXFW=m -CONFIG_MLXSW_CORE_HWMON=y -CONFIG_MLXSW_CORE=m -CONFIG_MLXSW_CORE_THERMAL=y -CONFIG_MLXSW_I2C=m -CONFIG_MLXSW_MINIMAL=m -CONFIG_MLXSW_PCI=m -CONFIG_MLXSW_SPECTRUM_DCB=y -CONFIG_MLXSW_SPECTRUM=m -CONFIG_MLXSW_SWITCHIB=m -CONFIG_MLXSW_SWITCHX2=m -# CONFIG_MMA7455_I2C is not set -# CONFIG_MMA7455_SPI is not set -CONFIG_MMA7660=m -# CONFIG_MMA8452 is not set -# CONFIG_MMA9551 is not set -# CONFIG_MMA9553 is not set -# CONFIG_MMC35240 is not set -CONFIG_MMC_BLOCK_BOUNCE=y -CONFIG_MMC_BLOCK=m -CONFIG_MMC_BLOCK_MINORS=8 -CONFIG_MMC_CB710=m -# CONFIG_MMC_DEBUG is not set -CONFIG_MMC=m -# CONFIG_MMC_MTK is not set -CONFIG_MMC_REALTEK_PCI=m -CONFIG_MMC_REALTEK_USB=m -CONFIG_MMC_RICOH_MMC=y -CONFIG_MMC_SDHCI_ACPI=m -CONFIG_MMC_SDHCI_CADENCE=m -# CONFIG_MMC_SDHCI_F_SDH30 is not set -CONFIG_MMC_SDHCI=m -# CONFIG_MMC_SDHCI_OF_ARASAN is not set -# CONFIG_MMC_SDHCI_OF_AT91 is not set -# CONFIG_MMC_SDHCI_OF_ESDHC is not set -# CONFIG_MMC_SDHCI_OF_HLWD is not set -CONFIG_MMC_SDHCI_PCI=m -CONFIG_MMC_SDHCI_PLTFM=m -CONFIG_MMC_SDHCI_XENON=m -CONFIG_MMC_SDRICOH_CS=m -# CONFIG_MMC_SPI is not set -# CONFIG_MMC_TEST is not set -CONFIG_MMC_TIFM_SD=m -CONFIG_MMC_TOSHIBA_PCI=m -# CONFIG_MMC_USDHI6ROL0 is not set -CONFIG_MMC_USHC=m -CONFIG_MMC_VIA_SDMMC=m -CONFIG_MMC_VUB300=m -CONFIG_MMC_WBSD=m -CONFIG_MMU=y -# CONFIG_MODULE_COMPRESS is not set -# CONFIG_MODULE_FORCE_LOAD is not set -# CONFIG_MODULE_FORCE_UNLOAD is not set -CONFIG_MODULE_SIG_ALL=y -# CONFIG_MODULE_SIG_FORCE is not set -CONFIG_MODULE_SIG_KEY="certs/signing_key.pem" -# CONFIG_MODULE_SIG_SHA1 is not set -CONFIG_MODULE_SIG_SHA256=y -CONFIG_MODULE_SIG=y -# CONFIG_MODULE_SRCVERSION_ALL is not set -CONFIG_MODULES=y -CONFIG_MODULE_UNLOAD=y -# CONFIG_MODVERSIONS is not set -# CONFIG_MOST is not set -CONFIG_MOUSE_APPLETOUCH=m -# CONFIG_MOUSE_ATIXL is not set -CONFIG_MOUSE_BCM5974=m -CONFIG_MOUSE_CYAPA=m -CONFIG_MOUSE_ELAN_I2C_I2C=y -CONFIG_MOUSE_ELAN_I2C=m -CONFIG_MOUSE_ELAN_I2C_SMBUS=y -# CONFIG_MOUSE_GPIO is not set -CONFIG_MOUSE_PS2_ELANTECH=y -CONFIG_MOUSE_PS2_SENTELIC=y -# CONFIG_MOUSE_PS2_TOUCHKIT is not set -CONFIG_MOUSE_PS2=y -CONFIG_MOUSE_SERIAL=m -CONFIG_MOUSE_SYNAPTICS_I2C=m -CONFIG_MOUSE_SYNAPTICS_USB=m -CONFIG_MOUSE_VSXXXAA=m -CONFIG_MOVABLE_NODE=y -# CONFIG_MOXA_INTELLIO is not set -# CONFIG_MOXA_SMARTIO is not set -# CONFIG_MPC5121_ADS is not set -# CONFIG_MPIC_MSGR is not set -# CONFIG_MPL115_I2C is not set -# CONFIG_MPL115 is not set -# CONFIG_MPL115_SPI is not set -# CONFIG_MPL3115 is not set -CONFIG_MPLS_IPTUNNEL=m -CONFIG_MPLS_ROUTING=m -CONFIG_MPU3050_I2C=m -CONFIG_MQ_IOSCHED_DEADLINE=y -CONFIG_MQ_IOSCHED_KYBER=m -# CONFIG_MS5611 is not set -# CONFIG_MS5637 is not set -# CONFIG_MS_BLOCK is not set -CONFIG_MSDOS_FS=m -CONFIG_MSDOS_PARTITION=y -CONFIG_MSI_BITMAP_SELFTEST=y -# CONFIG_MSM_GCC_8994 is not set -CONFIG_MSPRO_BLOCK=m -CONFIG_MT7601U=m -# CONFIG_MTD_ABSENT is not set -# CONFIG_MTD_AR7_PARTS is not set -# CONFIG_MTD_BLKDEVS is not set -# CONFIG_MTD_BLOCK2MTD is not set -# CONFIG_MTD_BLOCK is not set -# CONFIG_MTD_BLOCK_RO is not set -CONFIG_MTD_CFI_I1=y -CONFIG_MTD_CFI_I2=y -# CONFIG_MTD_CFI_I4 is not set -# CONFIG_MTD_CFI_I8 is not set -# CONFIG_MTD_CFI is not set -# CONFIG_MTD_CMDLINE_PARTS is not set -# CONFIG_MTD_COMPLEX_MAPPINGS is not set -# CONFIG_MTD_DATAFLASH is not set -# CONFIG_MTD_DOCG3 is not set -# CONFIG_MTD_INTEL_VR_NOR is not set -# CONFIG_MTD_JEDECPROBE is not set -# CONFIG_MTD_LPDDR is not set -CONFIG_MTD=m -# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set -CONFIG_MTD_MAP_BANK_WIDTH_1=y -CONFIG_MTD_MAP_BANK_WIDTH_2=y -# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set -CONFIG_MTD_MAP_BANK_WIDTH_4=y -# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set -# CONFIG_MTD_MCHP23K256 is not set -# CONFIG_MTD_MTDRAM is not set -# CONFIG_MTD_NAND_DENALI_DT is not set -# CONFIG_MTD_NAND_DENALI_PCI is not set -# CONFIG_MTD_NAND_DISKONCHIP is not set -# CONFIG_MTD_NAND_ECC_BCH is not set -# CONFIG_MTD_NAND_FSL_ELBC is not set -# CONFIG_MTD_NAND_HISI504 is not set -# CONFIG_MTD_NAND is not set -# CONFIG_MTD_NAND_OMAP2 is not set -# CONFIG_MTD_NAND_OXNAS is not set -CONFIG_MTD_OF_PARTS=m -# CONFIG_MTD_ONENAND is not set -# CONFIG_MTD_OOPS is not set -# CONFIG_MTD_PARTITIONED_MASTER is not set -# CONFIG_MTD_PHRAM is not set -# CONFIG_MTD_PLATRAM is not set -# CONFIG_MTD_PMC551 is not set -CONFIG_MTD_POWERNV_FLASH=m -# CONFIG_MTD_RAM is not set -# CONFIG_MTD_REDBOOT_PARTS is not set -# CONFIG_MTD_ROM is not set -# CONFIG_MTD_SLRAM is not set -# CONFIG_MTD_SPI_NOR is not set -# CONFIG_MTD_SST25L is not set -# CONFIG_MTD_SWAP is not set -# CONFIG_MTD_TESTS is not set -# CONFIG_MTD_TS5500 is not set -CONFIG_MTD_UBI_BEB_LIMIT=20 -# CONFIG_MTD_UBI_BLOCK is not set -# CONFIG_MTD_UBI_FASTMAP is not set -# CONFIG_MTD_UBI_GLUEBI is not set -CONFIG_MTD_UBI=m -CONFIG_MTD_UBI_WL_THRESHOLD=4096 -CONFIG_MULTIPLEXER=m -CONFIG_MUX_ADG792A=m -CONFIG_MUX_GPIO=m -CONFIG_MUX_MMIO=m -CONFIG_MVMDIO=m -CONFIG_MWAVE=m -CONFIG_MWIFIEX=m -CONFIG_MWIFIEX_PCIE=m -CONFIG_MWIFIEX_SDIO=m -CONFIG_MWIFIEX_USB=m -CONFIG_MWL8K=m -# CONFIG_MXC4005 is not set -# CONFIG_MXC6255 is not set -CONFIG_MYRI10GE_DCA=y -CONFIG_MYRI10GE=m -CONFIG_NAMESPACES=y -CONFIG_NATIONAL_PHY=m -CONFIG_NATSEMI=m -# CONFIG_NAU7802 is not set -# CONFIG_NBPFAXI_DMA is not set -CONFIG_NCPFS_EXTRAS=y -CONFIG_NCPFS_IOCTL_LOCKING=y -CONFIG_NCP_FS=m -CONFIG_NCPFS_NFS_NS=y -CONFIG_NCPFS_NLS=y -CONFIG_NCPFS_OS2_NS=y -CONFIG_NCPFS_PACKET_SIGNING=y -CONFIG_NCPFS_SMALLDOS=y -CONFIG_NCPFS_STRONG=y -# CONFIG_ND_BLK is not set -CONFIG_NE2K_PCI=m -# CONFIG_NET_9P_DEBUG is not set -CONFIG_NET_9P=m -CONFIG_NET_9P_RDMA=m -CONFIG_NET_9P_VIRTIO=m -CONFIG_NET_9P_XEN=m -CONFIG_NET_ACT_BPF=m -CONFIG_NET_ACT_CONNMARK=m -CONFIG_NET_ACT_CSUM=m -CONFIG_NET_ACT_GACT=m -CONFIG_NET_ACT_IFE=m -CONFIG_NET_ACT_IPT=m -CONFIG_NET_ACT_MIRRED=m -CONFIG_NET_ACT_NAT=m -CONFIG_NET_ACT_PEDIT=m -CONFIG_NET_ACT_POLICE=m -CONFIG_NET_ACT_SAMPLE=m -CONFIG_NET_ACT_SIMP=m -CONFIG_NET_ACT_SKBEDIT=m -CONFIG_NET_ACT_SKBMOD=m -CONFIG_NET_ACT_TUNNEL_KEY=m -CONFIG_NET_ACT_VLAN=m -CONFIG_NET_CADENCE=y -CONFIG_NET_CALXEDA_XGMAC=m -CONFIG_NET_CLS_ACT=y -CONFIG_NET_CLS_BASIC=m -CONFIG_NET_CLS_BPF=m -CONFIG_NET_CLS_CGROUP=y -CONFIG_NET_CLS_FLOWER=m -CONFIG_NET_CLS_FLOW=m -CONFIG_NET_CLS_FW=m -CONFIG_NET_CLS_IND=y -CONFIG_NET_CLS_MATCHALL=m -CONFIG_NET_CLS_ROUTE4=m -CONFIG_NET_CLS_ROUTE=y -CONFIG_NET_CLS_RSVP6=m -CONFIG_NET_CLS_RSVP=m -CONFIG_NET_CLS_TCINDEX=m -CONFIG_NET_CLS_U32=m -CONFIG_NET_CLS=y -CONFIG_NETCONSOLE_DYNAMIC=y -CONFIG_NETCONSOLE=m -CONFIG_NET_CORE=y -# CONFIG_NET_DCCPPROBE is not set -CONFIG_NETDEVICES=y -CONFIG_NET_DEVLINK=m -CONFIG_NET_DROP_MONITOR=y -CONFIG_NET_DSA_BCM_SF2=m -CONFIG_NET_DSA_HWMON=y -CONFIG_NET_DSA_LOOP=m -CONFIG_NET_DSA=m -CONFIG_NET_DSA_MT7530=m -CONFIG_NET_DSA_MV88E6060=m -CONFIG_NET_DSA_MV88E6XXX_GLOBAL2=y -CONFIG_NET_DSA_MV88E6XXX=m -CONFIG_NET_DSA_QCA8K=m -CONFIG_NET_DSA_SMSC_LAN9303_I2C=m -CONFIG_NET_DSA_SMSC_LAN9303_MDIO=m -CONFIG_NET_EMATCH_CANID=m -CONFIG_NET_EMATCH_CMP=m -CONFIG_NET_EMATCH_IPSET=m -CONFIG_NET_EMATCH_META=m -CONFIG_NET_EMATCH_NBYTE=m -CONFIG_NET_EMATCH_STACK=32 -CONFIG_NET_EMATCH_TEXT=m -CONFIG_NET_EMATCH_U32=m -CONFIG_NET_EMATCH=y -CONFIG_NET_FC=y -CONFIG_NETFILTER_ADVANCED=y -# CONFIG_NETFILTER_DEBUG is not set -CONFIG_NETFILTER_INGRESS=y -CONFIG_NETFILTER_NETLINK_ACCT=m -# CONFIG_NETFILTER_NETLINK_GLUE_CT is not set -CONFIG_NETFILTER_NETLINK_LOG=m -CONFIG_NETFILTER_NETLINK=m -CONFIG_NETFILTER_NETLINK_QUEUE=m -CONFIG_NETFILTER_XTABLES=y -CONFIG_NETFILTER_XT_CONNMARK=m -CONFIG_NETFILTER_XT_MARK=m -CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m -CONFIG_NETFILTER_XT_MATCH_BPF=m -CONFIG_NETFILTER_XT_MATCH_CGROUP=m -CONFIG_NETFILTER_XT_MATCH_CLUSTER=m -CONFIG_NETFILTER_XT_MATCH_COMMENT=m -CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m -CONFIG_NETFILTER_XT_MATCH_CONNLABEL=m -CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m -CONFIG_NETFILTER_XT_MATCH_CONNMARK=m -CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m -CONFIG_NETFILTER_XT_MATCH_CPU=m -CONFIG_NETFILTER_XT_MATCH_DCCP=m -CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m -CONFIG_NETFILTER_XT_MATCH_DSCP=m -CONFIG_NETFILTER_XT_MATCH_ECN=m -CONFIG_NETFILTER_XT_MATCH_ESP=m -CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m -CONFIG_NETFILTER_XT_MATCH_HELPER=m -CONFIG_NETFILTER_XT_MATCH_HL=m -CONFIG_NETFILTER_XT_MATCH_IPCOMP=m -CONFIG_NETFILTER_XT_MATCH_IPRANGE=m -CONFIG_NETFILTER_XT_MATCH_IPVS=m -CONFIG_NETFILTER_XT_MATCH_L2TP=m -CONFIG_NETFILTER_XT_MATCH_LENGTH=m -CONFIG_NETFILTER_XT_MATCH_LIMIT=m -CONFIG_NETFILTER_XT_MATCH_MAC=m -CONFIG_NETFILTER_XT_MATCH_MARK=m -CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m -CONFIG_NETFILTER_XT_MATCH_NFACCT=m -CONFIG_NETFILTER_XT_MATCH_OSF=m -CONFIG_NETFILTER_XT_MATCH_OWNER=m -CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m -CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m -CONFIG_NETFILTER_XT_MATCH_POLICY=m -CONFIG_NETFILTER_XT_MATCH_QUOTA=m -CONFIG_NETFILTER_XT_MATCH_RATEEST=m -CONFIG_NETFILTER_XT_MATCH_REALM=m -CONFIG_NETFILTER_XT_MATCH_RECENT=m -CONFIG_NETFILTER_XT_MATCH_SCTP=m -CONFIG_NETFILTER_XT_MATCH_SOCKET=m -CONFIG_NETFILTER_XT_MATCH_STATE=m -CONFIG_NETFILTER_XT_MATCH_STATISTIC=m -CONFIG_NETFILTER_XT_MATCH_STRING=m -CONFIG_NETFILTER_XT_MATCH_TCPMSS=m -CONFIG_NETFILTER_XT_MATCH_TIME=m -CONFIG_NETFILTER_XT_MATCH_U32=m -CONFIG_NETFILTER_XT_NAT=m -CONFIG_NETFILTER_XT_SET=m -CONFIG_NETFILTER_XT_TARGET_AUDIT=m -CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m -CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m -CONFIG_NETFILTER_XT_TARGET_CONNMARK=m -CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m -CONFIG_NETFILTER_XT_TARGET_CT=m -CONFIG_NETFILTER_XT_TARGET_DSCP=m -CONFIG_NETFILTER_XT_TARGET_HMARK=m -CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m -CONFIG_NETFILTER_XT_TARGET_LED=m -CONFIG_NETFILTER_XT_TARGET_LOG=m -CONFIG_NETFILTER_XT_TARGET_MARK=m -CONFIG_NETFILTER_XT_TARGET_NETMAP=m -CONFIG_NETFILTER_XT_TARGET_NFLOG=m -CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m -CONFIG_NETFILTER_XT_TARGET_NOTRACK=m -CONFIG_NETFILTER_XT_TARGET_RATEEST=m -CONFIG_NETFILTER_XT_TARGET_REDIRECT=m -CONFIG_NETFILTER_XT_TARGET_SECMARK=m -CONFIG_NETFILTER_XT_TARGET_TCPMSS=m -CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m -CONFIG_NETFILTER_XT_TARGET_TEE=m -CONFIG_NETFILTER_XT_TARGET_TPROXY=m -CONFIG_NETFILTER_XT_TARGET_TRACE=m -CONFIG_NETFILTER=y -CONFIG_NET_FOU_IP_TUNNELS=y -CONFIG_NET_FOU=m -CONFIG_NET_IFE=m -CONFIG_NET_IFE_SKBMARK=m -CONFIG_NET_IFE_SKBPRIO=m -CONFIG_NET_IFE_SKBTCINDEX=m -CONFIG_NET_IPGRE_BROADCAST=y -CONFIG_NET_IPGRE_DEMUX=m -CONFIG_NET_IPGRE=m -CONFIG_NET_IPIP=m -CONFIG_NET_IPVTI=m -CONFIG_NET_KEY=m -CONFIG_NET_KEY_MIGRATE=y -CONFIG_NET_L3_MASTER_DEV=y -CONFIG_NETLABEL=y -CONFIG_NETLINK_DIAG=m -CONFIG_NET_MPLS_GSO=m -CONFIG_NET_NCSI=y -CONFIG_NET_NS=y -CONFIG_NET_PACKET_ENGINE=y -CONFIG_NET_PKTGEN=m -CONFIG_NET_POLL_CONTROLLER=y -CONFIG_NETROM=m -CONFIG_NET_SCH_ATM=m -CONFIG_NET_SCH_CBQ=m -CONFIG_NET_SCH_CHOKE=m -CONFIG_NET_SCH_CODEL=m -# CONFIG_NET_SCH_DEFAULT is not set -CONFIG_NET_SCH_DRR=m -CONFIG_NET_SCH_DSMARK=m -CONFIG_NET_SCHED=y -CONFIG_NET_SCH_FQ_CODEL=y -CONFIG_NET_SCH_FQ=m -CONFIG_NET_SCH_GRED=m -CONFIG_NET_SCH_HFSC=m -CONFIG_NET_SCH_HHF=m -CONFIG_NET_SCH_HTB=m -CONFIG_NET_SCH_INGRESS=m -CONFIG_NET_SCH_MQPRIO=m -CONFIG_NET_SCH_MULTIQ=m -CONFIG_NET_SCH_NETEM=m -CONFIG_NET_SCH_PIE=m -CONFIG_NET_SCH_PLUG=m -CONFIG_NET_SCH_PRIO=m -CONFIG_NET_SCH_QFQ=m -CONFIG_NET_SCH_RED=m -CONFIG_NET_SCH_SFB=m -CONFIG_NET_SCH_SFQ=m -CONFIG_NET_SCH_TBF=m -CONFIG_NET_SCH_TEQL=m -CONFIG_NET_SCTPPROBE=m -CONFIG_NET_SWITCHDEV=y -# CONFIG_NET_TCPPROBE is not set -CONFIG_NET_TEAM=m -CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m -CONFIG_NET_TEAM_MODE_BROADCAST=m -CONFIG_NET_TEAM_MODE_LOADBALANCE=m -CONFIG_NET_TEAM_MODE_RANDOM=m -CONFIG_NET_TEAM_MODE_ROUNDROBIN=m -CONFIG_NET_TULIP=y -CONFIG_NET_VENDOR_3COM=y -CONFIG_NET_VENDOR_8390=y -CONFIG_NET_VENDOR_ADAPTEC=y -CONFIG_NET_VENDOR_AGERE=y -# CONFIG_NET_VENDOR_ALACRITECH is not set -CONFIG_NET_VENDOR_ALTEON=y -CONFIG_NET_VENDOR_AMAZON=y -CONFIG_NET_VENDOR_AMD=y -CONFIG_NET_VENDOR_AQUANTIA=y -CONFIG_NET_VENDOR_ARC=y -CONFIG_NET_VENDOR_ATHEROS=y -# CONFIG_NET_VENDOR_AURORA is not set -CONFIG_NET_VENDOR_BROADCOM=y -CONFIG_NET_VENDOR_BROCADE=y -# CONFIG_NET_VENDOR_CAVIUM is not set -CONFIG_NET_VENDOR_CHELSIO=y -CONFIG_NET_VENDOR_CISCO=y -CONFIG_NET_VENDOR_DEC=y -CONFIG_NET_VENDOR_DLINK=y -CONFIG_NET_VENDOR_EMULEX=y -CONFIG_NET_VENDOR_EXAR=y -# CONFIG_NET_VENDOR_EZCHIP is not set -# CONFIG_NET_VENDOR_FARADAY is not set -# CONFIG_NET_VENDOR_FUJITSU is not set -# CONFIG_NET_VENDOR_HISILICON is not set -# CONFIG_NET_VENDOR_HP is not set -# CONFIG_NET_VENDOR_I825XX is not set -CONFIG_NET_VENDOR_IBM=y -CONFIG_NET_VENDOR_INTEL=y -CONFIG_NET_VENDOR_MARVELL=y -CONFIG_NET_VENDOR_MICREL=y -# CONFIG_NET_VENDOR_MICROCHIP is not set -CONFIG_NET_VENDOR_MYRI=y -CONFIG_NET_VENDOR_NATSEMI=y -CONFIG_NET_VENDOR_NETRONOME=y -CONFIG_NET_VENDOR_NVIDIA=y -CONFIG_NET_VENDOR_OKI=y -# CONFIG_NET_VENDOR_PASEMI is not set -CONFIG_NET_VENDOR_QLOGIC=y -# CONFIG_NET_VENDOR_QUALCOMM is not set -CONFIG_NET_VENDOR_RDC=y -CONFIG_NET_VENDOR_REALTEK=y -# CONFIG_NET_VENDOR_RENESAS is not set -CONFIG_NET_VENDOR_ROCKER=y -# CONFIG_NET_VENDOR_SAMSUNG is not set -# CONFIG_NET_VENDOR_SEEQ is not set -CONFIG_NET_VENDOR_SILAN=y -CONFIG_NET_VENDOR_SIS=y -CONFIG_NET_VENDOR_SMSC=y -# CONFIG_NET_VENDOR_SOLARFLARE is not set -CONFIG_NET_VENDOR_STMICRO=y -CONFIG_NET_VENDOR_SUN=y -# CONFIG_NET_VENDOR_SYNOPSYS is not set -CONFIG_NET_VENDOR_TEHUTI=y -CONFIG_NET_VENDOR_TI=y -# CONFIG_NET_VENDOR_TOSHIBA is not set -CONFIG_NET_VENDOR_VIA=y -CONFIG_NET_VENDOR_WIZNET=y -# CONFIG_NET_VENDOR_XILINX is not set -CONFIG_NET_VENDOR_XIRCOM=y -CONFIG_NET_VRF=m -CONFIG_NETWORK_FILESYSTEMS=y -CONFIG_NETWORK_PHY_TIMESTAMPING=y -CONFIG_NETXEN_NIC=m -CONFIG_NET=y -CONFIG_NEW_LEDS=y -CONFIG_NFC_DIGITAL=m -# CONFIG_NFC_FDP is not set -CONFIG_NFC_HCI=m -CONFIG_NFC=m -CONFIG_NFC_MICROREAD_I2C=m -CONFIG_NFC_MICROREAD=m -# CONFIG_NFC_MRVL_I2C is not set -CONFIG_NFC_MRVL=m -# CONFIG_NFC_MRVL_SPI is not set -CONFIG_NFC_MRVL_USB=m -CONFIG_NFC_NCI=m -# CONFIG_NFC_NCI_SPI is not set -# CONFIG_NFC_NCI_UART is not set -CONFIG_NFC_NXP_NCI_I2C=m -CONFIG_NFC_NXP_NCI=m -CONFIG_NF_CONNTRACK_AMANDA=m -CONFIG_NF_CONNTRACK_EVENTS=y -CONFIG_NF_CONNTRACK_FTP=m -CONFIG_NF_CONNTRACK_H323=m -CONFIG_NF_CONNTRACK_IPV4=m -CONFIG_NF_CONNTRACK_IPV6=m -CONFIG_NF_CONNTRACK_IRC=m -CONFIG_NF_CONNTRACK=m -CONFIG_NF_CONNTRACK_MARK=y -CONFIG_NF_CONNTRACK_NETBIOS_NS=m -CONFIG_NF_CONNTRACK_PPTP=m -# CONFIG_NF_CONNTRACK_PROC_COMPAT is not set -CONFIG_NF_CONNTRACK_PROCFS=y -CONFIG_NF_CONNTRACK_SANE=m -CONFIG_NF_CONNTRACK_SECMARK=y -CONFIG_NF_CONNTRACK_SIP=m -CONFIG_NF_CONNTRACK_SNMP=m -CONFIG_NF_CONNTRACK_TFTP=m -# CONFIG_NF_CONNTRACK_TIMEOUT is not set -CONFIG_NF_CONNTRACK_TIMESTAMP=y -CONFIG_NF_CONNTRACK_ZONES=y -CONFIG_NFC_PN533_I2C=m -CONFIG_NFC_PN533=m -CONFIG_NFC_PN533_USB=m -CONFIG_NFC_PN544_I2C=m -CONFIG_NFC_PN544=m -CONFIG_NFC_PORT100=m -# CONFIG_NFC_S3FWRN5_I2C is not set -CONFIG_NFC_SHDLC=y -CONFIG_NFC_SIM=m -CONFIG_NFC_ST21NFCA_I2C=m -CONFIG_NFC_ST21NFCA=m -# CONFIG_NFC_ST95HF is not set -# CONFIG_NFC_ST_NCI_I2C is not set -# CONFIG_NFC_ST_NCI is not set -# CONFIG_NFC_ST_NCI_SPI is not set -CONFIG_NF_CT_NETLINK_HELPER=m -CONFIG_NF_CT_NETLINK=m -# CONFIG_NF_CT_NETLINK_TIMEOUT is not set -CONFIG_NF_CT_PROTO_DCCP=y -CONFIG_NF_CT_PROTO_SCTP=y -CONFIG_NF_CT_PROTO_UDPLITE=y -CONFIG_NFC_TRF7970A=m -CONFIG_NF_DUP_IPV4=m -CONFIG_NF_DUP_IPV6=m -CONFIG_NF_DUP_NETDEV=m -CONFIG_NF_LOG_ARP=m -CONFIG_NF_LOG_BRIDGE=m -CONFIG_NF_LOG_IPV4=m -CONFIG_NF_LOG_IPV6=m -CONFIG_NF_LOG_NETDEV=m -CONFIG_NF_NAT=m -CONFIG_NF_NAT_SNMP_BASIC=m -CONFIG_NFP_APP_FLOWER=y -# CONFIG_NFP_DEBUG is not set -CONFIG_NFP=m -# CONFIG_NFP_NET_DEBUG is not set -CONFIG_NFP_NETVF=m -CONFIG_NF_REJECT_IPV6=m -CONFIG_NFSD_BLOCKLAYOUT=y -# CONFIG_NFSD_FAULT_INJECTION is not set -CONFIG_NFSD_FLEXFILELAYOUT=y -CONFIG_NFSD=m -CONFIG_NFSD_PNFS=y -CONFIG_NFSD_SCSILAYOUT=y -CONFIG_NFSD_V3_ACL=y -CONFIG_NFSD_V3=y -CONFIG_NFSD_V4_SECURITY_LABEL=y -CONFIG_NFSD_V4=y -CONFIG_NFS_FSCACHE=y -CONFIG_NFS_FS=m -CONFIG_NF_SOCKET_IPV4=m -CONFIG_NF_SOCKET_IPV6=m -CONFIG_NFS_SWAP=y -# CONFIG_NFS_USE_LEGACY_DNS is not set -# CONFIG_NFS_V2 is not set -CONFIG_NFS_V3_ACL=y -CONFIG_NFS_V3=m -CONFIG_NFS_V4_1_IMPLEMENTATION_ID_DOMAIN="kernel.org" -# CONFIG_NFS_V4_1_MIGRATION is not set -CONFIG_NFS_V4_1=y -CONFIG_NFS_V4_2=y -CONFIG_NFS_V4=m -CONFIG_NF_TABLES_ARP=m -CONFIG_NF_TABLES_BRIDGE=m -CONFIG_NF_TABLES_INET=m -CONFIG_NF_TABLES_IPV4=m -CONFIG_NF_TABLES_IPV6=m -CONFIG_NF_TABLES=m -CONFIG_NF_TABLES_NETDEV=m -CONFIG_NFT_BRIDGE_META=m -CONFIG_NFT_BRIDGE_REJECT=m -CONFIG_NFT_CHAIN_NAT_IPV4=m -CONFIG_NFT_CHAIN_NAT_IPV6=m -CONFIG_NFT_CHAIN_ROUTE_IPV4=m -CONFIG_NFT_CHAIN_ROUTE_IPV6=m -CONFIG_NFT_COMPAT=m -CONFIG_NFT_COUNTER=m -CONFIG_NFT_CT=m -CONFIG_NFT_DUP_IPV4=m -CONFIG_NFT_DUP_IPV6=m -CONFIG_NFT_DUP_NETDEV=m -CONFIG_NFT_EXTHDR=m -CONFIG_NFT_FIB_INET=m -CONFIG_NFT_FIB_IPV4=m -CONFIG_NFT_FIB_IPV6=m -CONFIG_NFT_FWD_NETDEV=m -CONFIG_NFT_HASH=m -CONFIG_NFT_LIMIT=m -# CONFIG_NFTL is not set -CONFIG_NFT_LOG=m -CONFIG_NFT_MASQ_IPV4=m -CONFIG_NFT_MASQ_IPV6=m -CONFIG_NFT_MASQ=m -CONFIG_NFT_META=m -CONFIG_NFT_NAT=m -CONFIG_NFT_NUMGEN=m -CONFIG_NFT_OBJREF=m -CONFIG_NFT_QUEUE=m -CONFIG_NFT_QUOTA=m -CONFIG_NFT_RBTREE=m -CONFIG_NFT_REDIR_IPV4=m -CONFIG_NFT_REDIR_IPV6=m -CONFIG_NFT_REDIR=m -CONFIG_NFT_REJECT_IPV4=m -CONFIG_NFT_REJECT=m -CONFIG_NFT_RT=m -CONFIG_NFT_SET_BITMAP=m -CONFIG_NFT_SET_HASH=m -CONFIG_NFT_SET_RBTREE=m -CONFIG_N_GSM=m -CONFIG_N_HDLC=m -# CONFIG_NI65 is not set -# CONFIG_NI903X_WDT is not set -CONFIG_NILFS2_FS=m -CONFIG_NIU=m -# CONFIG_NL80211_TESTMODE is not set -CONFIG_NL80211=y -CONFIG_NLMON=m -CONFIG_NLS_ASCII=y -CONFIG_NLS_CODEPAGE_1250=m -CONFIG_NLS_CODEPAGE_1251=m -CONFIG_NLS_CODEPAGE_437=y -CONFIG_NLS_CODEPAGE_737=m -CONFIG_NLS_CODEPAGE_775=m -CONFIG_NLS_CODEPAGE_850=m -CONFIG_NLS_CODEPAGE_852=m -CONFIG_NLS_CODEPAGE_855=m -CONFIG_NLS_CODEPAGE_857=m -CONFIG_NLS_CODEPAGE_860=m -CONFIG_NLS_CODEPAGE_861=m -CONFIG_NLS_CODEPAGE_862=m -CONFIG_NLS_CODEPAGE_863=m -CONFIG_NLS_CODEPAGE_864=m -CONFIG_NLS_CODEPAGE_865=m -CONFIG_NLS_CODEPAGE_866=m -CONFIG_NLS_CODEPAGE_869=m -CONFIG_NLS_CODEPAGE_874=m -CONFIG_NLS_CODEPAGE_932=m -CONFIG_NLS_CODEPAGE_936=m -CONFIG_NLS_CODEPAGE_949=m -CONFIG_NLS_CODEPAGE_950=m -CONFIG_NLS_DEFAULT="utf8" -CONFIG_NLS_ISO8859_13=m -CONFIG_NLS_ISO8859_14=m -CONFIG_NLS_ISO8859_15=m -CONFIG_NLS_ISO8859_1=m -CONFIG_NLS_ISO8859_2=m -CONFIG_NLS_ISO8859_3=m -CONFIG_NLS_ISO8859_4=m -CONFIG_NLS_ISO8859_5=m -CONFIG_NLS_ISO8859_6=m -CONFIG_NLS_ISO8859_7=m -CONFIG_NLS_ISO8859_8=m -CONFIG_NLS_ISO8859_9=m -CONFIG_NLS_KOI8_R=m -CONFIG_NLS_KOI8_U=m -CONFIG_NLS_MAC_CELTIC=m -CONFIG_NLS_MAC_CENTEURO=m -CONFIG_NLS_MAC_CROATIAN=m -CONFIG_NLS_MAC_CYRILLIC=m -CONFIG_NLS_MAC_GAELIC=m -CONFIG_NLS_MAC_GREEK=m -CONFIG_NLS_MAC_ICELAND=m -CONFIG_NLS_MAC_INUIT=m -CONFIG_NLS_MAC_ROMANIAN=m -CONFIG_NLS_MAC_ROMAN=m -CONFIG_NLS_MAC_TURKISH=m -CONFIG_NLS_UTF8=m -CONFIG_NLS=y -CONFIG_NMI_LOG_BUF_SHIFT=13 -CONFIG_NO_HZ=y -CONFIG_NOP_USB_XCEIV=m -CONFIG_NORTEL_HERMES=m -# CONFIG_NOTIFIER_ERROR_INJECTION is not set -CONFIG_NOUVEAU_DEBUG=5 -CONFIG_NOUVEAU_DEBUG_DEFAULT=3 -CONFIG_NOZOMI=m -CONFIG_NR_CPUS=1024 -CONFIG_NR_DEV_DAX=32768 -CONFIG_NR_IRQS=512 -CONFIG_NS83820=m -CONFIG_NSC_FIR=m -CONFIG_NTB_IDT=m -# CONFIG_NTB is not set -# CONFIG_NTFS_FS is not set -CONFIG_NTP_PPS=y -CONFIG_NUMA_BALANCING_DEFAULT_ENABLED=y -CONFIG_NUMA_BALANCING=y -CONFIG_NUMA=y -CONFIG_NVME_FC=m -CONFIG_NVMEM=m -CONFIG_NVME_RDMA=m -CONFIG_NVME_TARGET_FCLOOP=m -CONFIG_NVME_TARGET_FC=m -CONFIG_NVME_TARGET_LOOP=m -CONFIG_NVME_TARGET=m -CONFIG_NVME_TARGET_RDMA=m -# CONFIG_NVM is not set -# CONFIG_NVRAM is not set -# CONFIG_OCFS2_DEBUG_FS is not set -# CONFIG_OCFS2_DEBUG_MASKLOG is not set -CONFIG_OCFS2_FS=m -CONFIG_OCFS2_FS_O2CB=m -# CONFIG_OCFS2_FS_STATS is not set -CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m -# CONFIG_OF_OVERLAY is not set -# CONFIG_OF_UNITTEST is not set -CONFIG_OLD_BELKIN_DONGLE=m -# CONFIG_OMFS_FS is not set -CONFIG_OPAL_PRD=m -CONFIG_OPENVSWITCH_GENEVE=m -CONFIG_OPENVSWITCH_GRE=m -CONFIG_OPENVSWITCH=m -CONFIG_OPENVSWITCH_VXLAN=m -# CONFIG_OPROFILE is not set -CONFIG_OPT3001=m -CONFIG_OPTIMIZE_INLINING=y -CONFIG_OPTPROBES=y -CONFIG_ORANGEFS_FS=m -CONFIG_ORINOCO_USB=m -CONFIG_OSF_PARTITION=y -# CONFIG_OVERLAY_FS_INDEX is not set -CONFIG_OVERLAY_FS=m -# CONFIG_OVERLAY_FS_REDIRECT_DIR is not set -CONFIG_P54_COMMON=m -CONFIG_P54_PCI=m -# CONFIG_P54_SPI is not set -CONFIG_P54_USB=m -CONFIG_PA12203001=m -CONFIG_PACKET_DIAG=m -CONFIG_PACKET=y -# CONFIG_PAGE_EXTENSION is not set -# CONFIG_PAGE_OWNER is not set -# CONFIG_PAGE_POISONING is not set -# CONFIG_PANEL is not set -# CONFIG_PANIC_ON_OOPS is not set -CONFIG_PANIC_TIMEOUT=0 -CONFIG_PANTHERLORD_FF=y -# CONFIG_PARIDE is not set -CONFIG_PARMAN=m -CONFIG_PARPORT_1284=y -# CONFIG_PARPORT_AX88796 is not set -CONFIG_PARPORT=m -# CONFIG_PARPORT_PC_FIFO is not set -CONFIG_PARPORT_PC=m -CONFIG_PARPORT_PC_PCMCIA=m -# CONFIG_PARPORT_PC_SUPERIO is not set -CONFIG_PARPORT_SERIAL=m -CONFIG_PARTITION_ADVANCED=y -CONFIG_PATA_ACPI=m -CONFIG_PATA_ALI=m -CONFIG_PATA_AMD=m -CONFIG_PATA_ARASAN_CF=m -CONFIG_PATA_ARTOP=m -CONFIG_PATA_ATIIXP=m -CONFIG_PATA_ATP867X=m -CONFIG_PATA_CMD640_PCI=m -CONFIG_PATA_CMD64X=m -CONFIG_PATA_CS5520=m -CONFIG_PATA_CS5530=m -CONFIG_PATA_CS5535=m -CONFIG_PATA_CS5536=m -CONFIG_PATA_CYPRESS=m -CONFIG_PATA_EFAR=m -CONFIG_PATA_HPT366=m -CONFIG_PATA_HPT37X=m -CONFIG_PATA_HPT3X2N=m -# CONFIG_PATA_HPT3X3_DMA is not set -CONFIG_PATA_HPT3X3=m -CONFIG_PATA_IT8213=m -CONFIG_PATA_IT821X=m -CONFIG_PATA_JMICRON=m -# CONFIG_PATA_LEGACY is not set -CONFIG_PATA_MARVELL=m -CONFIG_PATA_MPIIX=m -CONFIG_PATA_NETCELL=m -CONFIG_PATA_NINJA32=m -CONFIG_PATA_NS87410=m -CONFIG_PATA_NS87415=m -CONFIG_PATA_OLDPIIX=m -CONFIG_PATA_OPTIDMA=m -CONFIG_PATA_OPTI=m -CONFIG_PATA_PCMCIA=m -CONFIG_PATA_PDC2027X=m -CONFIG_PATA_PDC_OLD=m -# CONFIG_PATA_PLATFORM is not set -# CONFIG_PATA_RADISYS is not set -CONFIG_PATA_RDC=m -# CONFIG_PATA_RZ1000 is not set -# CONFIG_PATA_SC1200 is not set -CONFIG_PATA_SCH=m -CONFIG_PATA_SERVERWORKS=m -CONFIG_PATA_SIL680=m -CONFIG_PATA_SIS=m -CONFIG_PATA_TOSHIBA=m -CONFIG_PATA_TRIFLEX=m -CONFIG_PATA_VIA=m -CONFIG_PATA_WINBOND=m -# CONFIG_PC104 is not set -# CONFIG_PC87413_WDT is not set -CONFIG_PCCARD=y -CONFIG_PCF50633_ADC=m -CONFIG_PCF50633_GPIO=m -# CONFIG_PCH_GBE is not set -# CONFIG_PCI_DEBUG is not set -CONFIG_PCIEAER_INJECT=m -CONFIG_PCIEAER=y -# CONFIG_PCIEASPM_DEBUG is not set -CONFIG_PCIEASPM=y -CONFIG_PCIE_DPC=y -# CONFIG_PCIE_DW_PLAT is not set -CONFIG_PCIE_ECRC=y -# CONFIG_PCI_ENDPOINT is not set -# CONFIG_PCI_ENDPOINT_TEST is not set -# CONFIG_PCIEPORTBUS is not set -CONFIG_PCIE_PTM=y -CONFIG_PCI_HERMES=m -CONFIG_PCI_IOV=y -# CONFIG_PCI_MSI_IRQ_DOMAIN is not set -CONFIG_PCI_MSI=y -CONFIG_PCI_PASID=y -CONFIG_PCIPCWATCHDOG=m -CONFIG_PCI_PRI=y -# CONFIG_PCI_REALLOC_ENABLE_AUTO is not set -CONFIG_PCI_STUB=y -CONFIG_PCI_SW_SWITCHTEC=m -CONFIG_PCI=y -CONFIG_PCMCIA_3C574=m -CONFIG_PCMCIA_3C589=m -CONFIG_PCMCIA_AXNET=m -# CONFIG_PCMCIA_DEBUG is not set -CONFIG_PCMCIA_FMVJ18X=m -CONFIG_PCMCIA_HERMES=m -CONFIG_PCMCIA_LOAD_CIS=y -CONFIG_PCMCIA_NMCLAN=m -CONFIG_PCMCIA_PCNET=m -# CONFIG_PCMCIA_RAYCS is not set -CONFIG_PCMCIA_SMC91C92=m -# CONFIG_PCMCIA_SPECTRUM is not set -# CONFIG_PCMCIA_WL3501 is not set -CONFIG_PCMCIA_XIRC2PS=m -CONFIG_PCMCIA_XIRCOM=m -CONFIG_PCMCIA=y -CONFIG_PCNET32=m -CONFIG_PD6729=m -# CONFIG_PDA_POWER is not set -CONFIG_PDC_ADMA=m -# CONFIG_PERCPU_STATS is not set -# CONFIG_PERCPU_TEST is not set -CONFIG_PERF_EVENTS=y -CONFIG_PERSISTENT_KEYRINGS=y -# CONFIG_PGTABLE_MAPPING is not set -# CONFIG_PHANTOM is not set -# CONFIG_PHONE is not set -# CONFIG_PHONET is not set -# CONFIG_PHY_CPCAP_USB is not set -CONFIG_PHYLIB=y -# CONFIG_PHY_PXA_28NM_HSIC is not set -# CONFIG_PHY_PXA_28NM_USB2 is not set -# CONFIG_PHY_QCOM_USB_HSIC is not set -# CONFIG_PHY_QCOM_USB_HS is not set -# CONFIG_PHY_ST_SPEAR1310_MIPHY is not set -# CONFIG_PHY_ST_SPEAR1340_MIPHY is not set -# CONFIG_PHY_TUSB1210 is not set -CONFIG_PID_NS=y -# CONFIG_PINCONF is not set -# CONFIG_PINCTRL_CANNONLAKE is not set -# CONFIG_PINCTRL_IPQ8074 is not set -# CONFIG_PINCTRL is not set -# CONFIG_PINCTRL_MCP23S08 is not set -# CONFIG_PINCTRL_MSM8994 is not set -# CONFIG_PINCTRL_SX150X is not set -# CONFIG_PINMUX is not set -CONFIG_PKCS7_MESSAGE_PARSER=y -# CONFIG_PKCS7_TEST_KEY is not set -# CONFIG_PLATFORM_SI4713 is not set -# CONFIG_PLIP is not set -CONFIG_PLX_HERMES=m -# CONFIG_PM_ADVANCED_DEBUG is not set -# CONFIG_PM_AUTOSLEEP is not set -CONFIG_PMBUS=m -CONFIG_PM_DEBUG=y -# CONFIG_PM_DEVFREQ_EVENT is not set -CONFIG_PM_DEVFREQ=y -# CONFIG_PMIC_ADP5520 is not set -# CONFIG_PMIC_DA903X is not set -# CONFIG_PM_OPP is not set -CONFIG_PM_STD_PARTITION="" -CONFIG_PM_TEST_SUSPEND=y -CONFIG_PM_TRACE_RTC=y -CONFIG_PM_TRACE=y -# CONFIG_PM_WAKELOCKS is not set -CONFIG_PM=y -CONFIG_PNFS_BLOCK=m -CONFIG_PNFS_OBJLAYOUT=m -CONFIG_POSIX_MQUEUE=y -CONFIG_POWER7_CPU=y -# CONFIG_POWER_AVS is not set -CONFIG_POWERCAP=y -CONFIG_POWERNV_CPUFREQ=y -CONFIG_POWERNV_CPUIDLE=y -# CONFIG_POWERNV_OP_PANEL is not set -# CONFIG_POWER_RESET_BRCMKONA is not set -# CONFIG_POWER_RESET_BRCMSTB is not set -CONFIG_POWER_RESET_GPIO_RESTART=y -CONFIG_POWER_RESET_GPIO=y -# CONFIG_POWER_RESET_LTC2952 is not set -# CONFIG_POWER_RESET_RESTART is not set -# CONFIG_POWER_RESET_SYSCON is not set -# CONFIG_POWER_RESET_SYSCON_POWEROFF is not set -CONFIG_POWER_RESET=y -# CONFIG_POWER_SUPPLY_DEBUG is not set -CONFIG_POWER_SUPPLY=y -CONFIG_PPC_64K_PAGES=y -CONFIG_PPC64_SUPPORTS_MEMORY_FAILURE=y -CONFIG_PPC64=y -# CONFIG_PPC_82xx is not set -# CONFIG_PPC_83xx is not set -# CONFIG_PPC_86xx is not set -# CONFIG_PPC_CELL is not set -CONFIG_PPC_CPUFEATURES_ENABLE_UNKNOWN=y -CONFIG_PPC_DENORMALISATION=y -CONFIG_PPC_DISABLE_WERROR=y -CONFIG_PPC_DT_CPU_FTRS=y -# CONFIG_PPC_EARLY_DEBUG is not set -CONFIG_PPC_EMULATED_STATS=y -# CONFIG_PPC_EPAPR_HV_BYTECHAN is not set -# CONFIG_PPC_IBM_CELL_BLADE is not set -# CONFIG_PPC_ICSWX_PID is not set -# CONFIG_PPC_ICSWX_USE_SIGILL is not set -CONFIG_PPC_ICSWX=y -# CONFIG_PPC_MAPLE is not set -# CONFIG_PPC_MPC5200_LPBFIFO is not set -CONFIG_PPC_OF_BOOT_TRAMPOLINE=y -# CONFIG_PPC_PASEMI is not set -# CONFIG_PPC_PMAC64 is not set -# CONFIG_PPC_PMAC is not set -CONFIG_PPC_POWERNV=y -# CONFIG_PPC_PS3 is not set -CONFIG_PPC_PSERIES=y -# CONFIG_PPC_PTDUMP is not set -CONFIG_PPC_RADIX_MMU=y -CONFIG_PPC_SMLPAR=y -CONFIG_PPC_SPLPAR=y -CONFIG_PPC_SUBPAGE_PROT=y -CONFIG_PPC_TRANSACTIONAL_MEM=y -CONFIG_PPC=y -CONFIG_PPDEV=m -CONFIG_PPP_ASYNC=m -CONFIG_PPP_BSDCOMP=m -CONFIG_PPP_DEFLATE=m -CONFIG_PPP_FILTER=y -CONFIG_PPP=m -CONFIG_PPP_MPPE=m -CONFIG_PPP_MULTILINK=y -CONFIG_PPPOATM=m -CONFIG_PPPOE=m -CONFIG_PPPOL2TP=m -CONFIG_PPP_SYNC_TTY=m -CONFIG_PPS_CLIENT_GPIO=m -# CONFIG_PPS_CLIENT_KTIMER is not set -CONFIG_PPS_CLIENT_LDISC=m -CONFIG_PPS_CLIENT_PARPORT=m -# CONFIG_PPS_DEBUG is not set -CONFIG_PPS_GENERATOR_PARPORT=m -CONFIG_PPS=m -CONFIG_PPTP=m -# CONFIG_PREEMPT is not set -# CONFIG_PREEMPT_NONE is not set -CONFIG_PREEMPT_VOLUNTARY=y -CONFIG_PREVENT_FIRMWARE_BUILD=y -CONFIG_PRINTER=m -CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=12 -CONFIG_PRINTK_TIME=y -# CONFIG_PRINT_QUOTA_WARNING is not set -CONFIG_PRINT_STACK_DEPTH=64 -# CONFIG_PRISM2_USB is not set -# CONFIG_PRISM54 is not set -CONFIG_PROC_CHILDREN=y -CONFIG_PROC_EVENTS=y -CONFIG_PROC_FS=y -CONFIG_PROC_KCORE=y -CONFIG_PROC_PID_CPUSET=y -CONFIG_PROC_VMCORE=y -CONFIG_PROFILING=y -# CONFIG_PROVE_LOCKING is not set -# CONFIG_PROVE_RCU_REPEATEDLY is not set -# CONFIG_PS3_VRAM is not set -CONFIG_PSAMPLE=m -CONFIG_PSERIES_CPUIDLE=y -CONFIG_PSERIES_ENERGY=m -# CONFIG_PSTORE_CONSOLE is not set -# CONFIG_PSTORE_FTRACE is not set -# CONFIG_PSTORE_PMSG is not set -CONFIG_PSTORE_RAM=m -CONFIG_PSTORE=y -CONFIG_PTP_1588_CLOCK=m -CONFIG_PTP_1588_CLOCK_PCH=m -# CONFIG_PWM_FSL_FTM is not set -CONFIG_PWM_HIBVT=m -# CONFIG_PWM_PCA9685 is not set -CONFIG_PWM=y -CONFIG_PWRSEQ_EMMC=m -CONFIG_PWRSEQ_SD8787=m -CONFIG_PWRSEQ_SIMPLE=m -# CONFIG_QCA7000 is not set -# CONFIG_QCA7000_SPI is not set -# CONFIG_QCA7000_UART is not set -# CONFIG_QCOM_EMAC is not set -# CONFIG_QCOM_HIDMA is not set -# CONFIG_QCOM_HIDMA_MGMT is not set -CONFIG_QEDE=m -CONFIG_QEDF=m -CONFIG_QEDI=m -CONFIG_QED=m -CONFIG_QED_SRIOV=y -# CONFIG_QFMT_V1 is not set -CONFIG_QFMT_V2=y -CONFIG_QLA3XXX=m -CONFIG_QLCNIC_DCB=y -CONFIG_QLCNIC_HWMON=y -CONFIG_QLCNIC=m -CONFIG_QLCNIC_SRIOV=y -CONFIG_QLGE=m -# CONFIG_QNX4FS_FS is not set -# CONFIG_QNX6FS_FS is not set -CONFIG_QSEMI_PHY=m -CONFIG_QTNFMAC_PEARL_PCIE=m -CONFIG_QUOTACTL=y -# CONFIG_QUOTA_DEBUG is not set -CONFIG_QUOTA_NETLINK_INTERFACE=y -CONFIG_QUOTA=y -CONFIG_R3964=m -CONFIG_R6040=m -CONFIG_R8169=m -# CONFIG_R8188EU is not set -CONFIG_R8712U=m -CONFIG_R8723AU=m # Jes Sorensen maintains this (rhbz 1100162) -CONFIG_RADIO_ADAPTERS=y -CONFIG_RADIO_AZTECH=m -CONFIG_RADIO_CADET=m -CONFIG_RADIO_GEMTEK=m -CONFIG_RADIO_MAXIRADIO=m -# CONFIG_RADIO_MIROPCM20 is not set -CONFIG_RADIO_RTRACK2=m -CONFIG_RADIO_RTRACK=m -CONFIG_RADIO_SAA7706H=m -CONFIG_RADIO_SF16FMI=m -CONFIG_RADIO_SF16FMR2=m -CONFIG_RADIO_SHARK2=m -CONFIG_RADIO_SHARK=m -CONFIG_RADIO_SI470X=y -CONFIG_RADIO_SI4713=m -CONFIG_RADIO_TEA5764=m -# CONFIG_RADIO_TEF6862 is not set -CONFIG_RADIO_TERRATEC=m -CONFIG_RADIO_TRUST=m -CONFIG_RADIO_TYPHOON=m -CONFIG_RADIO_WL1273=m -CONFIG_RADIO_ZOLTRIX=m -CONFIG_RAID_ATTRS=m -# CONFIG_RANDOM32_SELFTEST is not set -# CONFIG_RAPIDIO is not set -CONFIG_RAS_CEC=y -CONFIG_RAW_DRIVER=y -# CONFIG_RBTREE_TEST is not set -CONFIG_RC_ATI_REMOTE=m -CONFIG_RC_CORE=m -CONFIG_RC_DECODERS=y -CONFIG_RC_DEVICES=y -CONFIG_RC_LOOPBACK=m -CONFIG_RC_MAP=m -CONFIG_RCU_CPU_STALL_TIMEOUT=60 -# CONFIG_RCU_EQS_DEBUG is not set -# CONFIG_RCU_EXPERT is not set -CONFIG_RCU_FANOUT=64 -CONFIG_RCU_FANOUT_LEAF=16 -CONFIG_RCU_FAST_NO_HZ=y -CONFIG_RCU_KTHREAD_PRIO=0 -CONFIG_RCU_NOCB_CPU_ALL=y -CONFIG_RCU_NOCB_CPU=y -# CONFIG_RCU_PERF_TEST is not set -CONFIG_RCU_TORTURE_TEST=m -# CONFIG_RCU_TORTURE_TEST_SLOW_CLEANUP is not set -CONFIG_RCU_TORTURE_TEST_SLOW_INIT_DELAY=3 -# CONFIG_RCU_TORTURE_TEST_SLOW_INIT is not set -# CONFIG_RCU_TORTURE_TEST_SLOW_PREINIT is not set -# CONFIG_RCU_TRACE is not set -CONFIG_RD_BZIP2=y -CONFIG_RD_GZIP=y -CONFIG_RD_LZ4=y -CONFIG_RD_LZMA=y -CONFIG_RD_LZO=y -CONFIG_RDMA_RXE=m -# CONFIG_RDS_DEBUG is not set -CONFIG_RDS=m -CONFIG_RDS_RDMA=m -CONFIG_RDS_TCP=m -CONFIG_RD_XZ=y -# CONFIG_READABLE_ASM is not set -CONFIG_REALTEK_AUTOPM=y -CONFIG_REALTEK_PHY=m -# CONFIG_REFCOUNT_FULL is not set -CONFIG_REGMAP_I2C=m -CONFIG_REGMAP=y -# CONFIG_REGULATOR_DEBUG is not set -# CONFIG_REGULATOR is not set -# CONFIG_REGULATOR_TPS65132 is not set -CONFIG_REGULATOR_VCTRL=m -# CONFIG_REISERFS_CHECK is not set -CONFIG_REISERFS_FS=m -CONFIG_REISERFS_FS_POSIX_ACL=y -CONFIG_REISERFS_FS_SECURITY=y -CONFIG_REISERFS_FS_XATTR=y -CONFIG_REISERFS_PROC_INFO=y -CONFIG_RELAY=y -# CONFIG_RELOCATABLE_TEST is not set -CONFIG_RELOCATABLE=y -CONFIG_REMOTEPROC=m -# CONFIG_RESET_TI_SYSCON is not set -# CONFIG_RFD_FTL is not set -CONFIG_RFKILL_GPIO=m -CONFIG_RFKILL_INPUT=y -CONFIG_RFKILL=m -CONFIG_RING_BUFFER_BENCHMARK=m -# CONFIG_RING_BUFFER_STARTUP_TEST is not set -# CONFIG_RIO is not set -CONFIG_RMI4_CORE=m -CONFIG_RMI4_F03=y -CONFIG_RMI4_F11=y -CONFIG_RMI4_F12=y -CONFIG_RMI4_F30=y -CONFIG_RMI4_F34=y -# CONFIG_RMI4_F54 is not set -CONFIG_RMI4_F55=y -CONFIG_RMI4_I2C=m -CONFIG_RMI4_SMB=m -CONFIG_RMI4_SPI=m -CONFIG_ROCKER=m -CONFIG_ROCKETPORT=m -CONFIG_ROMFS_FS=m -CONFIG_ROSE=m -CONFIG_RPCSEC_GSS_KRB5=m -# CONFIG_RPMSG_CHAR is not set -# CONFIG_RPMSG_QCOM_GLINK_RPM is not set -CONFIG_RPR0521=m -CONFIG_RSI_91X=m -CONFIG_RSI_DEBUGFS=y -CONFIG_RSI_SDIO=m -CONFIG_RSI_USB=m -CONFIG_RT2400PCI=m -CONFIG_RT2500PCI=m -CONFIG_RT2500USB=m -CONFIG_RT2800PCI=m -CONFIG_RT2800PCI_RT3290=y -CONFIG_RT2800PCI_RT33XX=y -CONFIG_RT2800PCI_RT35XX=y -CONFIG_RT2800PCI_RT53XX=y -CONFIG_RT2800USB=m -CONFIG_RT2800USB_RT33XX=y -CONFIG_RT2800USB_RT3573=y -CONFIG_RT2800USB_RT35XX=y -CONFIG_RT2800USB_RT53XX=y -CONFIG_RT2800USB_RT55XX=y -CONFIG_RT2800USB_UNKNOWN=y -# CONFIG_RT2X00_DEBUG is not set -CONFIG_RT2X00_LIB_DEBUGFS=y -CONFIG_RT2X00=m -CONFIG_RT61PCI=m -CONFIG_RT73USB=m -CONFIG_RTAS_FLASH=y -CONFIG_RTAS_PROC=y -CONFIG_RTC_CLASS=y -# CONFIG_RTC_DEBUG is not set -# CONFIG_RTC_DRV_AB3100 is not set -# CONFIG_RTC_DRV_ABB5ZES3 is not set -CONFIG_RTC_DRV_ABX80X=m -CONFIG_RTC_DRV_BQ32K=m -CONFIG_RTC_DRV_BQ4802=m -CONFIG_RTC_DRV_CMOS=y -CONFIG_RTC_DRV_DS1286=m -# CONFIG_RTC_DRV_DS1302 is not set -CONFIG_RTC_DRV_DS1305=m -# CONFIG_RTC_DRV_DS1307_CENTURY is not set -CONFIG_RTC_DRV_DS1307_HWMON=y -CONFIG_RTC_DRV_DS1307=m -CONFIG_RTC_DRV_DS1343=m -CONFIG_RTC_DRV_DS1347=m -CONFIG_RTC_DRV_DS1374=m -CONFIG_RTC_DRV_DS1374_WDT=y -CONFIG_RTC_DRV_DS1390=m -CONFIG_RTC_DRV_DS1511=m -CONFIG_RTC_DRV_DS1553=m -CONFIG_RTC_DRV_DS1672=m -CONFIG_RTC_DRV_DS1685_FAMILY=m -CONFIG_RTC_DRV_DS1742=m -CONFIG_RTC_DRV_DS2404=m -# CONFIG_RTC_DRV_DS3232_HWMON is not set -CONFIG_RTC_DRV_DS3232=m -# CONFIG_RTC_DRV_EFI is not set -CONFIG_RTC_DRV_EM3027=m -# CONFIG_RTC_DRV_EP93XX is not set -CONFIG_RTC_DRV_FM3130=m -# CONFIG_RTC_DRV_FTRTC010 is not set -CONFIG_RTC_DRV_GENERIC=y -# CONFIG_RTC_DRV_HID_SENSOR_TIME is not set -# CONFIG_RTC_DRV_HYM8563 is not set -CONFIG_RTC_DRV_ISL12022=m -# CONFIG_RTC_DRV_ISL12057 is not set -CONFIG_RTC_DRV_ISL1208=m -CONFIG_RTC_DRV_M41T80=m -CONFIG_RTC_DRV_M41T80_WDT=y -CONFIG_RTC_DRV_M41T93=m -CONFIG_RTC_DRV_M41T94=m -CONFIG_RTC_DRV_M48T35=m -CONFIG_RTC_DRV_M48T59=m -# CONFIG_RTC_DRV_M48T86 is not set -CONFIG_RTC_DRV_MAX6900=m -CONFIG_RTC_DRV_MAX6902=m -CONFIG_RTC_DRV_MAX6916=m -CONFIG_RTC_DRV_MCP795=m -# CONFIG_RTC_DRV_MOXART is not set -CONFIG_RTC_DRV_MSM6242=m -CONFIG_RTC_DRV_OPAL=m -CONFIG_RTC_DRV_PCF2123=m -CONFIG_RTC_DRV_PCF2127=m -CONFIG_RTC_DRV_PCF50633=m -CONFIG_RTC_DRV_PCF85063=m -CONFIG_RTC_DRV_PCF8523=m -CONFIG_RTC_DRV_PCF8563=m -CONFIG_RTC_DRV_PCF8583=m -CONFIG_RTC_DRV_PM8XXX=m -CONFIG_RTC_DRV_R7301=m -CONFIG_RTC_DRV_R9701=m -CONFIG_RTC_DRV_RP5C01=m -CONFIG_RTC_DRV_RS5C348=m -CONFIG_RTC_DRV_RS5C372=m -CONFIG_RTC_DRV_RV3029C2=m -CONFIG_RTC_DRV_RV3029_HWMON=y -# CONFIG_RTC_DRV_RV8803 is not set -CONFIG_RTC_DRV_RX4581=m -# CONFIG_RTC_DRV_RX6110 is not set -CONFIG_RTC_DRV_RX8010=m -CONFIG_RTC_DRV_RX8025=m -CONFIG_RTC_DRV_RX8581=m -# CONFIG_RTC_DRV_S35390A is not set -# CONFIG_RTC_DRV_SA1100 is not set -# CONFIG_RTC_DRV_SNVS is not set -CONFIG_RTC_DRV_STK17TA8=m -# CONFIG_RTC_DRV_TEST is not set -CONFIG_RTC_DRV_V3020=m -CONFIG_RTC_DRV_WM831X=m -CONFIG_RTC_DRV_WM8350=m -CONFIG_RTC_DRV_X1205=m -# CONFIG_RTC_DRV_ZYNQMP is not set -# CONFIG_RTC_DS1685_PROC_REGS is not set -CONFIG_RTC_DS1685_SYSFS_REGS=y -CONFIG_RTC_HCTOSYS_DEVICE="rtc0" -CONFIG_RTC_HCTOSYS=y -# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set -CONFIG_RTC_INTF_DEV=y -CONFIG_RTC_INTF_PROC=y -CONFIG_RTC_INTF_SYSFS=y -# CONFIG_RTC is not set -# CONFIG_RTC_NVMEM is not set -# CONFIG_RTC_SYSTOHC is not set -# CONFIG_RT_GROUP_SCHED is not set -CONFIG_RTL8180=m -CONFIG_RTL8187=m -CONFIG_RTL8188EE=m -CONFIG_RTL8192CE=m -CONFIG_RTL8192CU=m -CONFIG_RTL8192DE=m -CONFIG_RTL8192EE=m -CONFIG_RTL8192E=m -CONFIG_RTL8192SE=m -# CONFIG_RTL8192U is not set -CONFIG_RTL8723AE=m -CONFIG_RTL8723BE=m -CONFIG_RTL8723BS=m -CONFIG_RTL8821AE=m -CONFIG_RTL8XXXU=m -CONFIG_RTL8XXXU_UNTESTED=y -CONFIG_RTL_CARDS=m -CONFIG_RTLLIB_CRYPTO_CCMP=m -CONFIG_RTLLIB_CRYPTO_TKIP=m -CONFIG_RTLLIB_CRYPTO_WEP=m -CONFIG_RTLLIB=m -# CONFIG_RTLWIFI_DEBUG is not set -CONFIG_RTLWIFI=m -# CONFIG_RTS5208 is not set -CONFIG_S2IO=m -# CONFIG_SAMPLES is not set -# CONFIG_SAMSUNG_USBPHY is not set -CONFIG_SATA_ACARD_AHCI=m -CONFIG_SATA_AHCI_PLATFORM=m -CONFIG_SATA_AHCI=y -# CONFIG_SATA_DWC is not set -# CONFIG_SATA_HIGHBANK is not set -CONFIG_SATA_INIC162X=m -CONFIG_SATA_MV=m -CONFIG_SATA_NV=m -CONFIG_SATA_PMP=y -CONFIG_SATA_PROMISE=m -CONFIG_SATA_QSTOR=m -CONFIG_SATA_SIL24=m -CONFIG_SATA_SIL=m -CONFIG_SATA_SIS=m -CONFIG_SATA_SVW=m -CONFIG_SATA_SX4=m -CONFIG_SATA_ULI=m -CONFIG_SATA_VIA=m -CONFIG_SATA_VITESSE=m -# CONFIG_SATA_ZPODD is not set -# CONFIG_SBC7240_WDT is not set -# CONFIG_SBC8360_WDT is not set -# CONFIG_SBC_EPX_C3_WATCHDOG is not set -CONFIG_SBP_TARGET=m -# CONFIG_SC1200_WDT is not set -# CONFIG_SC520_WDT is not set -CONFIG_SC92031=m -# CONFIG_SCA3000 is not set -CONFIG_SCANLOG=y -CONFIG_SCHED_AUTOGROUP=y -CONFIG_SCHED_DEBUG=y -# CONFIG_SCHED_MC_PRIO is not set -CONFIG_SCHED_OMIT_FRAME_POINTER=y -CONFIG_SCHED_SMT=y -# CONFIG_SCHED_STACK_END_CHECK is not set -CONFIG_SCHEDSTATS=y -CONFIG_SCHED_TRACER=y -CONFIG_SCOM_DEBUGFS=y -# CONFIG_SCR24X is not set -CONFIG_SCSI_3W_9XXX=m -CONFIG_SCSI_3W_SAS=m -CONFIG_SCSI_AACRAID=m -CONFIG_SCSI_ACARD=m -# CONFIG_SCSI_ADVANSYS is not set -# CONFIG_SCSI_AHA1542 is not set -CONFIG_SCSI_AIC79XX=m -CONFIG_SCSI_AIC7XXX=m -# CONFIG_SCSI_AIC94XX is not set -CONFIG_SCSI_AM53C974=m -CONFIG_SCSI_ARCMSR=m -CONFIG_SCSI_BFA_FC=m -CONFIG_SCSI_BNX2_ISCSI=m -CONFIG_SCSI_BNX2X_FCOE=m -# CONFIG_SCSI_BUSLOGIC is not set -CONFIG_SCSI_CHELSIO_FCOE=m -CONFIG_SCSI_CONSTANTS=y -CONFIG_SCSI_CXGB3_ISCSI=m -CONFIG_SCSI_CXGB4_ISCSI=m -CONFIG_SCSI_DC395x=m -CONFIG_SCSI_DEBUG=m -CONFIG_SCSI_DH_ALUA=m -CONFIG_SCSI_DH_EMC=m -CONFIG_SCSI_DH_HP_SW=m -CONFIG_SCSI_DH_RDAC=m -CONFIG_SCSI_DH=y -CONFIG_SCSI_DMX3191D=m -# CONFIG_SCSI_DPT_I2O is not set -# CONFIG_SCSI_EATA is not set -# CONFIG_SCSI_EATA_PIO is not set -CONFIG_SCSI_ENCLOSURE=m -CONFIG_SCSI_ESAS2R=m -CONFIG_SCSI_FC_ATTRS=m -CONFIG_SCSI_FLASHPOINT=y -# CONFIG_SCSI_FUTURE_DOMAIN is not set -CONFIG_SCSI_GDTH=m -# CONFIG_SCSI_HISI_SAS is not set -CONFIG_SCSI_HPSA=m -CONFIG_SCSI_HPTIOP=m -CONFIG_SCSI_IBMVFC=m -# CONFIG_SCSI_IBMVFC_TRACE is not set -CONFIG_SCSI_IBMVSCSI=m -CONFIG_SCSI_IBMVSCSIS=m -# CONFIG_SCSI_IMM is not set -# CONFIG_SCSI_IN2000 is not set -CONFIG_SCSI_INIA100=m -CONFIG_SCSI_INITIO=m -CONFIG_SCSI_IPR_DUMP=y -CONFIG_SCSI_IPR=m -CONFIG_SCSI_IPR_TRACE=y -# CONFIG_SCSI_IPS is not set -CONFIG_SCSI_ISCI=m -CONFIG_SCSI_ISCSI_ATTRS=m -# CONFIG_SCSI_IZIP_EPP16 is not set -# CONFIG_SCSI_IZIP_SLOW_CTR is not set -CONFIG_SCSI_LOGGING=y -# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set -CONFIG_SCSI_LOWLEVEL=y -# CONFIG_SCSI_LPFC_DEBUG_FS is not set -CONFIG_SCSI_LPFC=m -CONFIG_SCSI_MPT2SAS=m -CONFIG_SCSI_MPT2SAS_MAX_SGE=128 -CONFIG_SCSI_MPT3SAS=m -CONFIG_SCSI_MPT3SAS_MAX_SGE=128 -# CONFIG_SCSI_MQ_DEFAULT is not set -# CONFIG_SCSI_MVSAS_DEBUG is not set -CONFIG_SCSI_MVSAS=m -CONFIG_SCSI_MVSAS_TASKLET=y -CONFIG_SCSI_MVUMI=m -# CONFIG_SCSI_NSP32 is not set -# CONFIG_SCSI_OSD_DEBUG is not set -CONFIG_SCSI_OSD_DPRINT_SENSE=1 -CONFIG_SCSI_OSD_INITIATOR=m -CONFIG_SCSI_OSD_ULD=m -CONFIG_SCSI_PM8001=m -CONFIG_SCSI_PMCRAID=m -# CONFIG_SCSI_PPA is not set -CONFIG_SCSI_PROC_FS=y -CONFIG_SCSI_QLA_FC=m -CONFIG_SCSI_QLA_ISCSI=m -CONFIG_SCSI_QLOGIC_1280=m -CONFIG_SCSI_SAS_ATA=y -CONFIG_SCSI_SAS_ATTRS=m -CONFIG_SCSI_SAS_HOST_SMP=y -CONFIG_SCSI_SAS_LIBSAS=m -CONFIG_SCSI_SCAN_ASYNC=y -CONFIG_SCSI_SMARTPQI=m -# CONFIG_SCSI_SNIC_DEBUG_FS is not set -CONFIG_SCSI_SNIC=m -CONFIG_SCSI_SPI_ATTRS=m -CONFIG_SCSI_SRP_ATTRS=m -CONFIG_SCSI_SRP=m -CONFIG_SCSI_STEX=m -CONFIG_SCSI_SYM53C8XX_2=m -CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16 -CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1 -CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64 -CONFIG_SCSI_SYM53C8XX_MMIO=y -# CONFIG_SCSI_UFS_DWC_TC_PCI is not set -CONFIG_SCSI_UFSHCD=m -CONFIG_SCSI_UFSHCD_PCI=m -# CONFIG_SCSI_UFSHCD_PLATFORM is not set -CONFIG_SCSI_VIRTIO=m -CONFIG_SCSI_WD719X=m -CONFIG_SCSI=y -CONFIG_SCTP_COOKIE_HMAC_MD5=y -CONFIG_SCTP_COOKIE_HMAC_SHA1=y -# CONFIG_SCTP_DBG_OBJCNT is not set -# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5 is not set -# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set -CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=y -CONFIG_SDIO_UART=m -CONFIG_SECCOMP=y -CONFIG_SECONDARY_TRUSTED_KEYRING=y -CONFIG_SECTION_MISMATCH_WARN_ONLY=y -# CONFIG_SECURITY_APPARMOR is not set -# CONFIG_SECURITY_DMESG_RESTRICT is not set -CONFIG_SECURITYFS=y -CONFIG_SECURITY_INFINIBAND=y -# CONFIG_SECURITY_LOADPIN is not set -CONFIG_SECURITY_NETWORK_XFRM=y -CONFIG_SECURITY_NETWORK=y -# CONFIG_SECURITY_PATH is not set -CONFIG_SECURITY_SELINUX_AVC_STATS=y -CONFIG_SECURITY_SELINUX_BOOTPARAM_VALUE=1 -CONFIG_SECURITY_SELINUX_BOOTPARAM=y -CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1 -CONFIG_SECURITY_SELINUX_DEVELOP=y -CONFIG_SECURITY_SELINUX_DISABLE=y -# CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAX is not set -CONFIG_SECURITY_SELINUX=y -# CONFIG_SECURITY_SMACK is not set -# CONFIG_SECURITY_TOMOYO is not set -CONFIG_SECURITY=y -CONFIG_SECURITY_YAMA=y -CONFIG_SENSORS_AD7314=m -CONFIG_SENSORS_AD7414=m -CONFIG_SENSORS_AD7418=m -CONFIG_SENSORS_ADC128D818=m -CONFIG_SENSORS_ADCXX=m -CONFIG_SENSORS_ADM1021=m -CONFIG_SENSORS_ADM1025=m -CONFIG_SENSORS_ADM1026=m -CONFIG_SENSORS_ADM1029=m -CONFIG_SENSORS_ADM1031=m -CONFIG_SENSORS_ADM1275=m -CONFIG_SENSORS_ADM9240=m -# CONFIG_SENSORS_ADS1015 is not set -CONFIG_SENSORS_ADS7828=m -CONFIG_SENSORS_ADS7871=m -CONFIG_SENSORS_ADT7310=m -CONFIG_SENSORS_ADT7410=m -CONFIG_SENSORS_ADT7411=m -CONFIG_SENSORS_ADT7462=m -CONFIG_SENSORS_ADT7470=m -CONFIG_SENSORS_ADT7475=m -CONFIG_SENSORS_AMC6821=m -CONFIG_SENSORS_APDS990X=m -CONFIG_SENSORS_ASC7621=m -CONFIG_SENSORS_ASPEED=m -CONFIG_SENSORS_ATXP1=m -CONFIG_SENSORS_BH1770=m -CONFIG_SENSORS_DME1737=m -CONFIG_SENSORS_DS1621=m -CONFIG_SENSORS_DS620=m -CONFIG_SENSORS_EMC1403=m -# CONFIG_SENSORS_EMC2103 is not set -CONFIG_SENSORS_EMC6W201=m -CONFIG_SENSORS_F71805F=m -CONFIG_SENSORS_F71882FG=m -CONFIG_SENSORS_F75375S=m -CONFIG_SENSORS_FTSTEUTATES=m -CONFIG_SENSORS_G760A=m -CONFIG_SENSORS_G762=m -CONFIG_SENSORS_GL518SM=m -CONFIG_SENSORS_GL520SM=m -# CONFIG_SENSORS_GPIO_FAN is not set -CONFIG_SENSORS_HDAPS=m -# CONFIG_SENSORS_HIH6130 is not set -# CONFIG_SENSORS_HMC5843_I2C is not set -# CONFIG_SENSORS_HMC5843 is not set -# CONFIG_SENSORS_HMC5843_SPI is not set -# CONFIG_SENSORS_I5K_AMB is not set -CONFIG_SENSORS_IBMAEM=m -CONFIG_SENSORS_IBMPEX=m -CONFIG_SENSORS_IBMPOWERNV=y -# CONFIG_SENSORS_IIO_HWMON is not set -CONFIG_SENSORS_INA209=m -CONFIG_SENSORS_INA2XX=m -CONFIG_SENSORS_INA3221=m -# CONFIG_SENSORS_IR35221 is not set -# CONFIG_SENSORS_ISL29018 is not set -# CONFIG_SENSORS_ISL29028 is not set -CONFIG_SENSORS_IT87=m -CONFIG_SENSORS_JC42=m -CONFIG_SENSORS_LINEAGE=m -CONFIG_SENSORS_LIS3_I2C=m -CONFIG_SENSORS_LIS3LV02D=m -# CONFIG_SENSORS_LIS3_SPI is not set -CONFIG_SENSORS_LM25066=m -CONFIG_SENSORS_LM63=m -CONFIG_SENSORS_LM70=m -CONFIG_SENSORS_LM73=m -CONFIG_SENSORS_LM75=m -CONFIG_SENSORS_LM77=m -CONFIG_SENSORS_LM78=m -CONFIG_SENSORS_LM80=m -CONFIG_SENSORS_LM83=m -CONFIG_SENSORS_LM85=m -CONFIG_SENSORS_LM87=m -CONFIG_SENSORS_LM90=m -CONFIG_SENSORS_LM92=m -CONFIG_SENSORS_LM93=m -CONFIG_SENSORS_LM95234=m -CONFIG_SENSORS_LM95241=m -CONFIG_SENSORS_LM95245=m -CONFIG_SENSORS_LTC2945=m -CONFIG_SENSORS_LTC2978=m -CONFIG_SENSORS_LTC2990=m -CONFIG_SENSORS_LTC3815=m -CONFIG_SENSORS_LTC4151=m -CONFIG_SENSORS_LTC4215=m -CONFIG_SENSORS_LTC4222=m -CONFIG_SENSORS_LTC4245=m -CONFIG_SENSORS_LTC4260=m -CONFIG_SENSORS_LTC4261=m -CONFIG_SENSORS_MAX1111=m -CONFIG_SENSORS_MAX16064=m -CONFIG_SENSORS_MAX16065=m -CONFIG_SENSORS_MAX1619=m -CONFIG_SENSORS_MAX1668=m -CONFIG_SENSORS_MAX197=m -CONFIG_SENSORS_MAX20751=m -CONFIG_SENSORS_MAX31722=m -CONFIG_SENSORS_MAX31790=m -CONFIG_SENSORS_MAX34440=m -CONFIG_SENSORS_MAX6639=m -CONFIG_SENSORS_MAX6642=m -CONFIG_SENSORS_MAX6650=m -CONFIG_SENSORS_MAX6697=m -CONFIG_SENSORS_MAX8688=m -CONFIG_SENSORS_MCP3021=m -CONFIG_SENSORS_NCT6683=m -CONFIG_SENSORS_NCT6775=m -CONFIG_SENSORS_NCT7802=m -CONFIG_SENSORS_NCT7904=m -CONFIG_SENSORS_NTC_THERMISTOR=m -CONFIG_SENSORS_PC87360=m -CONFIG_SENSORS_PC87427=m -CONFIG_SENSORS_PCF8591=m -CONFIG_SENSORS_PMBUS=m -CONFIG_SENSORS_POWR1220=m -CONFIG_SENSORS_PWM_FAN=m -CONFIG_SENSORS_SCH5627=m -CONFIG_SENSORS_SCH5636=m -CONFIG_SENSORS_SHT15=m -CONFIG_SENSORS_SHT21=m -CONFIG_SENSORS_SHT3x=m -CONFIG_SENSORS_SHTC1=m -CONFIG_SENSORS_SIS5595=m -# CONFIG_SENSORS_SMM665 is not set -CONFIG_SENSORS_SMSC47B397=m -CONFIG_SENSORS_SMSC47M192=m -CONFIG_SENSORS_SMSC47M1=m -# CONFIG_SENSORS_STTS751 is not set -CONFIG_SENSORS_TC654=m -CONFIG_SENSORS_TC74=m -CONFIG_SENSORS_THMC50=m -CONFIG_SENSORS_TMP102=m -CONFIG_SENSORS_TMP103=m -CONFIG_SENSORS_TMP108=m -CONFIG_SENSORS_TMP401=m -CONFIG_SENSORS_TMP421=m -CONFIG_SENSORS_TPS40422=m -CONFIG_SENSORS_TSL2550=m -# CONFIG_SENSORS_TSL2563 is not set -CONFIG_SENSORS_UCD9000=m -CONFIG_SENSORS_UCD9200=m -CONFIG_SENSORS_VIA686A=m -CONFIG_SENSORS_VT1211=m -CONFIG_SENSORS_VT8231=m -CONFIG_SENSORS_W83627EHF=m -CONFIG_SENSORS_W83627HF=m -CONFIG_SENSORS_W83781D=m -CONFIG_SENSORS_W83791D=m -CONFIG_SENSORS_W83792D=m -CONFIG_SENSORS_W83793=m -# CONFIG_SENSORS_W83795_FANCTRL is not set -CONFIG_SENSORS_W83795=m -CONFIG_SENSORS_W83L785TS=m -CONFIG_SENSORS_W83L786NG=m -CONFIG_SENSORS_WM831X=m -CONFIG_SENSORS_WM8350=m -# CONFIG_SENSORS_XGENE is not set -CONFIG_SENSORS_ZL6100=m -# CONFIG_SERIAL_8250_ASPEED_VUART is not set -CONFIG_SERIAL_8250_CONSOLE=y -CONFIG_SERIAL_8250_CS=m -# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set -# CONFIG_SERIAL_8250_DETECT_IRQ is not set -CONFIG_SERIAL_8250_DW=y -CONFIG_SERIAL_8250_EXAR=m -CONFIG_SERIAL_8250_EXTENDED=y -# CONFIG_SERIAL_8250_FINTEK is not set -# CONFIG_SERIAL_8250_INGENIC is not set -# CONFIG_SERIAL_8250 is not set -CONFIG_SERIAL_8250_MANY_PORTS=y -# CONFIG_SERIAL_8250_MID is not set -CONFIG_SERIAL_8250_MOXA=m -CONFIG_SERIAL_8250_NR_UARTS=32 -CONFIG_SERIAL_8250_PCI=y -CONFIG_SERIAL_8250_RSA=y -CONFIG_SERIAL_8250_RT288X=y -CONFIG_SERIAL_8250_RUNTIME_UARTS=32 -CONFIG_SERIAL_8250_SHARE_IRQ=y -# CONFIG_SERIAL_ALTERA_JTAGUART is not set -# CONFIG_SERIAL_ALTERA_UART is not set -CONFIG_SERIAL_ARC=m -CONFIG_SERIAL_ARC_NR_PORTS=1 -# CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set -CONFIG_SERIAL_CORE_CONSOLE=y -CONFIG_SERIAL_CORE=m -# CONFIG_SERIAL_CPM is not set -CONFIG_SERIAL_DEV_BUS=y -CONFIG_SERIAL_DEV_CTRL_TTYPORT=y -# CONFIG_SERIAL_FSL_LPUART is not set -CONFIG_SERIAL_ICOM=m -# CONFIG_SERIAL_IFX6X60 is not set -CONFIG_SERIAL_JSM=m -# CONFIG_SERIAL_KGDB_NMI is not set -# CONFIG_SERIAL_MAX3100 is not set -# CONFIG_SERIAL_MAX310X is not set -CONFIG_SERIAL_NONSTANDARD=y -CONFIG_SERIAL_OF_PLATFORM=m -# CONFIG_SERIAL_PCH_UART is not set -# CONFIG_SERIAL_QE is not set -# CONFIG_SERIAL_RP2 is not set -# CONFIG_SERIAL_SC16IS7XX is not set -# CONFIG_SERIAL_SCCNXP is not set -# CONFIG_SERIAL_ST_ASC is not set -# CONFIG_SERIAL_TIMBERDALE is not set -# CONFIG_SERIAL_UARTLITE is not set -# CONFIG_SERIAL_XILINX_PS_UART is not set -CONFIG_SERIO_ALTERA_PS2=m -# CONFIG_SERIO_APBPS2 is not set -CONFIG_SERIO_ARC_PS2=m -# CONFIG_SERIO_CT82C710 is not set -CONFIG_SERIO_I8042=y -CONFIG_SERIO_LIBPS2=y -# CONFIG_SERIO_OLPC_APSP is not set -# CONFIG_SERIO_PARKBD is not set -# CONFIG_SERIO_PCIPS2 is not set -# CONFIG_SERIO_PS2MULT is not set -CONFIG_SERIO_RAW=m -CONFIG_SERIO_SERPORT=y -# CONFIG_SERIO_XILINX_XPS_PS2 is not set -CONFIG_SERIO=y -CONFIG_SFC_FALCON=m -CONFIG_SFC_FALCON_MTD=y -# CONFIG_SFC is not set -# CONFIG_SGI_IOC4 is not set -CONFIG_SGI_PARTITION=y -CONFIG_SH_ETH=m -# CONFIG_SI1145 is not set -# CONFIG_SI7005 is not set -# CONFIG_SI7020 is not set -# CONFIG_SIGMA is not set -CONFIG_SIGMATEL_FIR=m -CONFIG_SIGNED_PE_FILE_VERIFICATION=y -CONFIG_SIMPLE_GPIO=y -# CONFIG_SIMPLE_PM_BUS is not set -CONFIG_SIS190=m -CONFIG_SIS900=m -# CONFIG_SKFP is not set -# CONFIG_SKGE_DEBUG is not set -CONFIG_SKGE_GENESIS=y -CONFIG_SKGE=m -# CONFIG_SKY2_DEBUG is not set -CONFIG_SKY2=m -CONFIG_SLAB_FREELIST_RANDOM=y -CONFIG_SLAB_MERGE_DEFAULT=y -# CONFIG_SLICOSS is not set -CONFIG_SLIP_COMPRESSED=y -CONFIG_SLIP=m -# CONFIG_SLIP_MODE_SLIP6 is not set -CONFIG_SLIP_SMART=y -CONFIG_SLUB_CPU_PARTIAL=y -# CONFIG_SLUB_DEBUG_ON is not set -# CONFIG_SLUB_STATS is not set -CONFIG_SLUB=y -CONFIG_SMARTJOYPLUS_FF=y -CONFIG_SMC_IRCC_FIR=m -# CONFIG_SMC is not set -# CONFIG_SM_FTL is not set -CONFIG_SMP=y -CONFIG_SMSC911X=m -CONFIG_SMSC9420=m -CONFIG_SMSC_PHY=m -CONFIG_SMSC_SCH311X_WDT=m -CONFIG_SMS_SDIO_DRV=m -# CONFIG_SMS_SIANO_DEBUGFS is not set -CONFIG_SMS_SIANO_MDTV=m -CONFIG_SMS_SIANO_RC=y -CONFIG_SMS_USB_DRV=m -CONFIG_SND_AC97_POWER_SAVE_DEFAULT=0 -CONFIG_SND_AC97_POWER_SAVE=y -CONFIG_SND_AD1889=m -CONFIG_SND_ALI5451=m -CONFIG_SND_ALOOP=m -CONFIG_SND_ALS300=m -CONFIG_SND_ALS4000=m -CONFIG_SND_ASIHPI=m -CONFIG_SND_ATIIXP=m -CONFIG_SND_ATIIXP_MODEM=m -# CONFIG_SND_ATMEL_SOC is not set -CONFIG_SND_AU8810=m -CONFIG_SND_AU8820=m -CONFIG_SND_AU8830=m -# CONFIG_SND_AUDIO_GRAPH_CARD is not set -# CONFIG_SND_AUDIO_GRAPH_SCU_CARD is not set -# CONFIG_SND_AW2 is not set -CONFIG_SND_AZT3328=m -# CONFIG_SND_BCD2000 is not set -CONFIG_SND_BEBOB=m -CONFIG_SND_BT87X=m -# CONFIG_SND_BT87X_OVERCLOCK is not set -CONFIG_SND_CA0106=m -CONFIG_SND_CMIPCI=m -CONFIG_SND_COMPRESS_OFFLOAD=m -CONFIG_SND_CS4281=m -CONFIG_SND_CS46XX=m -CONFIG_SND_CS46XX_NEW_DSP=y -CONFIG_SND_CS5530=m -CONFIG_SND_CS5535AUDIO=m -CONFIG_SND_CTXFI=m -CONFIG_SND_DARLA20=m -CONFIG_SND_DARLA24=m -# CONFIG_SND_DEBUG is not set -# CONFIG_SND_DEBUG_VERBOSE is not set -CONFIG_SND_DESIGNWARE_I2S=m -CONFIG_SND_DESIGNWARE_PCM=y -CONFIG_SND_DICE=m -CONFIG_SND_DMAENGINE_PCM=m -CONFIG_SND_DRIVERS=y -CONFIG_SND_DUMMY=m -CONFIG_SND_DYNAMIC_MINORS=y -CONFIG_SND_ECHO3G=m -# CONFIG_SND_EDMA_SOC is not set -CONFIG_SND_EMU10K1=m -CONFIG_SND_EMU10K1X=m -CONFIG_SND_ENS1370=m -CONFIG_SND_ENS1371=m -CONFIG_SND_ES1938=m -CONFIG_SND_ES1968_INPUT=y -CONFIG_SND_ES1968=m -CONFIG_SND_ES1968_RADIO=y -CONFIG_SND_FIREFACE=m -CONFIG_SND_FIREWIRE_DIGI00X=m -CONFIG_SND_FIREWIRE_MOTU=m -CONFIG_SND_FIREWIRE_TASCAM=m -CONFIG_SND_FIREWIRE=y -CONFIG_SND_FIREWORKS=m -CONFIG_SND_FM801=m -CONFIG_SND_FM801_TEA575X_BOOL=y -CONFIG_SND_GINA20=m -CONFIG_SND_GINA24=m -CONFIG_SND_HDA_CODEC_ANALOG=m -CONFIG_SND_HDA_CODEC_CA0110=m -CONFIG_SND_HDA_CODEC_CA0132_DSP=y -CONFIG_SND_HDA_CODEC_CA0132=m -CONFIG_SND_HDA_CODEC_CIRRUS=m -CONFIG_SND_HDA_CODEC_CMEDIA=m -CONFIG_SND_HDA_CODEC_CONEXANT=m -CONFIG_SND_HDA_CODEC_HDMI=m -CONFIG_SND_HDA_CODEC_REALTEK=m -CONFIG_SND_HDA_CODEC_SI3054=m -CONFIG_SND_HDA_CODEC_SIGMATEL=m -CONFIG_SND_HDA_CODEC_VIA=m -CONFIG_SND_HDA_GENERIC=m -CONFIG_SND_HDA_HWDEP=y -CONFIG_SND_HDA_I915=y -CONFIG_SND_HDA_INPUT_BEEP_MODE=0 -CONFIG_SND_HDA_INPUT_BEEP=y -# CONFIG_SND_HDA_INTEL is not set -CONFIG_SND_HDA_PATCH_LOADER=y -CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0 -CONFIG_SND_HDA_POWER_SAVE=y -CONFIG_SND_HDA_PREALLOC_SIZE=4096 -CONFIG_SND_HDA_RECONFIG=y -CONFIG_SND_HDSP=m -CONFIG_SND_HDSPM=m -CONFIG_SND_HRTIMER=m -CONFIG_SND_I2S_HI6210_I2S=m -CONFIG_SND_ICE1712=m -CONFIG_SND_ICE1724=m -CONFIG_SND_INDIGODJ=m -CONFIG_SND_INDIGODJX=m -CONFIG_SND_INDIGOIO=m -CONFIG_SND_INDIGOIOX=m -CONFIG_SND_INDIGO=m -# CONFIG_SND_INTEL8X0 is not set -# CONFIG_SND_INTEL8X0M is not set -CONFIG_SND_ISIGHT=m -CONFIG_SND_JACK=y -CONFIG_SND_KORG1212=m -CONFIG_SND_LAYLA20=m -CONFIG_SND_LAYLA24=m -CONFIG_SND_LOLA=m -CONFIG_SND_LX6464ES=m -CONFIG_SND=m -CONFIG_SND_MAESTRO3_INPUT=y -CONFIG_SND_MAESTRO3=m -CONFIG_SND_MAX_CARDS=32 -CONFIG_SND_MIA=m -CONFIG_SND_MIXART=m -CONFIG_SND_MIXER_OSS=m -CONFIG_SND_MONA=m -CONFIG_SND_MPU401=m -CONFIG_SND_MTPAV=m -CONFIG_SND_MTS64=m -CONFIG_SND_NM256=m -CONFIG_SND_OSSEMUL=y -CONFIG_SND_OXFW=m -CONFIG_SND_OXYGEN=m -CONFIG_SND_PCI=y -# CONFIG_SND_PCMCIA is not set -CONFIG_SND_PCM_OSS=m -CONFIG_SND_PCM_OSS_PLUGINS=y -CONFIG_SND_PCSP=m -CONFIG_SND_PCXHR=m -CONFIG_SND_PORTMAN2X4=m -CONFIG_SND_PPC=y -CONFIG_SND_RIPTIDE=m -CONFIG_SND_RME32=m -CONFIG_SND_RME9652=m -CONFIG_SND_RME96=m -CONFIG_SND_SEQ_DUMMY=m -CONFIG_SND_SEQ_HRTIMER_DEFAULT=y -CONFIG_SND_SEQUENCER=m -CONFIG_SND_SEQUENCER_OSS=m -CONFIG_SND_SERIAL_U16550=m -CONFIG_SND_SIMPLE_CARD=m -CONFIG_SND_SIMPLE_CARD_UTILS=m -CONFIG_SND_SIMPLE_SCU_CARD=m -CONFIG_SND_SIS7019=m -# CONFIG_SND_SOC_ADAU1701 is not set -CONFIG_SND_SOC_ADAU1761_I2C=m -CONFIG_SND_SOC_ADAU1761_SPI=m -# CONFIG_SND_SOC_ADAU7002 is not set -# CONFIG_SND_SOC_AK4104 is not set -# CONFIG_SND_SOC_AK4554 is not set -# CONFIG_SND_SOC_AK4613 is not set -# CONFIG_SND_SOC_AK4642 is not set -# CONFIG_SND_SOC_AK5386 is not set -# CONFIG_SND_SOC_ALC5623 is not set -CONFIG_SND_SOC_ALL_CODECS=m -CONFIG_SND_SOC_AMD_ACP=m -# CONFIG_SND_SOC_ARNDALE_RT5631_ALC5631 is not set -# CONFIG_SND_SOC_BT_SCO is not set -# CONFIG_SND_SOC_CS35L32 is not set -# CONFIG_SND_SOC_CS35L33 is not set -CONFIG_SND_SOC_CS35L34=m -CONFIG_SND_SOC_CS35L35=m -# 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_CS4271 is not set -# CONFIG_SND_SOC_CS4271_SPI is not set -CONFIG_SND_SOC_CS42L42=m -# 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_CS42XX8_I2C is not set -# CONFIG_SND_SOC_CS4349 is not set -# CONFIG_SND_SOC_CS53L30 is not set -CONFIG_SND_SOC_DIO2125=m -CONFIG_SND_SOC_DMIC=m -CONFIG_SND_SOC_ES7134=m -# CONFIG_SND_SOC_ES8316 is not set -# CONFIG_SND_SOC_ES8328 is not set -# CONFIG_SND_SOC_FSL_ASOC_CARD is not set -# CONFIG_SND_SOC_FSL_ASRC is not set -# CONFIG_SND_SOC_FSL_ESAI is not set -# CONFIG_SND_SOC_FSL_SAI is not set -# CONFIG_SND_SOC_FSL_SPDIF is not set -# CONFIG_SND_SOC_FSL_SSI is not set -CONFIG_SND_SOC_GENERIC_DMAENGINE_PCM=y -# CONFIG_SND_SOC_GTM601 is not set -CONFIG_SND_SOC_HDAC_HDMI=m -CONFIG_SND_SOC_HDMI_CODEC=m -# CONFIG_SND_SOC_IMG is not set -# CONFIG_SND_SOC_IMX_AUDMUX is not set -# CONFIG_SND_SOC_IMX_ES8328 is not set -# CONFIG_SND_SOC_INNO_RK3036 is not set -# CONFIG_SND_SOC is not set -# CONFIG_SND_SOC_MAX98504 is not set -# CONFIG_SND_SOC_MAX9860 is not set -CONFIG_SND_SOC_MAX98927=m -# CONFIG_SND_SOC_MSM8916_WCD_ANALOG is not set -# CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set -# CONFIG_SND_SOC_NAU8540 is not set -# CONFIG_SND_SOC_NAU8810 is not set -CONFIG_SND_SOC_NAU8824=m -# CONFIG_SND_SOC_PCM1681 is not set -# CONFIG_SND_SOC_PCM179X_I2C is not set -# CONFIG_SND_SOC_PCM179X is not set -# CONFIG_SND_SOC_PCM179X_SPI is not set -# CONFIG_SND_SOC_PCM3168A_I2C is not set -# CONFIG_SND_SOC_PCM3168A_SPI is not set -# CONFIG_SND_SOC_PCM512x_I2C is not set -# CONFIG_SND_SOC_PCM512x_SPI is not set -# CONFIG_SND_SOC_RT5616 is not set -# CONFIG_SND_SOC_RT5631 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_SSM2602_SPI 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 is not set -# CONFIG_SND_SOC_TAS2552 is not set -# CONFIG_SND_SOC_TAS5086 is not set -# CONFIG_SND_SOC_TAS571X is not set -# CONFIG_SND_SOC_TAS5720 is not set -# CONFIG_SND_SOC_TFA9879 is not set -# CONFIG_SND_SOC_TLV320AIC23_I2C is not set -# CONFIG_SND_SOC_TLV320AIC23_SPI is not set -# CONFIG_SND_SOC_TLV320AIC31XX is not set -# CONFIG_SND_SOC_TLV320AIC3X is not set -# CONFIG_SND_SOC_TPA6130A2 is not set -# CONFIG_SND_SOC_TS3A227E is not set -# 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_WM8770 is not set -# CONFIG_SND_SOC_WM8776 is not set -# CONFIG_SND_SOC_WM8804_I2C is not set -# CONFIG_SND_SOC_WM8804 is not set -# CONFIG_SND_SOC_WM8804_SPI is not set -# CONFIG_SND_SOC_WM8903 is not set -# CONFIG_SND_SOC_WM8960 is not set -# CONFIG_SND_SOC_WM8962 is not set -# CONFIG_SND_SOC_WM8974 is not set -# CONFIG_SND_SOC_WM8978 is not set -# CONFIG_SND_SOC_WM8985 is not set -# CONFIG_SND_SOC_XTFPGA_I2S is not set -# CONFIG_SND_SOC_ZX_AUD96P22 is not set -CONFIG_SND_SONICVIBES=m -# CONFIG_SND_SPI is not set -# CONFIG_SND_SUPPORT_OLD_API is not set -CONFIG_SND_TRIDENT=m -CONFIG_SND_USB_6FIRE=m -CONFIG_SND_USB_AUDIO=m -CONFIG_SND_USB_CAIAQ_INPUT=y -CONFIG_SND_USB_CAIAQ=m -CONFIG_SND_USB_HIFACE=m -CONFIG_SND_USB_PODHD=m -CONFIG_SND_USB_POD=m -CONFIG_SND_USB_TONEPORT=m -CONFIG_SND_USB_UA101=m -CONFIG_SND_USB_US122L=m -CONFIG_SND_USB_USX2Y=m -CONFIG_SND_USB_VARIAX=m -CONFIG_SND_USB=y -# CONFIG_SND_VERBOSE_PRINTK is not set -CONFIG_SND_VERBOSE_PROCFS=y -# CONFIG_SND_VIA82XX is not set -# CONFIG_SND_VIA82XX_MODEM is not set -CONFIG_SND_VIRMIDI=m -CONFIG_SND_VIRTUOSO=m -CONFIG_SND_VX222=m -CONFIG_SND_YMFPCI=m -# CONFIG_SOC_CAMERA is not set -# CONFIG_SOC_TI is not set -# CONFIG_SOC_ZTE is not set -CONFIG_SOFTLOCKUP_DETECTOR=y -CONFIG_SOFT_WATCHDOG=m -CONFIG_SOLARIS_X86_PARTITION=y -# CONFIG_SOLO6X10 is not set -CONFIG_SONY_FF=y -# CONFIG_SONYPI is not set -CONFIG_SOUND=m -CONFIG_SOUND_OSS_CORE_PRECLAIM=y -# CONFIG_SOUND_PRIME is not set -CONFIG_SPAPR_TCE_IOMMU=y -CONFIG_SPARSE_IRQ=y -CONFIG_SPARSEMEM_VMEMMAP=y -CONFIG_SPARSE_RCU_POINTER=y -# CONFIG_SPEAKUP is not set -# CONFIG_SPI_ALTERA is not set -# CONFIG_SPI_AXI_SPI_ENGINE is not set -# CONFIG_SPI_BITBANG is not set -# CONFIG_SPI_BUTTERFLY is not set -# CONFIG_SPI_DEBUG is not set -# CONFIG_SPI_DESIGNWARE is not set -CONFIG_SPI_FSL_LPSPI=m -# CONFIG_SPI_FSL_SPI is not set -# CONFIG_SPI_GPIO is not set -# CONFIG_SPI is not set -# CONFIG_SPI_LM70_LLP is not set -# CONFIG_SPI_LOOPBACK_TEST is not set -# CONFIG_SPI_OC_TINY is not set -# CONFIG_SPI_PXA2XX is not set -# CONFIG_SPI_ROCKCHIP is not set -# CONFIG_SPI_SC18IS602 is not set -# CONFIG_SPI_SLAVE is not set -# CONFIG_SPI_SPIDEV is not set -# CONFIG_SPI_TLE62X0 is not set -# CONFIG_SPI_TOPCLIFF_PCH is not set -# CONFIG_SPI_XCOMM is not set -# CONFIG_SPI_XILINX is not set -# CONFIG_SPMI is not set -# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set -# CONFIG_SQUASHFS_EMBEDDED is not set -CONFIG_SQUASHFS_LZ4=y -CONFIG_SQUASHFS_LZO=y -CONFIG_SQUASHFS=m -CONFIG_SQUASHFS_XATTR=y -CONFIG_SQUASHFS_XZ=y -CONFIG_SQUASHFS_ZLIB=y -# CONFIG_SRAM is not set -# CONFIG_SRF04 is not set -# CONFIG_SRF08 is not set -# CONFIG_SSB_DEBUG is not set -CONFIG_SSB_DRIVER_GPIO=y -CONFIG_SSB_DRIVER_PCICORE=y -CONFIG_SSB_HOST_SOC=y -CONFIG_SSB=m -CONFIG_SSB_PCIHOST=y -CONFIG_SSB_PCMCIAHOST=y -CONFIG_SSB_SDIOHOST=y -# CONFIG_SSB_SILENT is not set -# CONFIG_SSFDC is not set -CONFIG_STACK_TRACER=y -CONFIG_STACK_VALIDATION=y -# CONFIG_STAGING_BOARD is not set -CONFIG_STAGING_MEDIA=y -CONFIG_STAGING=y -CONFIG_STANDALONE=y -# CONFIG_STATIC_KEYS_SELFTEST is not set -# CONFIG_STATIC_USERMODEHELPER is not set -CONFIG_STE10XP=m -# CONFIG_STE_MODEM_RPROC is not set -CONFIG_STK3310=m -# CONFIG_STK8312 is not set -# CONFIG_STK8BA50 is not set -# CONFIG_STM_DUMMY is not set -# CONFIG_STM is not set -CONFIG_STMMAC_ETH=m -# CONFIG_STMMAC_PCI is not set -# CONFIG_STMMAC_PLATFORM is not set -# CONFIG_STM_SOURCE_CONSOLE is not set -CONFIG_STRICT_DEVMEM=y -CONFIG_STRIP_ASM_SYMS=y -# CONFIG_STRIP is not set -CONFIG_SUNDANCE=m -# CONFIG_SUNDANCE_MMIO is not set -CONFIG_SUNGEM=m -CONFIG_SUN_PARTITION=y -CONFIG_SUNRPC_DEBUG=y -CONFIG_SUNRPC_GSS=m -CONFIG_SUNRPC=m -CONFIG_SUNRPC_XPRT_RDMA=m -CONFIG_SURFACE_3_BUTTON=m -CONFIG_SURFACE3_WMI=m -CONFIG_SUSPEND_FREEZER=y -CONFIG_SUSPEND=y -CONFIG_SWAP=y -# CONFIG_SWIOTLB is not set -# CONFIG_SW_SYNC is not set -# CONFIG_SX9500 is not set -CONFIG_SYNC_FILE=y -# CONFIG_SYNCLINK_CS is not set -CONFIG_SYNCLINK_GT=m -CONFIG_SYNCLINK=m -CONFIG_SYNCLINKMP=m -CONFIG_SYN_COOKIES=y -# CONFIG_SYNOPSYS_DWC_ETH_QOS is not set -# CONFIG_SYSCON_REBOOT_MODE is not set -CONFIG_SYSCTL=y -# CONFIG_SYSFS_DEPRECATED is not set -# CONFIG_SYSFS_DEPRECATED_V2 is not set -CONFIG_SYSTEM_BLACKLIST_HASH_LIST="" -CONFIG_SYSTEM_BLACKLIST_KEYRING=y -# CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set -# CONFIG_SYSTEMPORT is not set -CONFIG_SYSTEM_TRUSTED_KEYRING=y -CONFIG_SYSTEM_TRUSTED_KEYS="" -# CONFIG_SYSV68_PARTITION is not set -CONFIG_SYSV_FS=m -CONFIG_SYSVIPC=y -# CONFIG_T5403 is not set -CONFIG_TABLET_SERIAL_WACOM4=m -CONFIG_TABLET_USB_ACECAD=m -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_TARGET_CORE=m -CONFIG_TASK_DELAY_ACCT=y -CONFIG_TASK_IO_ACCOUNTING=y -CONFIG_TASKS_RCU=y -CONFIG_TASKSTATS=y -CONFIG_TASK_XACCT=y -CONFIG_TCG_ATMEL=m -CONFIG_TCG_CRB=m -# CONFIG_TCG_INFINEON is not set -CONFIG_TCG_NSC=m -# CONFIG_TCG_TIS_I2C_ATMEL is not set -# CONFIG_TCG_TIS_I2C_INFINEON is not set -# CONFIG_TCG_TIS_I2C_NUVOTON is not set -CONFIG_TCG_TIS=m -# CONFIG_TCG_TIS_SPI is not set -# CONFIG_TCG_TIS_ST33ZP24_I2C is not set -# CONFIG_TCG_TIS_ST33ZP24 is not set -# CONFIG_TCG_TIS_ST33ZP24_SPI is not set -# CONFIG_TCG_TPM is not set -# CONFIG_TCG_VTPM_PROXY is not set -# CONFIG_TCG_XEN is not set -CONFIG_TCM_FC=m -CONFIG_TCM_FILEIO=m -CONFIG_TCM_IBLOCK=m -CONFIG_TCM_PSCSI=m -# CONFIG_TCM_QLA2XXX_DEBUG is not set -CONFIG_TCM_QLA2XXX=m -CONFIG_TCM_USER2=m -CONFIG_TCP_CONG_ADVANCED=y -CONFIG_TCP_CONG_BBR=m -CONFIG_TCP_CONG_BIC=m -CONFIG_TCP_CONG_CDG=m -CONFIG_TCP_CONG_CUBIC=y -CONFIG_TCP_CONG_DCTCP=m -CONFIG_TCP_CONG_HSTCP=m -CONFIG_TCP_CONG_HTCP=m -CONFIG_TCP_CONG_HYBLA=m -CONFIG_TCP_CONG_ILLINOIS=m -CONFIG_TCP_CONG_LP=m -CONFIG_TCP_CONG_NV=m -CONFIG_TCP_CONG_SCALABLE=m -CONFIG_TCP_CONG_VEGAS=m -CONFIG_TCP_CONG_VENO=m -CONFIG_TCP_CONG_WESTWOOD=m -CONFIG_TCP_CONG_YEAH=m -CONFIG_TCP_MD5SIG=y -# CONFIG_TCS3414 is not set -# CONFIG_TCS3472 is not set -# CONFIG_TEE is not set -CONFIG_TEHUTI=m -CONFIG_TEKRAM_DONGLE=m -CONFIG_TELCLOCK=m -CONFIG_TERANETICS_PHY=m -CONFIG_TEST_ASYNC_DRIVER_PROBE=m -# CONFIG_TEST_BITMAP is not set -# CONFIG_TEST_BPF is not set -# CONFIG_TEST_FIRMWARE is not set -# CONFIG_TEST_HASH is not set -# CONFIG_TEST_HEXDUMP is not set -# CONFIG_TEST_KMOD is not set -CONFIG_TEST_KSTRTOX=y -# CONFIG_TEST_LIST_SORT is not set -# CONFIG_TEST_LKM is not set -# CONFIG_TEST_PARMAN is not set -# CONFIG_TEST_POWER is not set -# CONFIG_TEST_PRINTF is not set -# CONFIG_TEST_RHASHTABLE is not set -# CONFIG_TEST_SORT is not set -# CONFIG_TEST_STATIC_KEYS is not set -# CONFIG_TEST_STRING_HELPERS is not set -# CONFIG_TEST_SYSCTL is not set -# CONFIG_TEST_UDELAY is not set -# CONFIG_TEST_USER_COPY is not set -# CONFIG_TEST_UUID is not set -# CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set -# CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set -CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0 -# CONFIG_THERMAL_EMULATION is not set -# CONFIG_THERMAL_GOV_BANG_BANG is not set -CONFIG_THERMAL_GOV_FAIR_SHARE=y -# CONFIG_THERMAL_GOV_POWER_ALLOCATOR is not set -CONFIG_THERMAL_GOV_STEP_WISE=y -# CONFIG_THERMAL_GOV_USER_SPACE is not set -CONFIG_THERMAL_HWMON=y -# CONFIG_THERMAL_OF is not set -# CONFIG_THERMAL_WRITABLE_TRIPS is not set -CONFIG_THERMAL=y -CONFIG_THRUSTMASTER_FF=y -# CONFIG_THUNDERBOLT is not set -# CONFIG_TI_ADC081C is not set -# CONFIG_TI_ADC0832 is not set -# CONFIG_TI_ADC084S021 is not set -# CONFIG_TI_ADC108S102 is not set -# CONFIG_TI_ADC12138 is not set -# CONFIG_TI_ADC128S052 is not set -# CONFIG_TI_ADC161S626 is not set -CONFIG_TI_ADS1015=m -# CONFIG_TI_ADS7950 is not set -# CONFIG_TI_ADS8688 is not set -# CONFIG_TI_CPSW_ALE is not set -# CONFIG_TI_DAC7512 is not set -CONFIG_TIFM_7XX1=m -CONFIG_TIFM_CORE=m -CONFIG_TIGON3_HWMON=y -CONFIG_TIGON3=m -# CONFIG_TIMB_DMA is not set -# CONFIG_TIMER_STATS is not set -CONFIG_TIPC=m -# CONFIG_TIPC_MEDIA_IB is not set -CONFIG_TIPC_MEDIA_UDP=y -CONFIG_TI_SCI_PROTOCOL=m -# CONFIG_TI_ST is not set -# CONFIG_TI_SYSCON_RESET is not set -# CONFIG_TI_TLC4541 is not set -CONFIG_TLAN=m -CONFIG_TLS=m -# CONFIG_TMD_HERMES is not set -# CONFIG_TMP006 is not set -# CONFIG_TMP007 is not set -CONFIG_TMPFS_POSIX_ACL=y -CONFIG_TMPFS_XATTR=y -CONFIG_TMPFS=y -CONFIG_TOIM3232_DONGLE=m -# CONFIG_TOSHIBA_FIR is not set -# CONFIG_TOUCHSCREEN_AD7877 is not set -CONFIG_TOUCHSCREEN_AD7879_I2C=m -# CONFIG_TOUCHSCREEN_AD7879 is not set -# CONFIG_TOUCHSCREEN_ADS7846 is not set -# CONFIG_TOUCHSCREEN_AR1021_I2C is not set -CONFIG_TOUCHSCREEN_ATMEL_MXT=m -# CONFIG_TOUCHSCREEN_ATMEL_MXT_T37 is not set -# CONFIG_TOUCHSCREEN_AUO_PIXCIR is not set -# CONFIG_TOUCHSCREEN_BU21013 is not set -# CONFIG_TOUCHSCREEN_CHIPONE_ICN8318 is not set -# CONFIG_TOUCHSCREEN_CY8CTMG110 is not set -# CONFIG_TOUCHSCREEN_CYTTSP4_CORE is not set -# CONFIG_TOUCHSCREEN_CYTTSP_CORE is not set -CONFIG_TOUCHSCREEN_DYNAPRO=m -CONFIG_TOUCHSCREEN_EDT_FT5X06=m -CONFIG_TOUCHSCREEN_EETI=m -CONFIG_TOUCHSCREEN_EGALAX=m -CONFIG_TOUCHSCREEN_EGALAX_SERIAL=m -# CONFIG_TOUCHSCREEN_EKTF2127 is not set -CONFIG_TOUCHSCREEN_ELAN=m -CONFIG_TOUCHSCREEN_ELO=m -# CONFIG_TOUCHSCREEN_FT6236 is not set -CONFIG_TOUCHSCREEN_FUJITSU=m -# CONFIG_TOUCHSCREEN_GOODIX is not set -CONFIG_TOUCHSCREEN_GUNZE=m -# CONFIG_TOUCHSCREEN_HAMPSHIRE is not set -CONFIG_TOUCHSCREEN_ILI210X=m -# CONFIG_TOUCHSCREEN_IMX6UL_TSC is not set -CONFIG_TOUCHSCREEN_INEXIO=m -# CONFIG_TOUCHSCREEN_MAX11801 is not set -CONFIG_TOUCHSCREEN_MCS5000=m -# CONFIG_TOUCHSCREEN_MELFAS_MIP4 is not set -CONFIG_TOUCHSCREEN_MK712=m -CONFIG_TOUCHSCREEN_MMS114=m -CONFIG_TOUCHSCREEN_MTOUCH=m -CONFIG_TOUCHSCREEN_PENMOUNT=m -CONFIG_TOUCHSCREEN_PIXCIR=m -CONFIG_TOUCHSCREEN_RM_TS=m -# CONFIG_TOUCHSCREEN_ROHM_BU21023 is not set -CONFIG_TOUCHSCREEN_SILEAD=m -CONFIG_TOUCHSCREEN_SIS_I2C=m -CONFIG_TOUCHSCREEN_ST1232=m -# CONFIG_TOUCHSCREEN_STMFTS is not set -# CONFIG_TOUCHSCREEN_SUR40 is not set -# CONFIG_TOUCHSCREEN_SURFACE3_SPI is not set -# CONFIG_TOUCHSCREEN_SX8654 is not set -CONFIG_TOUCHSCREEN_TI_AM335X_TSC=m -CONFIG_TOUCHSCREEN_TOUCHIT213=m -CONFIG_TOUCHSCREEN_TOUCHRIGHT=m -CONFIG_TOUCHSCREEN_TOUCHWIN=m -# CONFIG_TOUCHSCREEN_TPS6507X is not set -CONFIG_TOUCHSCREEN_TS4800=m -# CONFIG_TOUCHSCREEN_TSC2004 is not set -# CONFIG_TOUCHSCREEN_TSC2005 is not set -CONFIG_TOUCHSCREEN_TSC2007_IIO=y -CONFIG_TOUCHSCREEN_TSC2007=m -CONFIG_TOUCHSCREEN_TSC_SERIO=m -CONFIG_TOUCHSCREEN_UCB1400=m -CONFIG_TOUCHSCREEN_USB_COMPOSITE=m -CONFIG_TOUCHSCREEN_USB_E2I=y -CONFIG_TOUCHSCREEN_W90X900=m -CONFIG_TOUCHSCREEN_WACOM_I2C=m -CONFIG_TOUCHSCREEN_WACOM_W8001=m -# CONFIG_TOUCHSCREEN_WDT87XX_I2C is not set -# CONFIG_TOUCHSCREEN_WM97XX is not set -CONFIG_TOUCHSCREEN_ZET6223=m -CONFIG_TOUCHSCREEN_ZFORCE=m -# CONFIG_TPL0102 is not set -# CONFIG_TPS6105X is not set -# CONFIG_TPS65010 is not set -# CONFIG_TPS6507X is not set -# CONFIG_TRACE_BRANCH_PROFILING is not set -# CONFIG_TRACE_ENUM_MAP_FILE is not set -CONFIG_TRACE_EVAL_MAP_FILE=y -# CONFIG_TRACEPOINT_BENCHMARK is not set -# CONFIG_TRACER_SNAPSHOT_PER_CPU_SWAP is not set -CONFIG_TRACER_SNAPSHOT=y -# CONFIG_TRACE_SINK is not set -# CONFIG_TRACING_EVENTS_GPIO is not set -CONFIG_TRANSPARENT_HUGEPAGE_MADVISE=y -CONFIG_TRANSPARENT_HUGEPAGE=y -# CONFIG_TR is not set -CONFIG_TRUSTED_KEYS=m -# CONFIG_TS4800_IRQ is not set -# CONFIG_TS4800_WATCHDOG is not set -# CONFIG_TSL2583 is not set -# CONFIG_TSL2x7x is not set -# CONFIG_TSL4531 is not set -# CONFIG_TSYS01 is not set -# CONFIG_TSYS02D is not set -CONFIG_TULIP=m -CONFIG_TULIP_MMIO=y -# CONFIG_TULIP_MWI is not set -# CONFIG_TULIP_NAPI is not set -CONFIG_TUN=m -# CONFIG_TUN_VNET_CROSS_LE is not set -# CONFIG_TWL4030_CORE is not set -# CONFIG_TWL6040_CORE is not set -CONFIG_TYPEC_FUSB302=m -CONFIG_TYPEC_TCPCI=m -CONFIG_TYPEC_TCPM=m -CONFIG_TYPEC_UCSI=m -CONFIG_TYPEC_WCOVE=m -CONFIG_TYPHOON=m -CONFIG_UBIFS_ATIME_SUPPORT=y -# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set -CONFIG_UBIFS_FS_ENCRYPTION=y -CONFIG_UBIFS_FS=m -CONFIG_UBIFS_FS_SECURITY=y -# CONFIG_UBSAN_ALIGNMENT is not set -# CONFIG_UBSAN is not set -# CONFIG_UBSAN_SANITIZE_ALL is not set -# CONFIG_UCB1400_CORE is not set -# CONFIG_UCC_GETH is not set -CONFIG_UCSI_ACPI=m -CONFIG_UCSI=m -# CONFIG_UDBG_RTAS_CONSOLE is not set -CONFIG_UDF_FS=m -# CONFIG_UEVENT_HELPER is not set -# CONFIG_UFS_DEBUG is not set -CONFIG_UFS_FS=m -# CONFIG_UFS_FS_WRITE is not set -CONFIG_UHID=m -CONFIG_UIO_AEC=m -CONFIG_UIO_CIF=m -# CONFIG_UIO_DMEM_GENIRQ is not set -CONFIG_UIO_HV_GENERIC=m -CONFIG_UIO=m -# CONFIG_UIO_MF624 is not set -# CONFIG_UIO_NETX is not set -CONFIG_UIO_PCI_GENERIC=m -# CONFIG_UIO_PDRV_GENIRQ is not set -# CONFIG_UIO_PDRV is not set -# CONFIG_UIO_PRUSS is not set -CONFIG_UIO_SERCOS3=m -CONFIG_ULI526X=m -# CONFIG_ULTRIX_PARTITION is not set -# CONFIG_UNISYSSPAR is not set -CONFIG_UNIX98_PTYS=y -CONFIG_UNIX_DIAG=m -CONFIG_UNIXWARE_DISKLABEL=y -CONFIG_UNIX=y -CONFIG_UNUSED_SYMBOLS=y -CONFIG_UPROBE_EVENTS=y -# CONFIG_US5182D is not set -CONFIG_USB_ACM=m -CONFIG_USB_ADUTUX=m -CONFIG_USB_ALI_M5632=y -CONFIG_USB_AN2720=y -CONFIG_USB_ANNOUNCE_NEW_DEVICES=y -CONFIG_USB_APPLEDISPLAY=m -CONFIG_USB_ARMLINUX=y -CONFIG_USB_ATMEL=m -CONFIG_USB_ATM=m -CONFIG_USB_BELKIN=y -# CONFIG_USB_C67X00_HCD is not set -CONFIG_USB_CATC=m -CONFIG_USB_CDC_PHONET=m -CONFIG_USB_CHAOSKEY=m -# CONFIG_USB_CHIPIDEA is not set -# CONFIG_USB_CHIPIDEA_ULPI is not set -# CONFIG_USB_CONFIGFS_F_UAC1_LEGACY is not set -CONFIG_USB_CXACRU=m -# CONFIG_USB_CYPRESS_CY7C63 is not set -# CONFIG_USB_CYTHERM is not set -# CONFIG_USB_DEBUG is not set -CONFIG_USB_DEFAULT_PERSIST=y -CONFIG_USB_DSBR=m -# CONFIG_USB_DWC2 is not set -# CONFIG_USB_DWC3 is not set -# CONFIG_USB_DWC3_OF_SIMPLE is not set -# CONFIG_USB_DYNAMIC_MINORS is not set -# CONFIG_USB_EHCI_HCD_PLATFORM is not set -CONFIG_USB_EHCI_HCD_PPC_OF=y -CONFIG_USB_EHCI_HCD=y -# CONFIG_USB_EHCI_MV is not set -CONFIG_USB_EHCI_ROOT_HUB_TT=y -CONFIG_USB_EHCI_TT_NEWSCHED=y -# CONFIG_USB_EHSET_TEST_FIXTURE is not set -CONFIG_USB_EMI26=m -CONFIG_USB_EMI62=m -CONFIG_USB_EPSON2888=y -CONFIG_USB_EZUSB_FX2=m -CONFIG_USB_EZUSB=y -# CONFIG_USB_FHCI_HCD is not set -# CONFIG_USB_FOTG210_HCD is not set -CONFIG_USB_FTDI_ELAN=m -# CONFIG_USB_GADGETFS is not set -# CONFIG_USB_GADGET is not set -CONFIG_USB_GL860=m -# CONFIG_USB_GPIO_VBUS is not set -# CONFIG_USB_GR_UDC is not set -CONFIG_USB_G_SERIAL=m -CONFIG_USB_GSPCA_BENQ=m -CONFIG_USB_GSPCA_CONEX=m -CONFIG_USB_GSPCA_CPIA1=m -CONFIG_USB_GSPCA_DTCS033=m -CONFIG_USB_GSPCA_ETOMS=m -CONFIG_USB_GSPCA_FINEPIX=m -CONFIG_USB_GSPCA_JEILINJ=m -CONFIG_USB_GSPCA_JL2005BCD=m -CONFIG_USB_GSPCA_KINECT=m -CONFIG_USB_GSPCA_KONICA=m -CONFIG_USB_GSPCA=m -CONFIG_USB_GSPCA_MARS=m -CONFIG_USB_GSPCA_MR97310A=m -CONFIG_USB_GSPCA_NW80X=m -CONFIG_USB_GSPCA_OV519=m -CONFIG_USB_GSPCA_OV534_9=m -CONFIG_USB_GSPCA_OV534=m -CONFIG_USB_GSPCA_PAC207=m -CONFIG_USB_GSPCA_PAC7302=m -CONFIG_USB_GSPCA_PAC7311=m -CONFIG_USB_GSPCA_SE401=m -CONFIG_USB_GSPCA_SN9C2028=m -CONFIG_USB_GSPCA_SN9C20X=m -CONFIG_USB_GSPCA_SONIXB=m -CONFIG_USB_GSPCA_SONIXJ=m -CONFIG_USB_GSPCA_SPCA1528=m -CONFIG_USB_GSPCA_SPCA500=m -CONFIG_USB_GSPCA_SPCA501=m -CONFIG_USB_GSPCA_SPCA505=m -CONFIG_USB_GSPCA_SPCA506=m -CONFIG_USB_GSPCA_SPCA508=m -CONFIG_USB_GSPCA_SPCA561=m -CONFIG_USB_GSPCA_SQ905C=m -CONFIG_USB_GSPCA_SQ905=m -CONFIG_USB_GSPCA_SQ930X=m -CONFIG_USB_GSPCA_STK014=m -CONFIG_USB_GSPCA_STK1135=m -CONFIG_USB_GSPCA_STV0680=m -CONFIG_USB_GSPCA_SUNPLUS=m -CONFIG_USB_GSPCA_T613=m -CONFIG_USB_GSPCA_TOPRO=m -CONFIG_USB_GSPCA_TOUPTEK=m -CONFIG_USB_GSPCA_TV8532=m -CONFIG_USB_GSPCA_VC032X=m -CONFIG_USB_GSPCA_VICAM=m -CONFIG_USB_GSPCA_XIRLINK_CIT=m -CONFIG_USB_GSPCA_ZC3XX=m -# CONFIG_USB_HCD_BCMA is not set -# CONFIG_USB_HCD_SSB is not set -# CONFIG_USB_HCD_TEST_MODE is not set -CONFIG_USB_HIDDEV=y -CONFIG_USB_HID=y -CONFIG_USB_HSIC_USB3503=m -CONFIG_USB_HSIC_USB4604=m -CONFIG_USB_HSO=m -CONFIG_USB_HUB_USB251XB=m -CONFIG_USB_HWA_HCD=m -CONFIG_USB_IDMOUSE=m -CONFIG_USB_IOWARRIOR=m -CONFIG_USBIP_CORE=m -# CONFIG_USBIP_DEBUG is not set -CONFIG_USB_IPHETH=m -CONFIG_USBIP_HOST=m -CONFIG_USBIP_VHCI_HCD=m -CONFIG_USBIP_VHCI_HC_PORTS=8 -CONFIG_USBIP_VHCI_NR_HCS=1 -CONFIG_USBIP_VUDC=m -CONFIG_USB_IRDA=m -CONFIG_USB_ISIGHTFW=m -# CONFIG_USB_ISP116X_HCD is not set -# CONFIG_USB_ISP1301 is not set -CONFIG_USB_ISP1362_HCD=m -# CONFIG_USB_ISP1760 is not set -CONFIG_USB_KAWETH=m -CONFIG_USB_KC2190=y -CONFIG_USB_KEENE=m -CONFIG_USB_LAN78XX=m -CONFIG_USB_LCD=m -CONFIG_USB_LD=m -CONFIG_USB_LED=m -CONFIG_USB_LEDS_TRIGGER_USBPORT=m -CONFIG_USB_LED_TRIG=y -CONFIG_USB_LEGOTOWER=m -# CONFIG_USB_LINK_LAYER_TEST is not set -CONFIG_USB_M5602=m -CONFIG_USB_MA901=m -# CONFIG_USB_MAX3421_HCD is not set -CONFIG_USB_MDC800=m -CONFIG_USB_MICROTEK=m -CONFIG_USB_MON=y -CONFIG_USB_MR800=m -# CONFIG_USB_MUSB_HDRC is not set -CONFIG_USB_NET_AX88179_178A=m -CONFIG_USB_NET_AX8817X=m -CONFIG_USB_NET_CDC_EEM=m -CONFIG_USB_NET_CDC_MBIM=m -CONFIG_USB_NET_CDC_NCM=m -CONFIG_USB_NET_CDC_SUBSET=m -CONFIG_USB_NET_CH9200=m -CONFIG_USB_NET_CX82310_ETH=m -CONFIG_USB_NET_DM9601=m -CONFIG_USB_NET_DRIVERS=y -CONFIG_USB_NET_GL620A=m -CONFIG_USB_NET_HUAWEI_CDC_NCM=m -CONFIG_USB_NET_INT51X1=m -CONFIG_USB_NET_KALMIA=m -CONFIG_USB_NET_MCS7830=m -CONFIG_USB_NET_NET1080=m -CONFIG_USB_NET_PLUSB=m -CONFIG_USB_NET_QMI_WWAN=m -CONFIG_USB_NET_RNDIS_HOST=m -CONFIG_USB_NET_RNDIS_WLAN=m -CONFIG_USB_NET_SMSC75XX=m -CONFIG_USB_NET_SMSC95XX=m -CONFIG_USB_NET_SR9700=m -# CONFIG_USB_NET_SR9800 is not set -CONFIG_USB_NET_ZAURUS=m -CONFIG_USB_OHCI_HCD_PCI=y -# CONFIG_USB_OHCI_HCD_PLATFORM is not set -CONFIG_USB_OHCI_HCD_PPC_OF_BE=y -CONFIG_USB_OHCI_HCD_PPC_OF_LE=y -CONFIG_USB_OHCI_HCD_PPC_OF=y -# CONFIG_USB_OHCI_HCD_SSB is not set -CONFIG_USB_OHCI_HCD=y -# CONFIG_USB_OTG_FSM is not set -# CONFIG_USB_OTG is not set -# CONFIG_USB_OTG_WHITELIST is not set -# CONFIG_USB_OXU210HP_HCD is not set -CONFIG_USB_PCI=y -CONFIG_USBPCWATCHDOG=m -CONFIG_USB_PEGASUS=m -CONFIG_USB_PHY=y -CONFIG_USB_PRINTER=m -CONFIG_USB_PULSE8_CEC=m -# CONFIG_USB_PWC_DEBUG is not set -CONFIG_USB_PWC_INPUT_EVDEV=y -CONFIG_USB_PWC=m -# CONFIG_USB_R8A66597_HCD is not set -CONFIG_USB_RAINSHADOW_CEC=m -# CONFIG_USB_RAREMONO is not set -# CONFIG_USB_RIO500 is not set -CONFIG_USB_RTL8150=m -CONFIG_USB_RTL8152=m -CONFIG_USB_S2255=m -CONFIG_USB_SERIAL_AIRCABLE=m -CONFIG_USB_SERIAL_ARK3116=m -CONFIG_USB_SERIAL_BELKIN=m -CONFIG_USB_SERIAL_CH341=m -CONFIG_USB_SERIAL_CONSOLE=y -CONFIG_USB_SERIAL_CP210X=m -CONFIG_USB_SERIAL_CYBERJACK=m -CONFIG_USB_SERIAL_CYPRESS_M8=m -CONFIG_USB_SERIAL_DEBUG=m -CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m -CONFIG_USB_SERIAL_EDGEPORT=m -CONFIG_USB_SERIAL_EDGEPORT_TI=m -CONFIG_USB_SERIAL_EMPEG=m -# CONFIG_USB_SERIAL_F81232 is not set -CONFIG_USB_SERIAL_F8153X=m -CONFIG_USB_SERIAL_FTDI_SIO=m -CONFIG_USB_SERIAL_GARMIN=m -CONFIG_USB_SERIAL_GENERIC=y -CONFIG_USB_SERIAL_IPAQ=m -CONFIG_USB_SERIAL_IPW=m -CONFIG_USB_SERIAL_IR=m -CONFIG_USB_SERIAL_IUU=m -CONFIG_USB_SERIAL_KEYSPAN=m -CONFIG_USB_SERIAL_KEYSPAN_MPR=y -CONFIG_USB_SERIAL_KEYSPAN_PDA=m -CONFIG_USB_SERIAL_KEYSPAN_USA18X=y -CONFIG_USB_SERIAL_KEYSPAN_USA19QI=y -CONFIG_USB_SERIAL_KEYSPAN_USA19QW=y -CONFIG_USB_SERIAL_KEYSPAN_USA19W=y -CONFIG_USB_SERIAL_KEYSPAN_USA19=y -CONFIG_USB_SERIAL_KEYSPAN_USA28XA=y -CONFIG_USB_SERIAL_KEYSPAN_USA28XB=y -CONFIG_USB_SERIAL_KEYSPAN_USA28X=y -CONFIG_USB_SERIAL_KEYSPAN_USA28=y -CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y -CONFIG_USB_SERIAL_KEYSPAN_USA49W=y -CONFIG_USB_SERIAL_KLSI=m -CONFIG_USB_SERIAL_KOBIL_SCT=m -CONFIG_USB_SERIAL_MCT_U232=m -# CONFIG_USB_SERIAL_METRO is not set -CONFIG_USB_SERIAL_MOS7715_PARPORT=y -CONFIG_USB_SERIAL_MOS7720=m -CONFIG_USB_SERIAL_MOS7840=m -# CONFIG_USB_SERIAL_MXUPORT is not set -CONFIG_USB_SERIAL_NAVMAN=m -CONFIG_USB_SERIAL_OMNINET=m -CONFIG_USB_SERIAL_OPTICON=m -CONFIG_USB_SERIAL_OPTION=m -CONFIG_USB_SERIAL_OTI6858=m -CONFIG_USB_SERIAL_PL2303=m -CONFIG_USB_SERIAL_QCAUX=m -CONFIG_USB_SERIAL_QT2=m -CONFIG_USB_SERIAL_QUALCOMM=m -CONFIG_USB_SERIAL_SAFE=m -CONFIG_USB_SERIAL_SAFE_PADDED=y -CONFIG_USB_SERIAL_SIERRAWIRELESS=m -CONFIG_USB_SERIAL_SIMPLE=m -CONFIG_USB_SERIAL_SPCP8X5=m -CONFIG_USB_SERIAL_SSU100=m -CONFIG_USB_SERIAL_SYMBOL=m -CONFIG_USB_SERIAL_TI=m -CONFIG_USB_SERIAL_UPD78F0730=m -CONFIG_USB_SERIAL_VISOR=m -CONFIG_USB_SERIAL_WHITEHEAT=m -# CONFIG_USB_SERIAL_WISHBONE is not set -CONFIG_USB_SERIAL_XIRCOM=m -CONFIG_USB_SERIAL_XSENS_MT=m -CONFIG_USB_SERIAL=y -CONFIG_USB_SEVSEG=m -CONFIG_USB_SI470X=m -# CONFIG_USB_SI4713 is not set -CONFIG_USB_SIERRA_NET=m -CONFIG_USB_SISUSBVGA_CON=y -CONFIG_USB_SISUSBVGA=m -# CONFIG_USB_SL811_CS is not set -CONFIG_USB_SL811_HCD_ISO=y -CONFIG_USB_SL811_HCD=m -CONFIG_USB_SNP_UDC_PLAT=m -CONFIG_USB_SPEEDTOUCH=m -CONFIG_USB_STKWEBCAM=m -CONFIG_USB_STORAGE_ALAUDA=m -CONFIG_USB_STORAGE_CYPRESS_ATACB=m -CONFIG_USB_STORAGE_DATAFAB=m -# CONFIG_USB_STORAGE_DEBUG is not set -CONFIG_USB_STORAGE_ENE_UB6250=m -CONFIG_USB_STORAGE_FREECOM=m -CONFIG_USB_STORAGE_ISD200=m -CONFIG_USB_STORAGE_JUMPSHOT=m -CONFIG_USB_STORAGE_KARMA=m -CONFIG_USB_STORAGE=m -CONFIG_USB_STORAGE_ONETOUCH=m -CONFIG_USB_STORAGE_REALTEK=m -CONFIG_USB_STORAGE_SDDR09=m -CONFIG_USB_STORAGE_SDDR55=m -CONFIG_USB_STORAGE_USBAT=m -CONFIG_USB_STV06XX=m -CONFIG_USB_SUPPORT=y -# CONFIG_USB_SWITCH_FSA9480 is not set -# CONFIG_USB_TEST is not set -CONFIG_USB_TMC=m -CONFIG_USB_TRANCEVIBRATOR=m -# CONFIG_USB_U132_HCD is not set -CONFIG_USB_UAS=m -CONFIG_USB_UEAGLEATM=m -CONFIG_USB_UHCI_HCD=y -CONFIG_USB_ULPI_BUS=m -CONFIG_USB_USBNET=m -CONFIG_USB_USS720=m -CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y -CONFIG_USB_VIDEO_CLASS=m -CONFIG_USB_VL600=m -CONFIG_USB_WDM=m -# CONFIG_USB_WHCI_HCD is not set -# CONFIG_USB_WUSB_CBAF_DEBUG is not set -CONFIG_USB_WUSB_CBAF=m -CONFIG_USB_WUSB=m -CONFIG_USB_XHCI_HCD=y -# CONFIG_USB_XHCI_PLATFORM is not set -CONFIG_USB_XUSBATM=m -CONFIG_USB=y -CONFIG_USB_YUREX=m -# CONFIG_USB_ZD1201 is not set -CONFIG_USB_ZR364XX=m -# CONFIG_USELIB is not set -CONFIG_USERFAULTFD=y -# CONFIG_USERIO is not set -CONFIG_USER_NS=y -# CONFIG_USE_THIN_ARCHIVES is not set -CONFIG_UTS_NS=y -CONFIG_UWB_HWA=m -CONFIG_UWB_I1480U=m -CONFIG_UWB=m -CONFIG_UWB_WHCI=m -# CONFIG_V4L2_FLASH_LED_CLASS is not set -CONFIG_V4L_MEM2MEM_DRIVERS=y -# CONFIG_V4L_PLATFORM_DRIVERS is not set -# CONFIG_V4L_TEST_DRIVERS is not set -# CONFIG_VCNL4000 is not set -# CONFIG_VEML6070 is not set -CONFIG_VETH=m -# CONFIG_VF610_ADC is not set -# CONFIG_VF610_DAC is not set -CONFIG_VFAT_FS=m -# CONFIG_VFIO_IOMMU_TYPE1 is not set -CONFIG_VFIO=m -CONFIG_VFIO_MDEV_DEVICE=m -CONFIG_VFIO_MDEV=m -# CONFIG_VFIO_NOIOMMU is not set -CONFIG_VFIO_PCI=m -CONFIG_VGA_ARB_MAX_GPUS=16 -CONFIG_VGA_ARB=y -# CONFIG_VGACON_SOFT_SCROLLBACK_PERSISTENT_ENABLE_BY_DEFAULT is not set -CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64 -CONFIG_VGACON_SOFT_SCROLLBACK=y -CONFIG_VGA_CONSOLE=y -# CONFIG_VHOST_CROSS_ENDIAN_LEGACY is not set -CONFIG_VHOST_NET=m -CONFIG_VHOST_SCSI=m -CONFIG_VHOST_VSOCK=m -CONFIG_VIA_FIR=m -CONFIG_VIA_RHINE=m -CONFIG_VIA_RHINE_MMIO=y -CONFIG_VIA_VELOCITY=m -# CONFIG_VIDEO_ADV_DEBUG is not set -CONFIG_VIDEO_AU0828=m -# CONFIG_VIDEO_AU0828_RC is not set -CONFIG_VIDEO_AU0828_V4L2=y -CONFIG_VIDEO_BT848=m -CONFIG_VIDEO_CAFE_CCIC=m -CONFIG_VIDEO_CPIA2=m -# CONFIG_VIDEO_CPIA is not set -CONFIG_VIDEO_CX18_ALSA=m -CONFIG_VIDEO_CX18=m -CONFIG_VIDEO_CX231XX_ALSA=m -CONFIG_VIDEO_CX231XX_DVB=m -CONFIG_VIDEO_CX231XX=m -CONFIG_VIDEO_CX231XX_RC=y -CONFIG_VIDEO_CX23885=m -# CONFIG_VIDEO_CX25821 is not set -CONFIG_VIDEO_CX88_ALSA=m -CONFIG_VIDEO_CX88_BLACKBIRD=m -CONFIG_VIDEO_CX88_DVB=m -CONFIG_VIDEO_CX88_ENABLE_VP3054=y -CONFIG_VIDEO_CX88=m -CONFIG_VIDEO_CX88_VP3054=m -CONFIG_VIDEO_DEV=m -# CONFIG_VIDEO_DT3155 is not set -CONFIG_VIDEO_EM28XX_ALSA=m -CONFIG_VIDEO_EM28XX_DVB=m -CONFIG_VIDEO_EM28XX=m -CONFIG_VIDEO_EM28XX_RC=m -CONFIG_VIDEO_EM28XX_V4L2=m -CONFIG_VIDEO_FB_IVTV=m -# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set -CONFIG_VIDEO_GO7007_LOADER=m -CONFIG_VIDEO_GO7007=m -CONFIG_VIDEO_GO7007_USB=m -CONFIG_VIDEO_GO7007_USB_S2250_BOARD=m -CONFIG_VIDEO_HDPVR=m -CONFIG_VIDEO_HEXIUM_GEMINI=m -CONFIG_VIDEO_HEXIUM_ORION=m -# CONFIG_VIDEO_IVTV_ALSA is not set -# CONFIG_VIDEO_IVTV_DEPRECATED_IOCTLS is not set -CONFIG_VIDEO_IVTV=m -# CONFIG_VIDEO_M5MOLS is not set -# CONFIG_VIDEO_MEM2MEM_DEINTERLACE is not set -CONFIG_VIDEO_MEYE=m -CONFIG_VIDEO_MXB=m -CONFIG_VIDEO_NOON010PC30=m -# CONFIG_VIDEO_PCI_SKELETON is not set -# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set -CONFIG_VIDEO_PVRUSB2_DVB=y -CONFIG_VIDEO_PVRUSB2=m -CONFIG_VIDEO_PVRUSB2_SYSFS=y -# CONFIG_VIDEO_RENESAS_VSP1 is not set -CONFIG_VIDEO_SAA6588=m -CONFIG_VIDEO_SAA7134_ALSA=m -CONFIG_VIDEO_SAA7134_DVB=m -CONFIG_VIDEO_SAA7134_GO7007=m -CONFIG_VIDEO_SAA7134=m -CONFIG_VIDEO_SAA7134_RC=y -CONFIG_VIDEO_SAA7146=m -CONFIG_VIDEO_SAA7146_VV=m -CONFIG_VIDEO_SAA7164=m -# CONFIG_VIDEO_SH_MOBILE_CEU is not set -# CONFIG_VIDEO_SH_MOBILE_CSI2 is not set -# CONFIG_VIDEO_SH_VEU is not set -CONFIG_VIDEO_SOLO6X10=m -CONFIG_VIDEO_SR030PC30=m -CONFIG_VIDEO_STK1160_AC97=y -CONFIG_VIDEO_STK1160_COMMON=m -CONFIG_VIDEO_STK1160=m -CONFIG_VIDEO_TM6000_ALSA=m -CONFIG_VIDEO_TM6000_DVB=m -CONFIG_VIDEO_TM6000=m -CONFIG_VIDEO_TUNER=m -# CONFIG_VIDEO_TW5864 is not set -# CONFIG_VIDEO_TW686X_KH is not set -CONFIG_VIDEO_TW686X=m -# CONFIG_VIDEO_TW68 is not set -CONFIG_VIDEO_USBTV=m -CONFIG_VIDEO_USBVISION=m -CONFIG_VIDEO_V4L2=m -CONFIG_VIDEO_V4L2_SUBDEV_API=y -# CONFIG_VIDEO_VIVID is not set -# CONFIG_VIDEO_VIVI is not set -# CONFIG_VIDEO_XILINX is not set -CONFIG_VIDEO_ZORAN_AVS6EYES=m -CONFIG_VIDEO_ZORAN_BUZ=m -CONFIG_VIDEO_ZORAN_DC10=m -CONFIG_VIDEO_ZORAN_DC30=m -# CONFIG_VIDEO_ZORAN is not set -CONFIG_VIDEO_ZORAN_LML33=m -CONFIG_VIDEO_ZORAN_LML33R10=m -CONFIG_VIDEO_ZORAN_ZR36060=m -# CONFIG_VIPERBOARD_ADC is not set -# CONFIG_VIRT_DRIVERS is not set -CONFIG_VIRTIO_BALLOON=m -CONFIG_VIRTIO_BLK=m -# CONFIG_VIRTIO_BLK_SCSI is not set -CONFIG_VIRTIO_CONSOLE=m -CONFIG_VIRTIO_INPUT=m -# CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set -CONFIG_VIRTIO_MMIO=m -CONFIG_VIRTIO_NET=m -CONFIG_VIRTIO_PCI_LEGACY=y -CONFIG_VIRTIO_PCI=m -CONFIG_VIRTIO_VSOCKETS=m -CONFIG_VIRTUALIZATION=y -CONFIG_VITESSE_PHY=m -CONFIG_VL6180=m -CONFIG_VLAN_8021Q_GVRP=y -CONFIG_VLAN_8021Q=m -CONFIG_VLAN_8021Q_MVRP=y -CONFIG_VLSI_FIR=m -# CONFIG_VME_BUS is not set -# CONFIG_VMXNET3 is not set -CONFIG_VORTEX=m -CONFIG_VSOCKETS=m -CONFIG_VSOCKMON=m -CONFIG_VSX=y -# CONFIG_VT6655 is not set -# CONFIG_VT6656 is not set -CONFIG_VT_CONSOLE=y -CONFIG_VT_HW_CONSOLE_BINDING=y -CONFIG_VT=y -# CONFIG_VXFS_FS is not set -# CONFIG_VXGE_DEBUG_TRACE_ALL is not set -CONFIG_VXGE=m -CONFIG_VXLAN=m -# CONFIG_VZ89X is not set -CONFIG_W1_CON=y -CONFIG_W1=m -# CONFIG_W1_MASTER_DS1WM is not set -CONFIG_W1_MASTER_DS2482=m -CONFIG_W1_MASTER_DS2490=m -# CONFIG_W1_MASTER_GPIO is not set -# CONFIG_W1_MASTER_MATROX is not set -CONFIG_W1_SLAVE_BQ27000=m -CONFIG_W1_SLAVE_DS2405=m -CONFIG_W1_SLAVE_DS2406=m -CONFIG_W1_SLAVE_DS2408=m -# CONFIG_W1_SLAVE_DS2408_READBACK is not set -CONFIG_W1_SLAVE_DS2413=m -CONFIG_W1_SLAVE_DS2423=m -CONFIG_W1_SLAVE_DS2431=m -CONFIG_W1_SLAVE_DS2433_CRC=y -CONFIG_W1_SLAVE_DS2433=m -CONFIG_W1_SLAVE_DS2438=m -CONFIG_W1_SLAVE_DS2760=m -CONFIG_W1_SLAVE_DS2780=m -CONFIG_W1_SLAVE_DS2781=m -CONFIG_W1_SLAVE_DS28E04=m -CONFIG_W1_SLAVE_SMEM=m -CONFIG_W1_SLAVE_THERM=m -CONFIG_W83627HF_WDT=m -CONFIG_W83877F_WDT=m -CONFIG_W83977F_WDT=m -# CONFIG_WAFER_WDT is not set -# CONFIG_WAN is not set -# CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set -CONFIG_WATCHDOG_CORE=y -CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED=y -# CONFIG_WATCHDOG_NOWAYOUT is not set -# CONFIG_WATCHDOG_PRETIMEOUT_GOV is not set -CONFIG_WATCHDOG_RTAS=m -CONFIG_WATCHDOG_SYSFS=y -CONFIG_WATCHDOG=y -# CONFIG_WCN36XX_DEBUGFS is not set -CONFIG_WCN36XX=m -CONFIG_WDAT_WDT=m -CONFIG_WDTPCI=m -CONFIG_WIL6210_ISR_COR=y -CONFIG_WIL6210=m -# CONFIG_WIL6210_TRACING is not set -# CONFIG_WILC1000_SDIO is not set -# CONFIG_WILC1000_SPI is not set -CONFIG_WILINK_PLATFORM_DATA=y -# CONFIG_WIMAX is not set -CONFIG_WINBOND_840=m -CONFIG_WINBOND_FIR=m -# CONFIG_WINDFARM is not set -CONFIG_WIRELESS_EXT=y -CONFIG_WIRELESS=y -CONFIG_WIZNET_W5100=m -CONFIG_WIZNET_W5100_SPI=m -CONFIG_WIZNET_W5300=m -CONFIG_WL1251=m -CONFIG_WL1251_SDIO=m -CONFIG_WL1251_SPI=m -CONFIG_WL12XX=m -CONFIG_WL18XX=m -# CONFIG_WLAN_VENDOR_ADMTEK is not set -CONFIG_WLAN_VENDOR_ATH=y -# CONFIG_WLAN_VENDOR_ATMEL is not set -CONFIG_WLAN_VENDOR_BROADCOM=y -# CONFIG_WLAN_VENDOR_CISCO is not set -CONFIG_WLAN_VENDOR_INTEL=y -CONFIG_WLAN_VENDOR_INTERSIL=y -CONFIG_WLAN_VENDOR_MARVELL=y -CONFIG_WLAN_VENDOR_MEDIATEK=y -CONFIG_WLAN_VENDOR_QUANTENNA=y -CONFIG_WLAN_VENDOR_RALINK=y -CONFIG_WLAN_VENDOR_REALTEK=y -CONFIG_WLAN_VENDOR_RSI=y -CONFIG_WLAN_VENDOR_ST=y -CONFIG_WLAN_VENDOR_TI=y -CONFIG_WLAN_VENDOR_ZYDAS=y -CONFIG_WLAN=y -CONFIG_WLCORE=m -CONFIG_WLCORE_SDIO=m -CONFIG_WLCORE_SPI=m -# CONFIG_WM831X_POWER is not set -CONFIG_WM831X_WATCHDOG=m -CONFIG_WM8350_POWER=m -CONFIG_WM8350_WATCHDOG=m -# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set -# CONFIG_WQ_WATCHDOG is not set -# CONFIG_WW_MUTEX_SELFTEST is not set -# CONFIG_X25 is not set -# CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK is not set -CONFIG_X86_MCELOG_LEGACY=y -# CONFIG_X86_PTDUMP is not set -CONFIG_XFRM_MIGRATE=y -CONFIG_XFRM_STATISTICS=y -CONFIG_XFRM_SUB_POLICY=y -CONFIG_XFRM_USER=y -CONFIG_XFRM=y -# CONFIG_XFS_DEBUG is not set -CONFIG_XFS_FS=m -CONFIG_XFS_POSIX_ACL=y -CONFIG_XFS_QUOTA=y -# CONFIG_XFS_RT is not set -# CONFIG_XFS_WARN is not set -# CONFIG_XILINX_DMA is not set -# CONFIG_XILINX_EMACLITE is not set -CONFIG_XILINX_GMII2RGMII=m -# CONFIG_XILINX_LL_TEMAC is not set -# CONFIG_XILINX_WATCHDOG is not set -CONFIG_XILLYBUS=m -# CONFIG_XILLYBUS_OF is not set -CONFIG_XILLYBUS_PCIE=m -# CONFIG_XMON_DEFAULT is not set -CONFIG_XMON_DISASSEMBLY=y -CONFIG_XMON=y -# CONFIG_XPS_USB_HCD_XILINX is not set -CONFIG_XZ_DEC_IA64=y -CONFIG_XZ_DEC_POWERPC=y -CONFIG_XZ_DEC_SPARC=y -# CONFIG_XZ_DEC_TEST is not set -CONFIG_XZ_DEC_X86=y -CONFIG_XZ_DEC=y -CONFIG_YAM=m -CONFIG_YELLOWFIN=m -CONFIG_YENTA=m -CONFIG_Z3FOLD=y -CONFIG_ZBUD=y -# CONFIG_ZD1211RW_DEBUG is not set -CONFIG_ZD1211RW=m -CONFIG_ZEROPLUS_FF=y -# CONFIG_ZIIRAVE_WATCHDOG is not set -CONFIG_ZISOFS=y -CONFIG_ZLIB_DEFLATE=y -CONFIG_ZLIB_INFLATE=y -# CONFIG_ZONE_DEVICE is not set -# CONFIG_ZPA2326 is not set -CONFIG_ZRAM=m -# CONFIG_ZSMALLOC_STAT is not set -CONFIG_ZSMALLOC=y -CONFIG_ZSWAP=y -# CONFIG_ZX_TDM is not set diff --git a/freed-ora/current/f26/kernel-s390x-debug.config b/freed-ora/current/f26/kernel-s390x-debug.config index 7b7f56c9d..b83e148aa 100644 --- a/freed-ora/current/f26/kernel-s390x-debug.config +++ b/freed-ora/current/f26/kernel-s390x-debug.config @@ -148,7 +148,9 @@ CONFIG_AIX_PARTITION=y CONFIG_ALI_FIR=m CONFIG_ALIM1535_WDT=m # CONFIG_ALIM7101_WDT is not set +CONFIG_ALLOW_LOCKDOWN_LIFT_BY_SYSRQ=y # CONFIG_ALTERA_MBOX is not set +CONFIG_ALTERA_MSGDMA=m # CONFIG_ALTERA_STAPL is not set # CONFIG_ALTERA_TSE is not set CONFIG_ALX=m @@ -198,6 +200,7 @@ CONFIG_ATH10K=m CONFIG_ATH10K_PCI=m CONFIG_ATH10K_SDIO=m # CONFIG_ATH10K_TRACING is not set +CONFIG_ATH10K_USB=m CONFIG_ATH5K_DEBUG=y CONFIG_ATH5K=m # CONFIG_ATH5K_TRACER is not set @@ -332,6 +335,7 @@ CONFIG_BATMAN_ADV_NC=y # CONFIG_BATTERY_LEGO_EV3 is not set # CONFIG_BATTERY_MAX17040 is not set # CONFIG_BATTERY_MAX17042 is not set +# CONFIG_BATTERY_MAX1721X is not set # CONFIG_BATTERY_SBS is not set CONFIG_BAYCOM_EPP=m CONFIG_BAYCOM_PAR=m @@ -373,7 +377,6 @@ CONFIG_BINFMT_MISC=m CONFIG_BINFMT_SCRIPT=y CONFIG_BLK_CGROUP=y # CONFIG_BLK_CMDLINE_PARSER is not set -# CONFIG_BLK_CPQ_CISS_DA is not set CONFIG_BLK_DEBUG_FS=y # CONFIG_BLK_DEV_3W_XXXX_RAID is not set CONFIG_BLK_DEV_BSGLIB=y @@ -409,7 +412,6 @@ CONFIG_BLK_DEV_SR=y # CONFIG_BLK_DEV_SX8 is not set # CONFIG_BLK_DEV_THROTTLING_LOW is not set CONFIG_BLK_DEV_THROTTLING=y -# CONFIG_BLK_DEV_UB is not set # CONFIG_BLK_DEV_UMEM is not set CONFIG_BLK_DEV_XPRAM=m CONFIG_BLK_DEV=y @@ -433,6 +435,7 @@ CONFIG_BNX2=m CONFIG_BNX2X=m CONFIG_BNX2X_SRIOV=y CONFIG_BNXT_DCB=y +CONFIG_BNXT_FLOWER_OFFLOAD=y CONFIG_BNXT=m CONFIG_BNXT_SRIOV=y CONFIG_BONDING=m @@ -443,6 +446,7 @@ CONFIG_BONDING=m CONFIG_BOOT_PRINTK_DELAY=y CONFIG_BOUNCE=y CONFIG_BPF_JIT=y +CONFIG_BPF_STREAM_PARSER=y CONFIG_BPF_SYSCALL=y CONFIG_BPQETHER=m # CONFIG_BRCMDBG is not set @@ -531,7 +535,6 @@ CONFIG_BT_RFCOMM_TTY=y CONFIG_BTRFS_FS=m CONFIG_BTRFS_FS_POSIX_ACL=y # CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set -CONFIG_BT_SCO=y # CONFIG_BT_SELFTEST is not set # CONFIG_BTT is not set CONFIG_BT_WILINK=m @@ -602,12 +605,14 @@ CONFIG_CASSINI=m # CONFIG_CB710_DEBUG is not set # CONFIG_CC10001_ADC is not set # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set +# CONFIG_CCS811 is not set CONFIG_CCW_CONSOLE=y CONFIG_CCWGROUP=m CONFIG_CCW=y CONFIG_CDROM_PKTCDVD_BUFFERS=8 # CONFIG_CDROM_PKTCDVD is not set # CONFIG_CDROM_PKTCDVD_WCACHE is not set +CONFIG_CEC_PIN=y CONFIG_CEC_PLATFORM_DRIVERS=y CONFIG_CEPH_FSCACHE=y CONFIG_CEPH_FS=m @@ -650,7 +655,6 @@ CONFIG_CGROUPS=y # CONFIG_CHARGER_LTC3651 is not set # CONFIG_CHARGER_MAX8903 is not set # CONFIG_CHARGER_PCF50633 is not set -# CONFIG_CHARGER_QCOM_SMBB is not set # CONFIG_CHARGER_RT9455 is not set # CONFIG_CHARGER_SBS is not set # CONFIG_CHARGER_SMB347 is not set @@ -686,9 +690,10 @@ CONFIG_CIFS_STATS=y CONFIG_CIFS_UPCALL=y CONFIG_CIFS_WEAK_PW_HASH=y CONFIG_CIFS_XATTR=y -CONFIG_CISS_SCSI_TAPE=y CONFIG_CLEANCACHE=y +# CONFIG_CLK_HSDK is not set # CONFIG_CLK_QORIQ is not set +# CONFIG_CLOCK_THERMAL is not set CONFIG_CLS_U32_MARK=y CONFIG_CLS_U32_PERF=y CONFIG_CM32181=m @@ -696,7 +701,10 @@ CONFIG_CM32181=m # CONFIG_CM3323 is not set CONFIG_CM3605=m # CONFIG_CM36651 is not set -# CONFIG_CMA is not set +CONFIG_CMA_AREAS=7 +# CONFIG_CMA_DEBUGFS is not set +# CONFIG_CMA_DEBUG is not set +CONFIG_CMA=y # CONFIG_CMDLINE_PARTITION is not set CONFIG_CMM_IUCV=y CONFIG_CMM=m @@ -791,6 +799,7 @@ CONFIG_CRYPTO_DEV_CHELSIO=m CONFIG_CRYPTO_DEV_HIFN_795X=m CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y CONFIG_CRYPTO_DEV_NITROX_CNN55XX=m +# CONFIG_CRYPTO_DEV_SP_CCP is not set CONFIG_CRYPTO_DEV_VIRTIO=m CONFIG_CRYPTO_DH=y CONFIG_CRYPTO_DRBG_CTR=y @@ -959,6 +968,7 @@ CONFIG_DEV_APPLETALK=m # CONFIG_DEVFREQ_GOV_POWERSAVE is not set CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=m # CONFIG_DEVFREQ_GOV_USERSPACE is not set +# CONFIG_DEVFREQ_THERMAL is not set # CONFIG_DEVKMEM is not set CONFIG_DEVMEM=y CONFIG_DEVPORT=y @@ -1116,6 +1126,7 @@ CONFIG_DVB_BUDGET_PATCH=m CONFIG_DVB_CORE=m # CONFIG_DVB_CXD2099 is not set CONFIG_DVB_DDBRIDGE=m +# CONFIG_DVB_DDBRIDGE_MSIENABLE is not set # CONFIG_DVB_DEMUX_SECTION_LOSS_LOG is not set CONFIG_DVB_DM1105=m CONFIG_DVB_DYNAMIC_MINORS=y @@ -1189,7 +1200,7 @@ CONFIG_E1000=m CONFIG_E100=m CONFIG_EADM_SCH=m CONFIG_EARLY_PRINTK_DBGP=y -# CONFIG_EARLY_PRINTK_USB_XDBC is not set +CONFIG_EARLY_PRINTK_USB_XDBC=y # CONFIG_EBC_C384_WDT is not set # CONFIG_ECHO is not set CONFIG_ECRYPT_FS=m @@ -1232,7 +1243,6 @@ CONFIG_ETHERNET=y # CONFIG_EVM is not set # CONFIG_EXOFS_DEBUG is not set # CONFIG_EXOFS_FS is not set -CONFIG_EXPERIMENTAL=y # CONFIG_EXPERT is not set CONFIG_EXPORTFS=y # CONFIG_EXT2_FS is not set @@ -1451,13 +1461,14 @@ CONFIG_GIRBIL_DONGLE=m # CONFIG_GPIO_ADP5588 is not set # CONFIG_GPIO_ALTERA is not set # CONFIG_GPIO_AMDPT is not set +CONFIG_GPIO_BD9571MWV=m # CONFIG_GPIO_BT8XX is not set # CONFIG_GPIO_DWAPB is not set CONFIG_GPIO_EXAR=m # CONFIG_GPIO_FTGPIO010 is not set # CONFIG_GPIO_GENERIC_PLATFORM is not set # CONFIG_GPIO_GRGPIO is not set -CONFIG_GPIO_IT87=m +# CONFIG_GPIO_IT87 is not set # CONFIG_GPIOLIB is not set # CONFIG_GPIO_MAX7300 is not set # CONFIG_GPIO_MAX7301 is not set @@ -1477,6 +1488,7 @@ CONFIG_GPIO_PCI_IDIO_16=m # CONFIG_GPIO_SYSCON is not set # CONFIG_GPIO_SYSFS is not set # CONFIG_GPIO_TPIC2810 is not set +CONFIG_GPIO_TPS68470=y # CONFIG_GPIO_TS4900 is not set # CONFIG_GPIO_TS5500 is not set CONFIG_GPIO_VIPERBOARD=m @@ -1520,7 +1532,7 @@ CONFIG_HID_CHERRY=m CONFIG_HID_CHICONY=m CONFIG_HID_CMEDIA=m CONFIG_HID_CORSAIR=m -# CONFIG_HID_CP2112 is not set +CONFIG_HID_CP2112=m CONFIG_HID_CYPRESS=m CONFIG_HID_DRAGONRISE=m CONFIG_HID_ELECOM=m @@ -1729,7 +1741,6 @@ CONFIG_I2C_MUX_MLXCPLD=m # CONFIG_I2C_NFORCE2 is not set # CONFIG_I2C_NFORCE2_S4985 is not set # CONFIG_I2C_OCORES is not set -# CONFIG_I2C_PARPORT is not set # CONFIG_I2C_PARPORT_LIGHT is not set # CONFIG_I2C_PCA_PLATFORM is not set # CONFIG_I2C_PIIX4 is not set @@ -1841,6 +1852,7 @@ CONFIG_INET=y # CONFIG_INFINIBAND_CXGB3_DEBUG is not set # CONFIG_INFINIBAND_CXGB3 is not set # CONFIG_INFINIBAND_CXGB4 is not set +# CONFIG_INFINIBAND_EXP_USER_ACCESS is not set CONFIG_INFINIBAND_I40IW=m CONFIG_INFINIBAND_IPOIB_CM=y CONFIG_INFINIBAND_IPOIB_DEBUG_DATA=y @@ -1867,7 +1879,6 @@ CONFIG_INFINIBAND_USNIC=m # CONFIG_INFTL is not set CONFIG_INITRAMFS_SOURCE="" CONFIG_INOTIFY_USER=y -CONFIG_INOTIFY=y # CONFIG_INPUT_AD714X is not set # CONFIG_INPUT_ADXL34X is not set CONFIG_INPUT_APANEL=m @@ -1916,7 +1927,9 @@ CONFIG_INPUT_PMIC8XXX_PWRKEY=m # CONFIG_INPUT_POLLDEV is not set CONFIG_INPUT_POWERMATE=m # CONFIG_INPUT_PWM_BEEPER is not set +# CONFIG_INPUT_PWM_VIBRA is not set CONFIG_INPUT_RETU_PWRBUTTON=m +CONFIG_INPUT_RK805_PWRKEY=m # CONFIG_INPUT_SPARSEKMAP is not set # CONFIG_INPUT_TABLET is not set # CONFIG_INPUT_TOUCHSCREEN is not set @@ -1969,7 +1982,7 @@ CONFIG_IP_DCCP_CCID2=m # CONFIG_IP_DCCP_CCID3_DEBUG is not set CONFIG_IP_DCCP_CCID3=y # CONFIG_IP_DCCP_DEBUG is not set -CONFIG_IP_DCCP=m +# CONFIG_IP_DCCP is not set CONFIG_IPDDP_ENCAP=y CONFIG_IPDDP=m CONFIG_IP_FIB_TRIE_STATS=y @@ -2092,6 +2105,7 @@ CONFIG_IRDA_FAST_RR=y CONFIG_IR_ENE=m CONFIG_IR_FINTEK=m CONFIG_IR_GPIO_CIR=m +CONFIG_IR_GPIO_TX=m CONFIG_IR_HIX5HD2=m CONFIG_IR_IGORPLUGUSB=m CONFIG_IR_IGUANA=m @@ -2106,6 +2120,7 @@ CONFIG_IR_MCEUSB=m CONFIG_IR_NEC_DECODER=m CONFIG_IRNET=m CONFIG_IR_NUVOTON=m +CONFIG_IR_PWM_TX=m CONFIG_IRQ_DOMAIN_DEBUG=y # CONFIG_IRQSOFF_TRACER is not set CONFIG_IRQ_TIME_ACCOUNTING=y @@ -2330,6 +2345,7 @@ CONFIG_LCS=m # CONFIG_LDM_DEBUG is not set CONFIG_LDM_PARTITION=y # CONFIG_LEDS_AAT1290 is not set +CONFIG_LEDS_AS3645A=m # CONFIG_LEDS_BCM6328 is not set # CONFIG_LEDS_BCM6358 is not set # CONFIG_LEDS_BD2802 is not set @@ -2427,6 +2443,7 @@ CONFIG_LMP91000=m CONFIG_LOCALVERSION="" # CONFIG_LOCALVERSION_AUTO is not set CONFIG_LOCKD=m +# CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT is not set # CONFIG_LOCK_DOWN_KERNEL is not set CONFIG_LOCKD_V4=y CONFIG_LOCK_STAT=y @@ -2452,6 +2469,7 @@ CONFIG_LPFC_NVME_INITIATOR=y CONFIG_LPFC_NVME_TARGET=y CONFIG_LSI_ET1011C_PHY=m CONFIG_LSM_MMAP_MIN_ADDR=65536 +# CONFIG_LTC2471 is not set # CONFIG_LTC2485 is not set # CONFIG_LTC2497 is not set # CONFIG_LTC2632 is not set @@ -2533,6 +2551,7 @@ CONFIG_MDIO_BITBANG=m CONFIG_MDIO_DEVICE=m # CONFIG_MDIO_GPIO is not set # CONFIG_MDIO_HISI_FEMAC is not set +CONFIG_MDIO_I2C=m # CONFIG_MDIO_OCTEON is not set # CONFIG_MDIO_THUNDER is not set CONFIG_MD_LINEAR=m @@ -2601,6 +2620,7 @@ CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 # CONFIG_MFD_AXP20X_I2C is not set # CONFIG_MFD_AXP20X is not set # CONFIG_MFD_BCM590XX is not set +# CONFIG_MFD_BD9571MWV is not set # CONFIG_MFD_CORE is not set # CONFIG_MFD_CPCAP is not set # CONFIG_MFD_CROS_EC is not set @@ -2640,7 +2660,7 @@ CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 # CONFIG_MFD_RN5T618 is not set # CONFIG_MFD_RT5033 is not set # CONFIG_MFD_RTSX_PCI is not set -CONFIG_MFD_RTSX_USB=m +# CONFIG_MFD_RTSX_USB is not set # CONFIG_MFD_SEC_CORE is not set # CONFIG_MFD_SI476X_CORE is not set # CONFIG_MFD_SKY81452 is not set @@ -2665,8 +2685,9 @@ CONFIG_MFD_SM501_GPIO=y # CONFIG_MFD_TPS65912_I2C is not set # CONFIG_MFD_TPS65912 is not set # CONFIG_MFD_TPS65912_SPI is not set +# CONFIG_MFD_TPS68470 is not set # CONFIG_MFD_TPS80031 is not set -CONFIG_MFD_VIPERBOARD=m +# CONFIG_MFD_VIPERBOARD is not set # CONFIG_MFD_VX855 is not set # CONFIG_MFD_WL1273_CORE is not set # CONFIG_MFD_WM831X_I2C is not set @@ -2708,8 +2729,10 @@ CONFIG_MLX5_CORE_EN=y CONFIG_MLX5_CORE_IPOIB=y CONFIG_MLX5_CORE=m # CONFIG_MLX5_EN_IPSEC is not set +CONFIG_MLX5_ESWITCH=y # CONFIG_MLX5_FPGA is not set CONFIG_MLX5_INFINIBAND=m +CONFIG_MLX5_MPFS=y # CONFIG_MLX90614 is not set CONFIG_MLX_CPLD_PLATFORM=m CONFIG_MLXFW=m @@ -2730,7 +2753,6 @@ CONFIG_MMA7660=m # CONFIG_MMA9551 is not set # CONFIG_MMA9553 is not set # CONFIG_MMC35240 is not set -CONFIG_MMC_BLOCK_BOUNCE=y CONFIG_MMC_BLOCK=m CONFIG_MMC_BLOCK_MINORS=8 CONFIG_MMC_CB710=m @@ -3071,6 +3093,7 @@ CONFIG_NETLABEL=y CONFIG_NETLINK_DIAG=m CONFIG_NET_MPLS_GSO=m CONFIG_NET_NCSI=y +CONFIG_NET_NSH=m CONFIG_NET_NS=y # CONFIG_NET_PACKET_ENGINE is not set CONFIG_NET_PKTGEN=m @@ -3139,6 +3162,7 @@ CONFIG_NET_VENDOR_AQUANTIA=y # CONFIG_NET_VENDOR_FUJITSU is not set # CONFIG_NET_VENDOR_HISILICON is not set # CONFIG_NET_VENDOR_HP is not set +# CONFIG_NET_VENDOR_HUAWEI is not set # CONFIG_NET_VENDOR_I825XX is not set # CONFIG_NET_VENDOR_INTEL is not set # CONFIG_NET_VENDOR_MARVELL is not set @@ -3160,6 +3184,7 @@ CONFIG_NET_VENDOR_AQUANTIA=y # CONFIG_NET_VENDOR_SILAN is not set # CONFIG_NET_VENDOR_SIS is not set # CONFIG_NET_VENDOR_SMSC is not set +# CONFIG_NET_VENDOR_SNI is not set # CONFIG_NET_VENDOR_SOLARFLARE is not set # CONFIG_NET_VENDOR_STMICRO is not set # CONFIG_NET_VENDOR_SUN is not set @@ -3296,6 +3321,7 @@ CONFIG_NFT_EXTHDR=m CONFIG_NFT_FIB_INET=m CONFIG_NFT_FIB_IPV4=m CONFIG_NFT_FIB_IPV6=m +CONFIG_NFT_FIB_NETDEV=m CONFIG_NFT_FWD_NETDEV=m CONFIG_NFT_HASH=m CONFIG_NFT_LIMIT=m @@ -3450,14 +3476,8 @@ CONFIG_PANIC_TIMEOUT=0 CONFIG_PANTHERLORD_FF=y # CONFIG_PARIDE is not set CONFIG_PARMAN=m -CONFIG_PARPORT_1284=y -# CONFIG_PARPORT_AX88796 is not set # CONFIG_PARPORT is not set -# CONFIG_PARPORT_PC_FIFO is not set -CONFIG_PARPORT_PC=m -CONFIG_PARPORT_PC_PCMCIA=m -# CONFIG_PARPORT_PC_SUPERIO is not set -CONFIG_PARPORT_SERIAL=m +# CONFIG_PARPORT_PC is not set CONFIG_PARTITION_ADVANCED=y CONFIG_PATA_ACPI=m CONFIG_PATA_ALI=m @@ -3519,6 +3539,7 @@ CONFIG_PCIEAER=y # CONFIG_PCIEASPM_DEBUG is not set CONFIG_PCIEASPM=y CONFIG_PCIE_DPC=y +# CONFIG_PCIE_DW_HOST_ECAM is not set # CONFIG_PCIE_DW_PLAT is not set CONFIG_PCIE_ECRC=y # CONFIG_PCI_ENDPOINT is not set @@ -3568,6 +3589,8 @@ CONFIG_PFAULT=y # CONFIG_PHONET is not set # CONFIG_PHY_CPCAP_USB is not set CONFIG_PHYLIB=m +CONFIG_PHYLINK=m +# CONFIG_PHY_MVEBU_CP110_COMPHY is not set # CONFIG_PHY_PXA_28NM_HSIC is not set # CONFIG_PHY_PXA_28NM_USB2 is not set # CONFIG_PHY_QCOM_USB_HSIC is not set @@ -3575,13 +3598,16 @@ CONFIG_PHYLIB=m # CONFIG_PHY_ST_SPEAR1310_MIPHY is not set # CONFIG_PHY_ST_SPEAR1340_MIPHY is not set # CONFIG_PHY_TUSB1210 is not set +# CONFIG_PI433 is not set CONFIG_PID_NS=y # CONFIG_PINCONF is not set # CONFIG_PINCTRL_CANNONLAKE is not set # CONFIG_PINCTRL_IPQ8074 is not set # CONFIG_PINCTRL is not set # CONFIG_PINCTRL_MCP23S08 is not set -# CONFIG_PINCTRL_MSM8994 is not set +CONFIG_PINCTRL_RK805=m +# CONFIG_PINCTRL_SPRD is not set +# CONFIG_PINCTRL_SPRD_SC9860 is not set # CONFIG_PINCTRL_SX150X is not set # CONFIG_PINMUX is not set CONFIG_PKCS7_MESSAGE_PARSER=y @@ -3598,7 +3624,7 @@ CONFIG_PM_DEBUG=y # CONFIG_PM_DEVFREQ is not set # CONFIG_PMIC_ADP5520 is not set # CONFIG_PMIC_DA903X is not set -# CONFIG_PM_OPP is not set +CONFIG_PM_OPP=y CONFIG_PM_STD_PARTITION="" CONFIG_PM_TEST_SUSPEND=y CONFIG_PM_TRACE_RTC=y @@ -3635,7 +3661,6 @@ CONFIG_PPP_SYNC_TTY=m CONFIG_PPS_CLIENT_GPIO=m # CONFIG_PPS_CLIENT_KTIMER is not set CONFIG_PPS_CLIENT_LDISC=m -CONFIG_PPS_CLIENT_PARPORT=m # CONFIG_PPS_DEBUG is not set CONFIG_PPS_GENERATOR_PARPORT=m CONFIG_PPS=m @@ -3680,6 +3705,7 @@ CONFIG_PWRSEQ_SIMPLE=m # CONFIG_QCA7000_SPI is not set # CONFIG_QCA7000_UART is not set # CONFIG_QCOM_EMAC is not set +# CONFIG_QCOM_GLINK_SSR is not set # CONFIG_QCOM_HIDMA is not set # CONFIG_QCOM_HIDMA_MGMT is not set CONFIG_QDIO=m @@ -3714,6 +3740,7 @@ CONFIG_R8169=m # CONFIG_R8188EU is not set CONFIG_R8712U=m CONFIG_R8723AU=m # Jes Sorensen maintains this (rhbz 1100162) +CONFIG_R8822BE=m CONFIG_RADIO_ADAPTERS=y CONFIG_RADIO_AZTECH=m CONFIG_RADIO_CADET=m @@ -3780,6 +3807,7 @@ CONFIG_REALTEK_PHY=m CONFIG_REFCOUNT_FULL=y CONFIG_REGMAP_I2C=m CONFIG_REGMAP=y +CONFIG_REGULATOR_BD9571MWV=m # CONFIG_REGULATOR_DEBUG is not set # CONFIG_REGULATOR is not set # CONFIG_REGULATOR_TPS65132 is not set @@ -3793,7 +3821,9 @@ CONFIG_REISERFS_PROC_INFO=y CONFIG_RELAY=y # CONFIG_RELOCATABLE_TEST is not set CONFIG_REMOTEPROC=m +CONFIG_RESET_ATTACK_MITIGATION=y # CONFIG_RESET_CONTROLLER is not set +# CONFIG_RESET_HSDK_V1 is not set # CONFIG_RESET_TI_SYSCON is not set # CONFIG_RFD_FTL is not set CONFIG_RFKILL_GPIO=m @@ -3813,6 +3843,8 @@ CONFIG_RMI4_F55=y CONFIG_RMI4_I2C=m CONFIG_RMI4_SMB=m CONFIG_RMI4_SPI=m +# CONFIG_RMNET is not set +# CONFIG_ROCKCHIP_PHY is not set CONFIG_ROCKER=m CONFIG_ROCKETPORT=m CONFIG_ROMFS_FS=m @@ -3820,6 +3852,7 @@ CONFIG_ROSE=m CONFIG_RPCSEC_GSS_KRB5=m # CONFIG_RPMSG_CHAR is not set # CONFIG_RPMSG_QCOM_GLINK_RPM is not set +# CONFIG_RPMSG_QCOM_GLINK_SMEM is not set CONFIG_RPR0521=m CONFIG_RSI_91X=m CONFIG_RSI_DEBUGFS=y @@ -4202,6 +4235,7 @@ CONFIG_SENSORS_HDAPS=m # CONFIG_SENSORS_HMC5843_SPI is not set # CONFIG_SENSORS_I5K_AMB is not set CONFIG_SENSORS_IBMAEM=m +# CONFIG_SENSORS_IBM_CFFPS is not set CONFIG_SENSORS_IBMPEX=m # CONFIG_SENSORS_IIO_HWMON is not set CONFIG_SENSORS_INA209=m @@ -4291,6 +4325,7 @@ CONFIG_SENSORS_TMP108=m CONFIG_SENSORS_TMP401=m CONFIG_SENSORS_TMP421=m CONFIG_SENSORS_TPS40422=m +CONFIG_SENSORS_TPS53679=m # CONFIG_SENSORS_TSL2550 is not set # CONFIG_SENSORS_TSL2563 is not set CONFIG_SENSORS_UCD9000=m @@ -4360,6 +4395,7 @@ CONFIG_SERIO_ALTERA_PS2=m # CONFIG_SERIO_APBPS2 is not set CONFIG_SERIO_ARC_PS2=m # CONFIG_SERIO_CT82C710 is not set +# CONFIG_SERIO_GPIO_PS2 is not set CONFIG_SERIO_I8042=y # CONFIG_SERIO is not set CONFIG_SERIO_LIBPS2=m @@ -4372,6 +4408,7 @@ CONFIG_SERIO_SERPORT=m CONFIG_SFC_FALCON=m CONFIG_SFC_FALCON_MTD=y # CONFIG_SFC is not set +CONFIG_SFP=m # CONFIG_SGI_IOC4 is not set # CONFIG_SGI_PARTITION is not set CONFIG_SHARED_KERNEL=y @@ -4391,6 +4428,7 @@ CONFIG_SKGE_GENESIS=y CONFIG_SKGE=m # CONFIG_SKY2_DEBUG is not set CONFIG_SKY2=m +CONFIG_SLAB_FREELIST_HARDENED=y CONFIG_SLAB_FREELIST_RANDOM=y CONFIG_SLAB_MERGE_DEFAULT=y # CONFIG_SLICOSS is not set @@ -4499,7 +4537,7 @@ CONFIG_SND_HDA_INPUT_BEEP_MODE=0 CONFIG_SND_HDA_INPUT_BEEP=y CONFIG_SND_HDA_INTEL=m CONFIG_SND_HDA_PATCH_LOADER=y -CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0 +CONFIG_SND_HDA_POWER_SAVE_DEFAULT=1 CONFIG_SND_HDA_POWER_SAVE=y CONFIG_SND_HDA_PREALLOC_SIZE=4096 CONFIG_SND_HDA_RECONFIG=y @@ -4588,6 +4626,7 @@ CONFIG_SND_SOC_CS42L42=m # CONFIG_SND_SOC_CS42L56 is not set # CONFIG_SND_SOC_CS42L73 is not set # CONFIG_SND_SOC_CS42XX8_I2C is not set +CONFIG_SND_SOC_CS43130=m # CONFIG_SND_SOC_CS4349 is not set # CONFIG_SND_SOC_CS53L30 is not set CONFIG_SND_SOC_DIO2125=m @@ -4650,6 +4689,7 @@ CONFIG_SND_SOC_SPDIF=m # CONFIG_SND_SOC_TS3A227E is not set # CONFIG_SND_SOC_WM8510 is not set # CONFIG_SND_SOC_WM8523 is not set +CONFIG_SND_SOC_WM8524=m # CONFIG_SND_SOC_WM8580 is not set # CONFIG_SND_SOC_WM8711 is not set # CONFIG_SND_SOC_WM8728 is not set @@ -4741,6 +4781,7 @@ CONFIG_SQUASHFS=m CONFIG_SQUASHFS_XATTR=y CONFIG_SQUASHFS_XZ=y CONFIG_SQUASHFS_ZLIB=y +CONFIG_SQUASHFS_ZSTD=y # CONFIG_SRAM is not set # CONFIG_SRF04 is not set # CONFIG_SRF08 is not set @@ -4775,6 +4816,7 @@ CONFIG_STMMAC_ETH=m # CONFIG_STMMAC_PLATFORM is not set # CONFIG_STM_SOURCE_CONSOLE is not set CONFIG_STRICT_DEVMEM=y +# CONFIG_STRING_SELFTEST is not set CONFIG_STRIP_ASM_SYMS=y # CONFIG_STRIP is not set CONFIG_SUNDANCE=m @@ -4931,7 +4973,6 @@ CONFIG_TIPC=m CONFIG_TIPC_MEDIA_UDP=y CONFIG_TI_SCI_PROTOCOL=m # CONFIG_TI_ST is not set -# CONFIG_TI_SYSCON_RESET is not set # CONFIG_TI_TLC4541 is not set CONFIG_TLAN=m CONFIG_TLS=m @@ -5216,7 +5257,6 @@ CONFIG_USB_KEENE=m CONFIG_USB_LAN78XX=m CONFIG_USB_LCD=m CONFIG_USB_LD=m -CONFIG_USB_LED=m CONFIG_USB_LEDS_TRIGGER_USBPORT=m CONFIG_USB_LED_TRIG=y CONFIG_USB_LEGOTOWER=m @@ -5318,7 +5358,6 @@ CONFIG_USB_SERIAL_KLSI=m CONFIG_USB_SERIAL_KOBIL_SCT=m CONFIG_USB_SERIAL_MCT_U232=m # CONFIG_USB_SERIAL_METRO is not set -CONFIG_USB_SERIAL_MOS7715_PARPORT=y CONFIG_USB_SERIAL_MOS7720=m CONFIG_USB_SERIAL_MOS7840=m # CONFIG_USB_SERIAL_MXUPORT is not set @@ -5493,7 +5532,6 @@ CONFIG_VIDEO_NOON010PC30=m CONFIG_VIDEO_PVRUSB2_DVB=y CONFIG_VIDEO_PVRUSB2=m CONFIG_VIDEO_PVRUSB2_SYSFS=y -# CONFIG_VIDEO_RENESAS_VSP1 is not set CONFIG_VIDEO_SAA6588=m CONFIG_VIDEO_SAA7134_ALSA=m CONFIG_VIDEO_SAA7134_DVB=m @@ -5554,6 +5592,7 @@ CONFIG_VLAN_8021Q_GVRP=y CONFIG_VLAN_8021Q=m CONFIG_VLAN_8021Q_MVRP=y CONFIG_VLSI_FIR=m +CONFIG_VMCP_CMA_SIZE=4 CONFIG_VMCP=y # CONFIG_VME_BUS is not set CONFIG_VMLOGRDR=m @@ -5592,6 +5631,7 @@ CONFIG_W1_SLAVE_DS2438=m CONFIG_W1_SLAVE_DS2760=m CONFIG_W1_SLAVE_DS2780=m CONFIG_W1_SLAVE_DS2781=m +CONFIG_W1_SLAVE_DS2805=m CONFIG_W1_SLAVE_DS28E04=m CONFIG_W1_SLAVE_SMEM=m CONFIG_W1_SLAVE_THERM=m @@ -5612,6 +5652,7 @@ CONFIG_WATCHDOG=y CONFIG_WCN36XX=m CONFIG_WDAT_WDT=m # CONFIG_WDTPCI is not set +CONFIG_WIL6210_DEBUGFS=y CONFIG_WIL6210_ISR_COR=y CONFIG_WIL6210=m # CONFIG_WIL6210_TRACING is not set @@ -5701,6 +5742,7 @@ CONFIG_ZLIB_DEFLATE=y CONFIG_ZLIB_INFLATE=y # CONFIG_ZPA2326 is not set CONFIG_ZRAM=m +# CONFIG_ZRAM_WRITEBACK is not set # CONFIG_ZSMALLOC_STAT is not set CONFIG_ZSMALLOC=y CONFIG_ZSWAP=y diff --git a/freed-ora/current/f26/kernel-s390x.config b/freed-ora/current/f26/kernel-s390x.config index fdf0c062d..27d1c0592 100644 --- a/freed-ora/current/f26/kernel-s390x.config +++ b/freed-ora/current/f26/kernel-s390x.config @@ -148,7 +148,9 @@ CONFIG_AIX_PARTITION=y CONFIG_ALI_FIR=m CONFIG_ALIM1535_WDT=m # CONFIG_ALIM7101_WDT is not set +CONFIG_ALLOW_LOCKDOWN_LIFT_BY_SYSRQ=y # CONFIG_ALTERA_MBOX is not set +CONFIG_ALTERA_MSGDMA=m # CONFIG_ALTERA_STAPL is not set # CONFIG_ALTERA_TSE is not set CONFIG_ALX=m @@ -197,6 +199,7 @@ CONFIG_ATH10K=m CONFIG_ATH10K_PCI=m CONFIG_ATH10K_SDIO=m # CONFIG_ATH10K_TRACING is not set +CONFIG_ATH10K_USB=m CONFIG_ATH5K_DEBUG=y CONFIG_ATH5K=m # CONFIG_ATH5K_TRACER is not set @@ -331,6 +334,7 @@ CONFIG_BATMAN_ADV_NC=y # CONFIG_BATTERY_LEGO_EV3 is not set # CONFIG_BATTERY_MAX17040 is not set # CONFIG_BATTERY_MAX17042 is not set +# CONFIG_BATTERY_MAX1721X is not set # CONFIG_BATTERY_SBS is not set CONFIG_BAYCOM_EPP=m CONFIG_BAYCOM_PAR=m @@ -372,7 +376,6 @@ CONFIG_BINFMT_MISC=m CONFIG_BINFMT_SCRIPT=y CONFIG_BLK_CGROUP=y # CONFIG_BLK_CMDLINE_PARSER is not set -# CONFIG_BLK_CPQ_CISS_DA is not set CONFIG_BLK_DEBUG_FS=y # CONFIG_BLK_DEV_3W_XXXX_RAID is not set CONFIG_BLK_DEV_BSGLIB=y @@ -408,7 +411,6 @@ CONFIG_BLK_DEV_SR=y # CONFIG_BLK_DEV_SX8 is not set # CONFIG_BLK_DEV_THROTTLING_LOW is not set CONFIG_BLK_DEV_THROTTLING=y -# CONFIG_BLK_DEV_UB is not set # CONFIG_BLK_DEV_UMEM is not set CONFIG_BLK_DEV_XPRAM=m CONFIG_BLK_DEV=y @@ -432,6 +434,7 @@ CONFIG_BNX2=m CONFIG_BNX2X=m CONFIG_BNX2X_SRIOV=y CONFIG_BNXT_DCB=y +CONFIG_BNXT_FLOWER_OFFLOAD=y CONFIG_BNXT=m CONFIG_BNXT_SRIOV=y CONFIG_BONDING=m @@ -442,6 +445,7 @@ CONFIG_BONDING=m CONFIG_BOOT_PRINTK_DELAY=y CONFIG_BOUNCE=y CONFIG_BPF_JIT=y +CONFIG_BPF_STREAM_PARSER=y CONFIG_BPF_SYSCALL=y CONFIG_BPQETHER=m # CONFIG_BRCMDBG is not set @@ -530,7 +534,6 @@ CONFIG_BT_RFCOMM_TTY=y CONFIG_BTRFS_FS=m CONFIG_BTRFS_FS_POSIX_ACL=y # CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set -CONFIG_BT_SCO=y # CONFIG_BT_SELFTEST is not set # CONFIG_BTT is not set CONFIG_BT_WILINK=m @@ -601,12 +604,14 @@ CONFIG_CASSINI=m # CONFIG_CB710_DEBUG is not set # CONFIG_CC10001_ADC is not set # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set +# CONFIG_CCS811 is not set CONFIG_CCW_CONSOLE=y CONFIG_CCWGROUP=m CONFIG_CCW=y CONFIG_CDROM_PKTCDVD_BUFFERS=8 # CONFIG_CDROM_PKTCDVD is not set # CONFIG_CDROM_PKTCDVD_WCACHE is not set +CONFIG_CEC_PIN=y CONFIG_CEC_PLATFORM_DRIVERS=y CONFIG_CEPH_FSCACHE=y CONFIG_CEPH_FS=m @@ -649,7 +654,6 @@ CONFIG_CGROUPS=y # CONFIG_CHARGER_LTC3651 is not set # CONFIG_CHARGER_MAX8903 is not set # CONFIG_CHARGER_PCF50633 is not set -# CONFIG_CHARGER_QCOM_SMBB is not set # CONFIG_CHARGER_RT9455 is not set # CONFIG_CHARGER_SBS is not set # CONFIG_CHARGER_SMB347 is not set @@ -685,9 +689,10 @@ CONFIG_CIFS_STATS=y CONFIG_CIFS_UPCALL=y CONFIG_CIFS_WEAK_PW_HASH=y CONFIG_CIFS_XATTR=y -CONFIG_CISS_SCSI_TAPE=y CONFIG_CLEANCACHE=y +# CONFIG_CLK_HSDK is not set # CONFIG_CLK_QORIQ is not set +# CONFIG_CLOCK_THERMAL is not set CONFIG_CLS_U32_MARK=y CONFIG_CLS_U32_PERF=y CONFIG_CM32181=m @@ -695,7 +700,10 @@ CONFIG_CM32181=m # CONFIG_CM3323 is not set CONFIG_CM3605=m # CONFIG_CM36651 is not set -# CONFIG_CMA is not set +CONFIG_CMA_AREAS=7 +# CONFIG_CMA_DEBUGFS is not set +# CONFIG_CMA_DEBUG is not set +CONFIG_CMA=y # CONFIG_CMDLINE_PARTITION is not set CONFIG_CMM_IUCV=y CONFIG_CMM=m @@ -789,6 +797,7 @@ CONFIG_CRYPTO_DEV_CHELSIO=m CONFIG_CRYPTO_DEV_HIFN_795X=m CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y CONFIG_CRYPTO_DEV_NITROX_CNN55XX=m +# CONFIG_CRYPTO_DEV_SP_CCP is not set CONFIG_CRYPTO_DEV_VIRTIO=m CONFIG_CRYPTO_DH=y CONFIG_CRYPTO_DRBG_CTR=y @@ -949,6 +958,7 @@ CONFIG_DEV_APPLETALK=m # CONFIG_DEVFREQ_GOV_POWERSAVE is not set CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=m # CONFIG_DEVFREQ_GOV_USERSPACE is not set +# CONFIG_DEVFREQ_THERMAL is not set # CONFIG_DEVKMEM is not set CONFIG_DEVMEM=y CONFIG_DEVPORT=y @@ -1105,6 +1115,7 @@ CONFIG_DVB_BUDGET_PATCH=m CONFIG_DVB_CORE=m # CONFIG_DVB_CXD2099 is not set CONFIG_DVB_DDBRIDGE=m +# CONFIG_DVB_DDBRIDGE_MSIENABLE is not set # CONFIG_DVB_DEMUX_SECTION_LOSS_LOG is not set CONFIG_DVB_DM1105=m CONFIG_DVB_DYNAMIC_MINORS=y @@ -1178,7 +1189,7 @@ CONFIG_E1000=m CONFIG_E100=m CONFIG_EADM_SCH=m CONFIG_EARLY_PRINTK_DBGP=y -# CONFIG_EARLY_PRINTK_USB_XDBC is not set +CONFIG_EARLY_PRINTK_USB_XDBC=y # CONFIG_EBC_C384_WDT is not set # CONFIG_ECHO is not set CONFIG_ECRYPT_FS=m @@ -1221,7 +1232,6 @@ CONFIG_ETHERNET=y # CONFIG_EVM is not set # CONFIG_EXOFS_DEBUG is not set # CONFIG_EXOFS_FS is not set -CONFIG_EXPERIMENTAL=y # CONFIG_EXPERT is not set CONFIG_EXPORTFS=y # CONFIG_EXT2_FS is not set @@ -1433,13 +1443,14 @@ CONFIG_GIRBIL_DONGLE=m # CONFIG_GPIO_ADP5588 is not set # CONFIG_GPIO_ALTERA is not set # CONFIG_GPIO_AMDPT is not set +CONFIG_GPIO_BD9571MWV=m # CONFIG_GPIO_BT8XX is not set # CONFIG_GPIO_DWAPB is not set CONFIG_GPIO_EXAR=m # CONFIG_GPIO_FTGPIO010 is not set # CONFIG_GPIO_GENERIC_PLATFORM is not set # CONFIG_GPIO_GRGPIO is not set -CONFIG_GPIO_IT87=m +# CONFIG_GPIO_IT87 is not set # CONFIG_GPIOLIB is not set # CONFIG_GPIO_MAX7300 is not set # CONFIG_GPIO_MAX7301 is not set @@ -1459,6 +1470,7 @@ CONFIG_GPIO_PCI_IDIO_16=m # CONFIG_GPIO_SYSCON is not set # CONFIG_GPIO_SYSFS is not set # CONFIG_GPIO_TPIC2810 is not set +CONFIG_GPIO_TPS68470=y # CONFIG_GPIO_TS4900 is not set # CONFIG_GPIO_TS5500 is not set CONFIG_GPIO_VIPERBOARD=m @@ -1502,7 +1514,7 @@ CONFIG_HID_CHERRY=m CONFIG_HID_CHICONY=m CONFIG_HID_CMEDIA=m CONFIG_HID_CORSAIR=m -# CONFIG_HID_CP2112 is not set +CONFIG_HID_CP2112=m CONFIG_HID_CYPRESS=m CONFIG_HID_DRAGONRISE=m CONFIG_HID_ELECOM=m @@ -1711,7 +1723,6 @@ CONFIG_I2C_MUX_MLXCPLD=m # CONFIG_I2C_NFORCE2 is not set # CONFIG_I2C_NFORCE2_S4985 is not set # CONFIG_I2C_OCORES is not set -# CONFIG_I2C_PARPORT is not set # CONFIG_I2C_PARPORT_LIGHT is not set # CONFIG_I2C_PCA_PLATFORM is not set # CONFIG_I2C_PIIX4 is not set @@ -1823,6 +1834,7 @@ CONFIG_INET=y # CONFIG_INFINIBAND_CXGB3_DEBUG is not set # CONFIG_INFINIBAND_CXGB3 is not set # CONFIG_INFINIBAND_CXGB4 is not set +# CONFIG_INFINIBAND_EXP_USER_ACCESS is not set CONFIG_INFINIBAND_I40IW=m CONFIG_INFINIBAND_IPOIB_CM=y CONFIG_INFINIBAND_IPOIB_DEBUG_DATA=y @@ -1849,7 +1861,6 @@ CONFIG_INFINIBAND_USNIC=m # CONFIG_INFTL is not set CONFIG_INITRAMFS_SOURCE="" CONFIG_INOTIFY_USER=y -CONFIG_INOTIFY=y # CONFIG_INPUT_AD714X is not set # CONFIG_INPUT_ADXL34X is not set CONFIG_INPUT_APANEL=m @@ -1898,7 +1909,9 @@ CONFIG_INPUT_PMIC8XXX_PWRKEY=m # CONFIG_INPUT_POLLDEV is not set CONFIG_INPUT_POWERMATE=m # CONFIG_INPUT_PWM_BEEPER is not set +# CONFIG_INPUT_PWM_VIBRA is not set CONFIG_INPUT_RETU_PWRBUTTON=m +CONFIG_INPUT_RK805_PWRKEY=m # CONFIG_INPUT_SPARSEKMAP is not set # CONFIG_INPUT_TABLET is not set # CONFIG_INPUT_TOUCHSCREEN is not set @@ -1951,7 +1964,7 @@ CONFIG_IP_DCCP_CCID2=m # CONFIG_IP_DCCP_CCID3_DEBUG is not set CONFIG_IP_DCCP_CCID3=y # CONFIG_IP_DCCP_DEBUG is not set -CONFIG_IP_DCCP=m +# CONFIG_IP_DCCP is not set CONFIG_IPDDP_ENCAP=y CONFIG_IPDDP=m CONFIG_IP_FIB_TRIE_STATS=y @@ -2074,6 +2087,7 @@ CONFIG_IRDA_FAST_RR=y CONFIG_IR_ENE=m CONFIG_IR_FINTEK=m CONFIG_IR_GPIO_CIR=m +CONFIG_IR_GPIO_TX=m CONFIG_IR_HIX5HD2=m CONFIG_IR_IGORPLUGUSB=m CONFIG_IR_IGUANA=m @@ -2088,6 +2102,7 @@ CONFIG_IR_MCEUSB=m CONFIG_IR_NEC_DECODER=m CONFIG_IRNET=m CONFIG_IR_NUVOTON=m +CONFIG_IR_PWM_TX=m CONFIG_IRQ_DOMAIN_DEBUG=y # CONFIG_IRQSOFF_TRACER is not set CONFIG_IRQ_TIME_ACCOUNTING=y @@ -2310,6 +2325,7 @@ CONFIG_LCS=m # CONFIG_LDM_DEBUG is not set CONFIG_LDM_PARTITION=y # CONFIG_LEDS_AAT1290 is not set +CONFIG_LEDS_AS3645A=m # CONFIG_LEDS_BCM6328 is not set # CONFIG_LEDS_BCM6358 is not set # CONFIG_LEDS_BD2802 is not set @@ -2407,6 +2423,7 @@ CONFIG_LMP91000=m CONFIG_LOCALVERSION="" # CONFIG_LOCALVERSION_AUTO is not set CONFIG_LOCKD=m +# CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT is not set # CONFIG_LOCK_DOWN_KERNEL is not set CONFIG_LOCKD_V4=y # CONFIG_LOCK_STAT is not set @@ -2432,6 +2449,7 @@ CONFIG_LPFC_NVME_INITIATOR=y CONFIG_LPFC_NVME_TARGET=y CONFIG_LSI_ET1011C_PHY=m CONFIG_LSM_MMAP_MIN_ADDR=65536 +# CONFIG_LTC2471 is not set # CONFIG_LTC2485 is not set # CONFIG_LTC2497 is not set # CONFIG_LTC2632 is not set @@ -2512,6 +2530,7 @@ CONFIG_MDIO_BITBANG=m CONFIG_MDIO_DEVICE=m # CONFIG_MDIO_GPIO is not set # CONFIG_MDIO_HISI_FEMAC is not set +CONFIG_MDIO_I2C=m # CONFIG_MDIO_OCTEON is not set # CONFIG_MDIO_THUNDER is not set CONFIG_MD_LINEAR=m @@ -2580,6 +2599,7 @@ CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 # CONFIG_MFD_AXP20X_I2C is not set # CONFIG_MFD_AXP20X is not set # CONFIG_MFD_BCM590XX is not set +# CONFIG_MFD_BD9571MWV is not set # CONFIG_MFD_CORE is not set # CONFIG_MFD_CPCAP is not set # CONFIG_MFD_CROS_EC is not set @@ -2619,7 +2639,7 @@ CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 # CONFIG_MFD_RN5T618 is not set # CONFIG_MFD_RT5033 is not set # CONFIG_MFD_RTSX_PCI is not set -CONFIG_MFD_RTSX_USB=m +# CONFIG_MFD_RTSX_USB is not set # CONFIG_MFD_SEC_CORE is not set # CONFIG_MFD_SI476X_CORE is not set # CONFIG_MFD_SKY81452 is not set @@ -2644,8 +2664,9 @@ CONFIG_MFD_SM501_GPIO=y # CONFIG_MFD_TPS65912_I2C is not set # CONFIG_MFD_TPS65912 is not set # CONFIG_MFD_TPS65912_SPI is not set +# CONFIG_MFD_TPS68470 is not set # CONFIG_MFD_TPS80031 is not set -CONFIG_MFD_VIPERBOARD=m +# CONFIG_MFD_VIPERBOARD is not set # CONFIG_MFD_VX855 is not set # CONFIG_MFD_WL1273_CORE is not set # CONFIG_MFD_WM831X_I2C is not set @@ -2687,8 +2708,10 @@ CONFIG_MLX5_CORE_EN=y CONFIG_MLX5_CORE_IPOIB=y CONFIG_MLX5_CORE=m # CONFIG_MLX5_EN_IPSEC is not set +CONFIG_MLX5_ESWITCH=y # CONFIG_MLX5_FPGA is not set CONFIG_MLX5_INFINIBAND=m +CONFIG_MLX5_MPFS=y # CONFIG_MLX90614 is not set CONFIG_MLX_CPLD_PLATFORM=m CONFIG_MLXFW=m @@ -2709,7 +2732,6 @@ CONFIG_MMA7660=m # CONFIG_MMA9551 is not set # CONFIG_MMA9553 is not set # CONFIG_MMC35240 is not set -CONFIG_MMC_BLOCK_BOUNCE=y CONFIG_MMC_BLOCK=m CONFIG_MMC_BLOCK_MINORS=8 CONFIG_MMC_CB710=m @@ -3049,6 +3071,7 @@ CONFIG_NETLABEL=y CONFIG_NETLINK_DIAG=m CONFIG_NET_MPLS_GSO=m CONFIG_NET_NCSI=y +CONFIG_NET_NSH=m CONFIG_NET_NS=y # CONFIG_NET_PACKET_ENGINE is not set CONFIG_NET_PKTGEN=m @@ -3117,6 +3140,7 @@ CONFIG_NET_VENDOR_AQUANTIA=y # CONFIG_NET_VENDOR_FUJITSU is not set # CONFIG_NET_VENDOR_HISILICON is not set # CONFIG_NET_VENDOR_HP is not set +# CONFIG_NET_VENDOR_HUAWEI is not set # CONFIG_NET_VENDOR_I825XX is not set # CONFIG_NET_VENDOR_INTEL is not set # CONFIG_NET_VENDOR_MARVELL is not set @@ -3138,6 +3162,7 @@ CONFIG_NET_VENDOR_AQUANTIA=y # CONFIG_NET_VENDOR_SILAN is not set # CONFIG_NET_VENDOR_SIS is not set # CONFIG_NET_VENDOR_SMSC is not set +# CONFIG_NET_VENDOR_SNI is not set # CONFIG_NET_VENDOR_SOLARFLARE is not set # CONFIG_NET_VENDOR_STMICRO is not set # CONFIG_NET_VENDOR_SUN is not set @@ -3274,6 +3299,7 @@ CONFIG_NFT_EXTHDR=m CONFIG_NFT_FIB_INET=m CONFIG_NFT_FIB_IPV4=m CONFIG_NFT_FIB_IPV6=m +CONFIG_NFT_FIB_NETDEV=m CONFIG_NFT_FWD_NETDEV=m CONFIG_NFT_HASH=m CONFIG_NFT_LIMIT=m @@ -3428,14 +3454,8 @@ CONFIG_PANIC_TIMEOUT=0 CONFIG_PANTHERLORD_FF=y # CONFIG_PARIDE is not set CONFIG_PARMAN=m -CONFIG_PARPORT_1284=y -# CONFIG_PARPORT_AX88796 is not set # CONFIG_PARPORT is not set -# CONFIG_PARPORT_PC_FIFO is not set -CONFIG_PARPORT_PC=m -CONFIG_PARPORT_PC_PCMCIA=m -# CONFIG_PARPORT_PC_SUPERIO is not set -CONFIG_PARPORT_SERIAL=m +# CONFIG_PARPORT_PC is not set CONFIG_PARTITION_ADVANCED=y CONFIG_PATA_ACPI=m CONFIG_PATA_ALI=m @@ -3497,6 +3517,7 @@ CONFIG_PCIEAER=y # CONFIG_PCIEASPM_DEBUG is not set CONFIG_PCIEASPM=y CONFIG_PCIE_DPC=y +# CONFIG_PCIE_DW_HOST_ECAM is not set # CONFIG_PCIE_DW_PLAT is not set CONFIG_PCIE_ECRC=y # CONFIG_PCI_ENDPOINT is not set @@ -3546,6 +3567,8 @@ CONFIG_PFAULT=y # CONFIG_PHONET is not set # CONFIG_PHY_CPCAP_USB is not set CONFIG_PHYLIB=m +CONFIG_PHYLINK=m +# CONFIG_PHY_MVEBU_CP110_COMPHY is not set # CONFIG_PHY_PXA_28NM_HSIC is not set # CONFIG_PHY_PXA_28NM_USB2 is not set # CONFIG_PHY_QCOM_USB_HSIC is not set @@ -3553,13 +3576,16 @@ CONFIG_PHYLIB=m # CONFIG_PHY_ST_SPEAR1310_MIPHY is not set # CONFIG_PHY_ST_SPEAR1340_MIPHY is not set # CONFIG_PHY_TUSB1210 is not set +# CONFIG_PI433 is not set CONFIG_PID_NS=y # CONFIG_PINCONF is not set # CONFIG_PINCTRL_CANNONLAKE is not set # CONFIG_PINCTRL_IPQ8074 is not set # CONFIG_PINCTRL is not set # CONFIG_PINCTRL_MCP23S08 is not set -# CONFIG_PINCTRL_MSM8994 is not set +CONFIG_PINCTRL_RK805=m +# CONFIG_PINCTRL_SPRD is not set +# CONFIG_PINCTRL_SPRD_SC9860 is not set # CONFIG_PINCTRL_SX150X is not set # CONFIG_PINMUX is not set CONFIG_PKCS7_MESSAGE_PARSER=y @@ -3576,7 +3602,7 @@ CONFIG_PM_DEBUG=y # CONFIG_PM_DEVFREQ is not set # CONFIG_PMIC_ADP5520 is not set # CONFIG_PMIC_DA903X is not set -# CONFIG_PM_OPP is not set +CONFIG_PM_OPP=y CONFIG_PM_STD_PARTITION="" CONFIG_PM_TEST_SUSPEND=y CONFIG_PM_TRACE_RTC=y @@ -3613,7 +3639,6 @@ CONFIG_PPP_SYNC_TTY=m CONFIG_PPS_CLIENT_GPIO=m # CONFIG_PPS_CLIENT_KTIMER is not set CONFIG_PPS_CLIENT_LDISC=m -CONFIG_PPS_CLIENT_PARPORT=m # CONFIG_PPS_DEBUG is not set CONFIG_PPS_GENERATOR_PARPORT=m CONFIG_PPS=m @@ -3657,6 +3682,7 @@ CONFIG_PWRSEQ_SIMPLE=m # CONFIG_QCA7000_SPI is not set # CONFIG_QCA7000_UART is not set # CONFIG_QCOM_EMAC is not set +# CONFIG_QCOM_GLINK_SSR is not set # CONFIG_QCOM_HIDMA is not set # CONFIG_QCOM_HIDMA_MGMT is not set CONFIG_QDIO=m @@ -3691,6 +3717,7 @@ CONFIG_R8169=m # CONFIG_R8188EU is not set CONFIG_R8712U=m CONFIG_R8723AU=m # Jes Sorensen maintains this (rhbz 1100162) +CONFIG_R8822BE=m CONFIG_RADIO_ADAPTERS=y CONFIG_RADIO_AZTECH=m CONFIG_RADIO_CADET=m @@ -3757,6 +3784,7 @@ CONFIG_REALTEK_PHY=m # CONFIG_REFCOUNT_FULL is not set CONFIG_REGMAP_I2C=m CONFIG_REGMAP=y +CONFIG_REGULATOR_BD9571MWV=m # CONFIG_REGULATOR_DEBUG is not set # CONFIG_REGULATOR is not set # CONFIG_REGULATOR_TPS65132 is not set @@ -3770,7 +3798,9 @@ CONFIG_REISERFS_PROC_INFO=y CONFIG_RELAY=y # CONFIG_RELOCATABLE_TEST is not set CONFIG_REMOTEPROC=m +CONFIG_RESET_ATTACK_MITIGATION=y # CONFIG_RESET_CONTROLLER is not set +# CONFIG_RESET_HSDK_V1 is not set # CONFIG_RESET_TI_SYSCON is not set # CONFIG_RFD_FTL is not set CONFIG_RFKILL_GPIO=m @@ -3790,6 +3820,8 @@ CONFIG_RMI4_F55=y CONFIG_RMI4_I2C=m CONFIG_RMI4_SMB=m CONFIG_RMI4_SPI=m +# CONFIG_RMNET is not set +# CONFIG_ROCKCHIP_PHY is not set CONFIG_ROCKER=m CONFIG_ROCKETPORT=m CONFIG_ROMFS_FS=m @@ -3797,6 +3829,7 @@ CONFIG_ROSE=m CONFIG_RPCSEC_GSS_KRB5=m # CONFIG_RPMSG_CHAR is not set # CONFIG_RPMSG_QCOM_GLINK_RPM is not set +# CONFIG_RPMSG_QCOM_GLINK_SMEM is not set CONFIG_RPR0521=m CONFIG_RSI_91X=m CONFIG_RSI_DEBUGFS=y @@ -4179,6 +4212,7 @@ CONFIG_SENSORS_HDAPS=m # CONFIG_SENSORS_HMC5843_SPI is not set # CONFIG_SENSORS_I5K_AMB is not set CONFIG_SENSORS_IBMAEM=m +# CONFIG_SENSORS_IBM_CFFPS is not set CONFIG_SENSORS_IBMPEX=m # CONFIG_SENSORS_IIO_HWMON is not set CONFIG_SENSORS_INA209=m @@ -4268,6 +4302,7 @@ CONFIG_SENSORS_TMP108=m CONFIG_SENSORS_TMP401=m CONFIG_SENSORS_TMP421=m CONFIG_SENSORS_TPS40422=m +CONFIG_SENSORS_TPS53679=m # CONFIG_SENSORS_TSL2550 is not set # CONFIG_SENSORS_TSL2563 is not set CONFIG_SENSORS_UCD9000=m @@ -4337,6 +4372,7 @@ CONFIG_SERIO_ALTERA_PS2=m # CONFIG_SERIO_APBPS2 is not set CONFIG_SERIO_ARC_PS2=m # CONFIG_SERIO_CT82C710 is not set +# CONFIG_SERIO_GPIO_PS2 is not set CONFIG_SERIO_I8042=y # CONFIG_SERIO is not set CONFIG_SERIO_LIBPS2=m @@ -4349,6 +4385,7 @@ CONFIG_SERIO_SERPORT=m CONFIG_SFC_FALCON=m CONFIG_SFC_FALCON_MTD=y # CONFIG_SFC is not set +CONFIG_SFP=m # CONFIG_SGI_IOC4 is not set # CONFIG_SGI_PARTITION is not set CONFIG_SHARED_KERNEL=y @@ -4368,6 +4405,7 @@ CONFIG_SKGE_GENESIS=y CONFIG_SKGE=m # CONFIG_SKY2_DEBUG is not set CONFIG_SKY2=m +CONFIG_SLAB_FREELIST_HARDENED=y CONFIG_SLAB_FREELIST_RANDOM=y CONFIG_SLAB_MERGE_DEFAULT=y # CONFIG_SLICOSS is not set @@ -4476,7 +4514,7 @@ CONFIG_SND_HDA_INPUT_BEEP_MODE=0 CONFIG_SND_HDA_INPUT_BEEP=y CONFIG_SND_HDA_INTEL=m CONFIG_SND_HDA_PATCH_LOADER=y -CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0 +CONFIG_SND_HDA_POWER_SAVE_DEFAULT=1 CONFIG_SND_HDA_POWER_SAVE=y CONFIG_SND_HDA_PREALLOC_SIZE=4096 CONFIG_SND_HDA_RECONFIG=y @@ -4564,6 +4602,7 @@ CONFIG_SND_SOC_CS42L42=m # CONFIG_SND_SOC_CS42L56 is not set # CONFIG_SND_SOC_CS42L73 is not set # CONFIG_SND_SOC_CS42XX8_I2C is not set +CONFIG_SND_SOC_CS43130=m # CONFIG_SND_SOC_CS4349 is not set # CONFIG_SND_SOC_CS53L30 is not set CONFIG_SND_SOC_DIO2125=m @@ -4626,6 +4665,7 @@ CONFIG_SND_SOC_SPDIF=m # CONFIG_SND_SOC_TS3A227E is not set # CONFIG_SND_SOC_WM8510 is not set # CONFIG_SND_SOC_WM8523 is not set +CONFIG_SND_SOC_WM8524=m # CONFIG_SND_SOC_WM8580 is not set # CONFIG_SND_SOC_WM8711 is not set # CONFIG_SND_SOC_WM8728 is not set @@ -4717,6 +4757,7 @@ CONFIG_SQUASHFS=m CONFIG_SQUASHFS_XATTR=y CONFIG_SQUASHFS_XZ=y CONFIG_SQUASHFS_ZLIB=y +CONFIG_SQUASHFS_ZSTD=y # CONFIG_SRAM is not set # CONFIG_SRF04 is not set # CONFIG_SRF08 is not set @@ -4751,6 +4792,7 @@ CONFIG_STMMAC_ETH=m # CONFIG_STMMAC_PLATFORM is not set # CONFIG_STM_SOURCE_CONSOLE is not set CONFIG_STRICT_DEVMEM=y +# CONFIG_STRING_SELFTEST is not set CONFIG_STRIP_ASM_SYMS=y # CONFIG_STRIP is not set CONFIG_SUNDANCE=m @@ -4907,7 +4949,6 @@ CONFIG_TIPC=m CONFIG_TIPC_MEDIA_UDP=y CONFIG_TI_SCI_PROTOCOL=m # CONFIG_TI_ST is not set -# CONFIG_TI_SYSCON_RESET is not set # CONFIG_TI_TLC4541 is not set CONFIG_TLAN=m CONFIG_TLS=m @@ -5192,7 +5233,6 @@ CONFIG_USB_KEENE=m CONFIG_USB_LAN78XX=m CONFIG_USB_LCD=m CONFIG_USB_LD=m -CONFIG_USB_LED=m CONFIG_USB_LEDS_TRIGGER_USBPORT=m CONFIG_USB_LED_TRIG=y CONFIG_USB_LEGOTOWER=m @@ -5294,7 +5334,6 @@ CONFIG_USB_SERIAL_KLSI=m CONFIG_USB_SERIAL_KOBIL_SCT=m CONFIG_USB_SERIAL_MCT_U232=m # CONFIG_USB_SERIAL_METRO is not set -CONFIG_USB_SERIAL_MOS7715_PARPORT=y CONFIG_USB_SERIAL_MOS7720=m CONFIG_USB_SERIAL_MOS7840=m # CONFIG_USB_SERIAL_MXUPORT is not set @@ -5469,7 +5508,6 @@ CONFIG_VIDEO_NOON010PC30=m CONFIG_VIDEO_PVRUSB2_DVB=y CONFIG_VIDEO_PVRUSB2=m CONFIG_VIDEO_PVRUSB2_SYSFS=y -# CONFIG_VIDEO_RENESAS_VSP1 is not set CONFIG_VIDEO_SAA6588=m CONFIG_VIDEO_SAA7134_ALSA=m CONFIG_VIDEO_SAA7134_DVB=m @@ -5530,6 +5568,7 @@ CONFIG_VLAN_8021Q_GVRP=y CONFIG_VLAN_8021Q=m CONFIG_VLAN_8021Q_MVRP=y CONFIG_VLSI_FIR=m +CONFIG_VMCP_CMA_SIZE=4 CONFIG_VMCP=y # CONFIG_VME_BUS is not set CONFIG_VMLOGRDR=m @@ -5568,6 +5607,7 @@ CONFIG_W1_SLAVE_DS2438=m CONFIG_W1_SLAVE_DS2760=m CONFIG_W1_SLAVE_DS2780=m CONFIG_W1_SLAVE_DS2781=m +CONFIG_W1_SLAVE_DS2805=m CONFIG_W1_SLAVE_DS28E04=m CONFIG_W1_SLAVE_SMEM=m CONFIG_W1_SLAVE_THERM=m @@ -5588,6 +5628,7 @@ CONFIG_WATCHDOG=y CONFIG_WCN36XX=m CONFIG_WDAT_WDT=m # CONFIG_WDTPCI is not set +CONFIG_WIL6210_DEBUGFS=y CONFIG_WIL6210_ISR_COR=y CONFIG_WIL6210=m # CONFIG_WIL6210_TRACING is not set @@ -5677,6 +5718,7 @@ CONFIG_ZLIB_DEFLATE=y CONFIG_ZLIB_INFLATE=y # CONFIG_ZPA2326 is not set CONFIG_ZRAM=m +# CONFIG_ZRAM_WRITEBACK is not set # CONFIG_ZSMALLOC_STAT is not set CONFIG_ZSMALLOC=y CONFIG_ZSWAP=y diff --git a/freed-ora/current/f26/kernel-x86_64-debug.config b/freed-ora/current/f26/kernel-x86_64-debug.config index 3c5a21100..19f33be8f 100644 --- a/freed-ora/current/f26/kernel-x86_64-debug.config +++ b/freed-ora/current/f26/kernel-x86_64-debug.config @@ -199,7 +199,9 @@ CONFIG_ALIENWARE_WMI=m CONFIG_ALI_FIR=m CONFIG_ALIM1535_WDT=m CONFIG_ALIM7101_WDT=m +CONFIG_ALLOW_LOCKDOWN_LIFT_BY_SYSRQ=y # CONFIG_ALTERA_MBOX is not set +CONFIG_ALTERA_MSGDMA=m CONFIG_ALTERA_STAPL=m CONFIG_ALTERA_TSE=m CONFIG_ALX=m @@ -207,6 +209,8 @@ CONFIG_ALX=m CONFIG_AMD8111_ETH=m CONFIG_AMD_IOMMU_V2=m CONFIG_AMD_IOMMU=y +# CONFIG_AMD_MEM_ENCRYPT_ACTIVE_BY_DEFAULT is not set +CONFIG_AMD_MEM_ENCRYPT=y CONFIG_AMD_NUMA=y CONFIG_AMD_PHY=m CONFIG_AMD_XGBE_DCB=y @@ -254,6 +258,7 @@ CONFIG_ATH10K=m CONFIG_ATH10K_PCI=m CONFIG_ATH10K_SDIO=m # CONFIG_ATH10K_TRACING is not set +CONFIG_ATH10K_USB=m CONFIG_ATH5K_DEBUG=y CONFIG_ATH5K=m # CONFIG_ATH5K_TRACER is not set @@ -394,6 +399,7 @@ CONFIG_BATMAN_ADV_NC=y # CONFIG_BATTERY_LEGO_EV3 is not set # CONFIG_BATTERY_MAX17040 is not set CONFIG_BATTERY_MAX17042=m +# CONFIG_BATTERY_MAX1721X is not set # CONFIG_BATTERY_SBS is not set CONFIG_BAYCOM_EPP=m CONFIG_BAYCOM_PAR=m @@ -435,7 +441,6 @@ CONFIG_BINFMT_MISC=m CONFIG_BINFMT_SCRIPT=y CONFIG_BLK_CGROUP=y # CONFIG_BLK_CMDLINE_PARSER is not set -CONFIG_BLK_CPQ_CISS_DA=m CONFIG_BLK_DEBUG_FS=y CONFIG_BLK_DEV_3W_XXXX_RAID=m CONFIG_BLK_DEV_AMD74XX=y @@ -478,7 +483,6 @@ CONFIG_BLK_DEV_SX8=m # CONFIG_BLK_DEV_THROTTLING_LOW is not set CONFIG_BLK_DEV_THROTTLING=y # CONFIG_BLK_DEV_TRIFLEX is not set -# CONFIG_BLK_DEV_UB is not set CONFIG_BLK_DEV_UMEM=m CONFIG_BLK_DEV=y CONFIG_BLK_DEV_ZONED=y @@ -501,6 +505,7 @@ CONFIG_BNX2=m CONFIG_BNX2X=m CONFIG_BNX2X_SRIOV=y CONFIG_BNXT_DCB=y +CONFIG_BNXT_FLOWER_OFFLOAD=y CONFIG_BNXT=m CONFIG_BNXT_SRIOV=y CONFIG_BONDING=m @@ -511,6 +516,7 @@ CONFIG_BONDING=m CONFIG_BOOT_PRINTK_DELAY=y CONFIG_BOUNCE=y CONFIG_BPF_JIT=y +CONFIG_BPF_STREAM_PARSER=y CONFIG_BPF_SYSCALL=y CONFIG_BPQETHER=m # CONFIG_BRCMDBG is not set @@ -599,7 +605,6 @@ CONFIG_BT_RFCOMM_TTY=y CONFIG_BTRFS_FS=m CONFIG_BTRFS_FS_POSIX_ACL=y # CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set -CONFIG_BT_SCO=y # CONFIG_BT_SELFTEST is not set CONFIG_BTT=y CONFIG_BT_WILINK=m @@ -672,11 +677,13 @@ CONFIG_CB710_CORE=m # CONFIG_CB710_DEBUG is not set # CONFIG_CC10001_ADC is not set # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set +# CONFIG_CCS811 is not set CONFIG_CC_STACKPROTECTOR_STRONG=y CONFIG_CC_STACKPROTECTOR=y CONFIG_CDROM_PKTCDVD_BUFFERS=8 CONFIG_CDROM_PKTCDVD=m # CONFIG_CDROM_PKTCDVD_WCACHE is not set +CONFIG_CEC_PIN=y CONFIG_CEC_PLATFORM_DRIVERS=y CONFIG_CEPH_FSCACHE=y CONFIG_CEPH_FS=m @@ -719,7 +726,6 @@ CONFIG_CHARGER_BQ24190=m # CONFIG_CHARGER_LTC3651 is not set # CONFIG_CHARGER_MAX8903 is not set # CONFIG_CHARGER_PCF50633 is not set -# CONFIG_CHARGER_QCOM_SMBB is not set # CONFIG_CHARGER_RT9455 is not set # CONFIG_CHARGER_SBS is not set CONFIG_CHARGER_SMB347=m @@ -756,9 +762,10 @@ CONFIG_CIFS_STATS=y CONFIG_CIFS_UPCALL=y CONFIG_CIFS_WEAK_PW_HASH=y CONFIG_CIFS_XATTR=y -CONFIG_CISS_SCSI_TAPE=y CONFIG_CLEANCACHE=y +# CONFIG_CLK_HSDK is not set # CONFIG_CLK_QORIQ is not set +# CONFIG_CLOCK_THERMAL is not set CONFIG_CLS_U32_MARK=y CONFIG_CLS_U32_PERF=y CONFIG_CM32181=m @@ -889,6 +896,7 @@ CONFIG_CRYPTO_DEV_QAT_C62X=m CONFIG_CRYPTO_DEV_QAT_C62XVF=m CONFIG_CRYPTO_DEV_QAT_DH895xCC=m CONFIG_CRYPTO_DEV_QAT_DH895xCCVF=m +# CONFIG_CRYPTO_DEV_SP_CCP is not set CONFIG_CRYPTO_DEV_VIRTIO=m CONFIG_CRYPTO_DH=y CONFIG_CRYPTO_DRBG_CTR=y @@ -1076,6 +1084,9 @@ CONFIG_DEV_DAX_PMEM=m # CONFIG_DEVFREQ_GOV_POWERSAVE is not set CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=m # CONFIG_DEVFREQ_GOV_USERSPACE is not set +# CONFIG_DEVFREQ_THERMAL is not set +CONFIG_DEVICE_PRIVATE=y +CONFIG_DEVICE_PUBLIC=y # CONFIG_DEVKMEM is not set CONFIG_DEVMEM=y CONFIG_DEVPORT=y @@ -1251,6 +1262,7 @@ CONFIG_DVB_BUDGET_PATCH=m CONFIG_DVB_CORE=m # CONFIG_DVB_CXD2099 is not set CONFIG_DVB_DDBRIDGE=m +# CONFIG_DVB_DDBRIDGE_MSIENABLE is not set # CONFIG_DVB_DEMUX_SECTION_LOSS_LOG is not set CONFIG_DVB_DM1105=m CONFIG_DVB_DYNAMIC_MINORS=y @@ -1325,7 +1337,7 @@ CONFIG_E1000=m CONFIG_E100=m CONFIG_EARLY_PRINTK_DBGP=y CONFIG_EARLY_PRINTK_EFI=y -# CONFIG_EARLY_PRINTK_USB_XDBC is not set +CONFIG_EARLY_PRINTK_USB_XDBC=y # CONFIG_EBC_C384_WDT is not set CONFIG_ECHO=m CONFIG_ECRYPT_FS=m @@ -1405,7 +1417,6 @@ CONFIG_ETHOC=m # CONFIG_EVM is not set # CONFIG_EXOFS_DEBUG is not set # CONFIG_EXOFS_FS is not set -CONFIG_EXPERIMENTAL=y # CONFIG_EXPERT is not set CONFIG_EXPORTFS=y # CONFIG_EXT2_FS is not set @@ -1649,6 +1660,7 @@ CONFIG_GIRBIL_DONGLE=m # CONFIG_GPIO_AMD8111 is not set # CONFIG_GPIO_AMDPT is not set # CONFIG_GPIO_AXP209 is not set +CONFIG_GPIO_BD9571MWV=m # CONFIG_GPIO_BT8XX is not set CONFIG_GPIO_CRYSTAL_COVE=y # CONFIG_GPIO_CS5535 is not set @@ -1683,6 +1695,7 @@ CONFIG_GPIO_PCI_IDIO_16=m # CONFIG_GPIO_SYSCON is not set # CONFIG_GPIO_SYSFS is not set # CONFIG_GPIO_TPIC2810 is not set +CONFIG_GPIO_TPS68470=y # CONFIG_GPIO_TS4900 is not set # CONFIG_GPIO_TS5500 is not set CONFIG_GPIO_VIPERBOARD=m @@ -1733,7 +1746,7 @@ CONFIG_HID_CHERRY=m CONFIG_HID_CHICONY=m CONFIG_HID_CMEDIA=m CONFIG_HID_CORSAIR=m -# CONFIG_HID_CP2112 is not set +CONFIG_HID_CP2112=m CONFIG_HID_CYPRESS=m CONFIG_HID_DRAGONRISE=m CONFIG_HID_ELECOM=m @@ -1853,6 +1866,7 @@ CONFIG_HISAX_W6692=y CONFIG_HIST_TRIGGERS=y # CONFIG_HMC6352 is not set # CONFIG_HMC_DRV is not set +CONFIG_HMM_MIRROR=y CONFIG_HOLTEK_FF=y # CONFIG_HOSTAP is not set CONFIG_HOTPLUG_CPU=y @@ -1915,6 +1929,7 @@ CONFIG_HYPERV=m CONFIG_HYPERV_NET=m CONFIG_HYPERV_STORAGE=m CONFIG_HYPERV_UTILS=m +CONFIG_HYPERV_VSOCKETS=m CONFIG_HYSDN_CAPI=y CONFIG_HYSDN=m CONFIG_HZ_1000=y @@ -2090,6 +2105,7 @@ CONFIG_INET=y # CONFIG_INFINIBAND_CXGB3_DEBUG is not set CONFIG_INFINIBAND_CXGB3=m CONFIG_INFINIBAND_CXGB4=m +# CONFIG_INFINIBAND_EXP_USER_ACCESS is not set CONFIG_INFINIBAND_HFI1=m CONFIG_INFINIBAND_I40IW=m CONFIG_INFINIBAND_IPOIB_CM=y @@ -2118,7 +2134,6 @@ CONFIG_INFINIBAND_VMWARE_PVRDMA=m # CONFIG_INFTL is not set CONFIG_INITRAMFS_SOURCE="" CONFIG_INOTIFY_USER=y -CONFIG_INOTIFY=y # CONFIG_INPUT_AD714X is not set # CONFIG_INPUT_ADXL34X is not set CONFIG_INPUT_APANEL=m @@ -2168,7 +2183,9 @@ CONFIG_INPUT_PMIC8XXX_PWRKEY=m CONFIG_INPUT_POLLDEV=m CONFIG_INPUT_POWERMATE=m # CONFIG_INPUT_PWM_BEEPER is not set +# CONFIG_INPUT_PWM_VIBRA is not set CONFIG_INPUT_RETU_PWRBUTTON=m +CONFIG_INPUT_RK805_PWRKEY=m CONFIG_INPUT_SOC_BUTTON_ARRAY=m CONFIG_INPUT_SPARSEKMAP=m CONFIG_INPUT_TABLET=y @@ -2213,6 +2230,7 @@ CONFIG_INTEL_POWERCLAMP=m CONFIG_INTEL_PUNIT_IPC=m CONFIG_INTEL_RAPL=m CONFIG_INTEL_RDT_A=y +CONFIG_INTEL_RDT=y CONFIG_INTEL_RST=m # CONFIG_INTEL_SCU_IPC is not set CONFIG_INTEL_SMARTCONNECT=y @@ -2266,7 +2284,7 @@ CONFIG_IP_DCCP_CCID2=m # CONFIG_IP_DCCP_CCID3_DEBUG is not set CONFIG_IP_DCCP_CCID3=y # CONFIG_IP_DCCP_DEBUG is not set -CONFIG_IP_DCCP=m +# CONFIG_IP_DCCP is not set CONFIG_IPDDP_ENCAP=y CONFIG_IPDDP=m CONFIG_IP_FIB_TRIE_STATS=y @@ -2393,6 +2411,7 @@ CONFIG_IRDA=m CONFIG_IR_ENE=m CONFIG_IR_FINTEK=m CONFIG_IR_GPIO_CIR=m +CONFIG_IR_GPIO_TX=m CONFIG_IR_HIX5HD2=m CONFIG_IR_IGORPLUGUSB=m CONFIG_IR_IGUANA=m @@ -2407,6 +2426,7 @@ CONFIG_IR_MCEUSB=m CONFIG_IR_NEC_DECODER=m CONFIG_IRNET=m CONFIG_IR_NUVOTON=m +CONFIG_IR_PWM_TX=m # CONFIG_IRQ_DOMAIN_DEBUG is not set CONFIG_IRQ_REMAP=y # CONFIG_IRQSOFF_TRACER is not set @@ -2640,6 +2660,7 @@ CONFIG_LCD_PLATFORM=m # CONFIG_LDM_DEBUG is not set CONFIG_LDM_PARTITION=y # CONFIG_LEDS_AAT1290 is not set +CONFIG_LEDS_AS3645A=m # CONFIG_LEDS_BCM6328 is not set # CONFIG_LEDS_BCM6358 is not set # CONFIG_LEDS_BD2802 is not set @@ -2740,6 +2761,7 @@ CONFIG_LOAD_UEFI_KEYS=y CONFIG_LOCALVERSION="" # CONFIG_LOCALVERSION_AUTO is not set CONFIG_LOCKD=m +CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT=y CONFIG_LOCK_DOWN_KERNEL=y CONFIG_LOCKD_V4=y CONFIG_LOCK_STAT=y @@ -2765,6 +2787,7 @@ CONFIG_LPFC_NVME_INITIATOR=y CONFIG_LPFC_NVME_TARGET=y CONFIG_LSI_ET1011C_PHY=m CONFIG_LSM_MMAP_MIN_ADDR=65536 +# CONFIG_LTC2471 is not set # CONFIG_LTC2485 is not set # CONFIG_LTC2497 is not set # CONFIG_LTC2632 is not set @@ -2844,6 +2867,7 @@ CONFIG_MDIO_BITBANG=m # CONFIG_MDIO_BUS_MUX_MMIOREG is not set # CONFIG_MDIO_GPIO is not set # CONFIG_MDIO_HISI_FEMAC is not set +CONFIG_MDIO_I2C=m # CONFIG_MDIO_OCTEON is not set # CONFIG_MDIO_THUNDER is not set CONFIG_MD_LINEAR=m @@ -2912,6 +2936,7 @@ CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 CONFIG_MFD_AXP20X_I2C=y CONFIG_MFD_AXP20X=y # CONFIG_MFD_BCM590XX is not set +CONFIG_MFD_BD9571MWV=m CONFIG_MFD_CORE=y # CONFIG_MFD_CPCAP is not set # CONFIG_MFD_CROS_EC is not set @@ -2979,6 +3004,7 @@ CONFIG_MFD_SM501=m # CONFIG_MFD_TPS65912_I2C is not set # CONFIG_MFD_TPS65912 is not set # CONFIG_MFD_TPS65912_SPI is not set +CONFIG_MFD_TPS68470=y # CONFIG_MFD_TPS80031 is not set CONFIG_MFD_VIPERBOARD=m CONFIG_MFD_VX855=m @@ -3027,8 +3053,10 @@ CONFIG_MLX5_CORE_EN=y CONFIG_MLX5_CORE_IPOIB=y CONFIG_MLX5_CORE=m # CONFIG_MLX5_EN_IPSEC is not set +CONFIG_MLX5_ESWITCH=y # CONFIG_MLX5_FPGA is not set CONFIG_MLX5_INFINIBAND=m +CONFIG_MLX5_MPFS=y # CONFIG_MLX90614 is not set CONFIG_MLX_CPLD_PLATFORM=m CONFIG_MLXFW=m @@ -3050,7 +3078,6 @@ CONFIG_MMA7660=m # CONFIG_MMA9551 is not set # CONFIG_MMA9553 is not set # CONFIG_MMC35240 is not set -CONFIG_MMC_BLOCK_BOUNCE=y CONFIG_MMC_BLOCK=m CONFIG_MMC_BLOCK_MINORS=8 CONFIG_MMC_CB710=m @@ -3402,6 +3429,7 @@ CONFIG_NETLABEL=y CONFIG_NETLINK_DIAG=m CONFIG_NET_MPLS_GSO=m CONFIG_NET_NCSI=y +CONFIG_NET_NSH=m CONFIG_NET_NS=y CONFIG_NET_PACKET_ENGINE=y CONFIG_NET_PKTGEN=m @@ -3471,6 +3499,7 @@ CONFIG_NET_VENDOR_EXAR=y # CONFIG_NET_VENDOR_FUJITSU is not set # CONFIG_NET_VENDOR_HISILICON is not set # CONFIG_NET_VENDOR_HP is not set +# CONFIG_NET_VENDOR_HUAWEI is not set # CONFIG_NET_VENDOR_I825XX is not set CONFIG_NET_VENDOR_INTEL=y CONFIG_NET_VENDOR_MARVELL=y @@ -3492,6 +3521,7 @@ CONFIG_NET_VENDOR_ROCKER=y CONFIG_NET_VENDOR_SILAN=y CONFIG_NET_VENDOR_SIS=y CONFIG_NET_VENDOR_SMSC=y +# CONFIG_NET_VENDOR_SNI is not set CONFIG_NET_VENDOR_SOLARFLARE=y CONFIG_NET_VENDOR_STMICRO=y CONFIG_NET_VENDOR_SUN=y @@ -3631,6 +3661,7 @@ CONFIG_NFT_EXTHDR=m CONFIG_NFT_FIB_INET=m CONFIG_NFT_FIB_IPV4=m CONFIG_NFT_FIB_IPV6=m +CONFIG_NFT_FIB_NETDEV=m CONFIG_NFT_FWD_NETDEV=m CONFIG_NFT_HASH=m CONFIG_NFT_LIMIT=m @@ -3880,6 +3911,7 @@ CONFIG_PCIEAER=y # CONFIG_PCIEASPM_DEBUG is not set CONFIG_PCIEASPM=y CONFIG_PCIE_DPC=y +# CONFIG_PCIE_DW_HOST_ECAM is not set # CONFIG_PCIE_DW_PLAT is not set CONFIG_PCIE_ECRC=y # CONFIG_PCI_ENDPOINT is not set @@ -3934,6 +3966,8 @@ CONFIG_PERSISTENT_KEYRINGS=y # CONFIG_PHONET is not set # CONFIG_PHY_CPCAP_USB is not set CONFIG_PHYLIB=y +CONFIG_PHYLINK=m +# CONFIG_PHY_MVEBU_CP110_COMPHY is not set # CONFIG_PHY_PXA_28NM_HSIC is not set # CONFIG_PHY_PXA_28NM_USB2 is not set # CONFIG_PHY_QCOM_USB_HSIC is not set @@ -3943,6 +3977,7 @@ CONFIG_PHYSICAL_START=0x1000000 # CONFIG_PHY_ST_SPEAR1310_MIPHY is not set # CONFIG_PHY_ST_SPEAR1340_MIPHY is not set # CONFIG_PHY_TUSB1210 is not set +# CONFIG_PI433 is not set CONFIG_PID_NS=y CONFIG_PINCONF=y # CONFIG_PINCTRL_AMD is not set @@ -3950,10 +3985,14 @@ CONFIG_PINCTRL_BAYTRAIL=y CONFIG_PINCTRL_BROXTON=m # CONFIG_PINCTRL_CANNONLAKE is not set CONFIG_PINCTRL_CHERRYVIEW=y +CONFIG_PINCTRL_DENVERTON=m # CONFIG_PINCTRL_GEMINILAKE is not set # CONFIG_PINCTRL_IPQ8074 is not set +CONFIG_PINCTRL_LEWISBURG=m # CONFIG_PINCTRL_MCP23S08 is not set -# CONFIG_PINCTRL_MSM8994 is not set +CONFIG_PINCTRL_RK805=m +# CONFIG_PINCTRL_SPRD is not set +# CONFIG_PINCTRL_SPRD_SC9860 is not set CONFIG_PINCTRL_SUNRISEPOINT=m # CONFIG_PINCTRL_SX150X is not set CONFIG_PINCTRL=y @@ -3972,7 +4011,7 @@ CONFIG_PM_DEVFREQ=y # CONFIG_PMIC_ADP5520 is not set # CONFIG_PMIC_DA903X is not set CONFIG_PMIC_OPREGION=y -# CONFIG_PM_OPP is not set +CONFIG_PM_OPP=y CONFIG_PM_STD_PARTITION="" CONFIG_PM_TEST_SUSPEND=y CONFIG_PM_TRACE_RTC=y @@ -4064,6 +4103,7 @@ CONFIG_PWRSEQ_SIMPLE=m # CONFIG_QCA7000_SPI is not set # CONFIG_QCA7000_UART is not set # CONFIG_QCOM_EMAC is not set +# CONFIG_QCOM_GLINK_SSR is not set # CONFIG_QCOM_HIDMA is not set # CONFIG_QCOM_HIDMA_MGMT is not set CONFIG_QEDE=m @@ -4093,6 +4133,7 @@ CONFIG_R8169=m CONFIG_R8188EU=m CONFIG_R8712U=m CONFIG_R8723AU=m # Jes Sorensen maintains this (rhbz 1100162) +CONFIG_R8822BE=m CONFIG_RADIO_ADAPTERS=y CONFIG_RADIO_AZTECH=m CONFIG_RADIO_CADET=m @@ -4162,6 +4203,7 @@ CONFIG_REALTEK_PHY=m CONFIG_REFCOUNT_FULL=y CONFIG_REGMAP_I2C=y CONFIG_REGMAP=y +CONFIG_REGULATOR_BD9571MWV=m # CONFIG_REGULATOR_DEBUG is not set # CONFIG_REGULATOR is not set # CONFIG_REGULATOR_TPS65132 is not set @@ -4176,6 +4218,8 @@ CONFIG_RELAY=y # CONFIG_RELOCATABLE_TEST is not set CONFIG_RELOCATABLE=y CONFIG_REMOTEPROC=m +CONFIG_RESET_ATTACK_MITIGATION=y +# CONFIG_RESET_HSDK_V1 is not set # CONFIG_RESET_TI_SYSCON is not set # CONFIG_RFD_FTL is not set CONFIG_RFKILL_GPIO=m @@ -4195,6 +4239,8 @@ CONFIG_RMI4_F55=y CONFIG_RMI4_I2C=m CONFIG_RMI4_SMB=m CONFIG_RMI4_SPI=m +# CONFIG_RMNET is not set +# CONFIG_ROCKCHIP_PHY is not set CONFIG_ROCKER=m CONFIG_ROCKETPORT=m CONFIG_ROMFS_FS=m @@ -4202,6 +4248,7 @@ CONFIG_ROSE=m CONFIG_RPCSEC_GSS_KRB5=m # CONFIG_RPMSG_CHAR is not set # CONFIG_RPMSG_QCOM_GLINK_RPM is not set +# CONFIG_RPMSG_QCOM_GLINK_SMEM is not set CONFIG_RPR0521=m CONFIG_RSI_91X=m CONFIG_RSI_DEBUGFS=y @@ -4580,6 +4627,7 @@ CONFIG_SENSORS_HDAPS=m CONFIG_SENSORS_I5500=m CONFIG_SENSORS_I5K_AMB=m CONFIG_SENSORS_IBMAEM=m +# CONFIG_SENSORS_IBM_CFFPS is not set CONFIG_SENSORS_IBMPEX=m # CONFIG_SENSORS_IIO_HWMON is not set CONFIG_SENSORS_INA209=m @@ -4671,6 +4719,7 @@ CONFIG_SENSORS_TMP108=m CONFIG_SENSORS_TMP401=m CONFIG_SENSORS_TMP421=m CONFIG_SENSORS_TPS40422=m +CONFIG_SENSORS_TPS53679=m CONFIG_SENSORS_TSL2550=m # CONFIG_SENSORS_TSL2563 is not set CONFIG_SENSORS_UCD9000=m @@ -4742,6 +4791,7 @@ CONFIG_SERIO_ALTERA_PS2=m # CONFIG_SERIO_APBPS2 is not set CONFIG_SERIO_ARC_PS2=m # CONFIG_SERIO_CT82C710 is not set +# CONFIG_SERIO_GPIO_PS2 is not set CONFIG_SERIO_I8042=y CONFIG_SERIO_LIBPS2=y # CONFIG_SERIO_OLPC_APSP is not set @@ -4759,6 +4809,7 @@ CONFIG_SFC_MCDI_MON=y CONFIG_SFC_MTD=y CONFIG_SFC_SRIOV=y CONFIG_SFI=y +CONFIG_SFP=m # CONFIG_SGI_GRU_DEBUG is not set CONFIG_SGI_GRU=m CONFIG_SGI_IOC4=m @@ -4781,6 +4832,7 @@ CONFIG_SKGE_GENESIS=y CONFIG_SKGE=m # CONFIG_SKY2_DEBUG is not set CONFIG_SKY2=m +CONFIG_SLAB_FREELIST_HARDENED=y CONFIG_SLAB_FREELIST_RANDOM=y CONFIG_SLAB_MERGE_DEFAULT=y # CONFIG_SLICOSS is not set @@ -4888,7 +4940,7 @@ CONFIG_SND_HDA_INPUT_BEEP_MODE=0 CONFIG_SND_HDA_INPUT_BEEP=y CONFIG_SND_HDA_INTEL=m CONFIG_SND_HDA_PATCH_LOADER=y -CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0 +CONFIG_SND_HDA_POWER_SAVE_DEFAULT=1 CONFIG_SND_HDA_POWER_SAVE=y CONFIG_SND_HDA_PREALLOC_SIZE=4096 CONFIG_SND_HDA_RECONFIG=y @@ -4978,6 +5030,7 @@ CONFIG_SND_SOC_CS42L42=m # CONFIG_SND_SOC_CS42L56 is not set # CONFIG_SND_SOC_CS42L73 is not set # CONFIG_SND_SOC_CS42XX8_I2C is not set +CONFIG_SND_SOC_CS43130=m # CONFIG_SND_SOC_CS4349 is not set # CONFIG_SND_SOC_CS53L30 is not set CONFIG_SND_SOC_DIO2125=m @@ -5065,6 +5118,7 @@ CONFIG_SND_SOC_SSM4567=m CONFIG_SND_SOC_TS3A227E=m # CONFIG_SND_SOC_WM8510 is not set # CONFIG_SND_SOC_WM8523 is not set +CONFIG_SND_SOC_WM8524=m # CONFIG_SND_SOC_WM8580 is not set # CONFIG_SND_SOC_WM8711 is not set # CONFIG_SND_SOC_WM8728 is not set @@ -5168,6 +5222,7 @@ CONFIG_SQUASHFS=m CONFIG_SQUASHFS_XATTR=y CONFIG_SQUASHFS_XZ=y CONFIG_SQUASHFS_ZLIB=y +CONFIG_SQUASHFS_ZSTD=y # CONFIG_SRAM is not set # CONFIG_SRF04 is not set # CONFIG_SRF08 is not set @@ -5201,6 +5256,7 @@ CONFIG_STMMAC_ETH=m # CONFIG_STMMAC_PLATFORM is not set # CONFIG_STM_SOURCE_CONSOLE is not set CONFIG_STRICT_DEVMEM=y +# CONFIG_STRING_SELFTEST is not set CONFIG_STRIP_ASM_SYMS=y # CONFIG_STRIP is not set CONFIG_SUNDANCE=m @@ -5365,7 +5421,6 @@ CONFIG_TIPC=m CONFIG_TIPC_MEDIA_UDP=y CONFIG_TI_SCI_PROTOCOL=m # CONFIG_TI_ST is not set -# CONFIG_TI_SYSCON_RESET is not set # CONFIG_TI_TLC4541 is not set CONFIG_TLAN=m CONFIG_TLS=m @@ -5651,7 +5706,6 @@ CONFIG_USB_KEENE=m CONFIG_USB_LAN78XX=m CONFIG_USB_LCD=m CONFIG_USB_LD=m -CONFIG_USB_LED=m CONFIG_USB_LEDS_TRIGGER_USBPORT=m CONFIG_USB_LED_TRIG=y CONFIG_USB_LEGOTOWER=m @@ -5931,7 +5985,6 @@ CONFIG_VIDEO_NOON010PC30=m CONFIG_VIDEO_PVRUSB2_DVB=y CONFIG_VIDEO_PVRUSB2=m CONFIG_VIDEO_PVRUSB2_SYSFS=y -# CONFIG_VIDEO_RENESAS_VSP1 is not set CONFIG_VIDEO_SAA6588=m CONFIG_VIDEO_SAA7134_ALSA=m CONFIG_VIDEO_SAA7134_DVB=m @@ -6037,6 +6090,7 @@ CONFIG_W1_SLAVE_DS2438=m CONFIG_W1_SLAVE_DS2760=m CONFIG_W1_SLAVE_DS2780=m CONFIG_W1_SLAVE_DS2781=m +CONFIG_W1_SLAVE_DS2805=m CONFIG_W1_SLAVE_DS28E04=m CONFIG_W1_SLAVE_SMEM=m CONFIG_W1_SLAVE_THERM=m @@ -6056,6 +6110,7 @@ CONFIG_WATCHDOG=y CONFIG_WCN36XX=m CONFIG_WDAT_WDT=m CONFIG_WDTPCI=m +CONFIG_WIL6210_DEBUGFS=y CONFIG_WIL6210_ISR_COR=y CONFIG_WIL6210=m # CONFIG_WIL6210_TRACING is not set @@ -6104,6 +6159,7 @@ CONFIG_WMI_BMOF=m CONFIG_WQ_WATCHDOG=y # CONFIG_WW_MUTEX_SELFTEST is not set # CONFIG_X25 is not set +# CONFIG_X86_5LEVEL is not set CONFIG_X86_64_ACPI_NUMA=y CONFIG_X86_ACPI_CPUFREQ_CPB=y CONFIG_X86_ACPI_CPUFREQ=m @@ -6170,6 +6226,7 @@ CONFIG_XEN_NETDEV_BACKEND=m CONFIG_XEN_NETDEV_FRONTEND=m CONFIG_XEN_PCIDEV_BACKEND=m CONFIG_XEN_PCIDEV_FRONTEND=m +# CONFIG_XEN_PVCALLS_BACKEND is not set CONFIG_XEN_PVHVM=y CONFIG_XEN_PVH=y CONFIG_XEN_PV=y @@ -6224,6 +6281,7 @@ CONFIG_ZONE_DEVICE=y CONFIG_ZONE_DMA=y # CONFIG_ZPA2326 is not set CONFIG_ZRAM=m +# CONFIG_ZRAM_WRITEBACK is not set # CONFIG_ZSMALLOC_STAT is not set CONFIG_ZSMALLOC=y CONFIG_ZSWAP=y diff --git a/freed-ora/current/f26/kernel-x86_64.config b/freed-ora/current/f26/kernel-x86_64.config index 5bcbda2c3..77f779e85 100644 --- a/freed-ora/current/f26/kernel-x86_64.config +++ b/freed-ora/current/f26/kernel-x86_64.config @@ -199,7 +199,9 @@ CONFIG_ALIENWARE_WMI=m CONFIG_ALI_FIR=m CONFIG_ALIM1535_WDT=m CONFIG_ALIM7101_WDT=m +CONFIG_ALLOW_LOCKDOWN_LIFT_BY_SYSRQ=y # CONFIG_ALTERA_MBOX is not set +CONFIG_ALTERA_MSGDMA=m CONFIG_ALTERA_STAPL=m CONFIG_ALTERA_TSE=m CONFIG_ALX=m @@ -207,6 +209,8 @@ CONFIG_ALX=m CONFIG_AMD8111_ETH=m CONFIG_AMD_IOMMU_V2=m CONFIG_AMD_IOMMU=y +# CONFIG_AMD_MEM_ENCRYPT_ACTIVE_BY_DEFAULT is not set +CONFIG_AMD_MEM_ENCRYPT=y CONFIG_AMD_NUMA=y CONFIG_AMD_PHY=m CONFIG_AMD_XGBE_DCB=y @@ -253,6 +257,7 @@ CONFIG_ATH10K=m CONFIG_ATH10K_PCI=m CONFIG_ATH10K_SDIO=m # CONFIG_ATH10K_TRACING is not set +CONFIG_ATH10K_USB=m CONFIG_ATH5K_DEBUG=y CONFIG_ATH5K=m # CONFIG_ATH5K_TRACER is not set @@ -393,6 +398,7 @@ CONFIG_BATMAN_ADV_NC=y # CONFIG_BATTERY_LEGO_EV3 is not set # CONFIG_BATTERY_MAX17040 is not set CONFIG_BATTERY_MAX17042=m +# CONFIG_BATTERY_MAX1721X is not set # CONFIG_BATTERY_SBS is not set CONFIG_BAYCOM_EPP=m CONFIG_BAYCOM_PAR=m @@ -434,7 +440,6 @@ CONFIG_BINFMT_MISC=m CONFIG_BINFMT_SCRIPT=y CONFIG_BLK_CGROUP=y # CONFIG_BLK_CMDLINE_PARSER is not set -CONFIG_BLK_CPQ_CISS_DA=m CONFIG_BLK_DEBUG_FS=y CONFIG_BLK_DEV_3W_XXXX_RAID=m CONFIG_BLK_DEV_AMD74XX=y @@ -477,7 +482,6 @@ CONFIG_BLK_DEV_SX8=m # CONFIG_BLK_DEV_THROTTLING_LOW is not set CONFIG_BLK_DEV_THROTTLING=y # CONFIG_BLK_DEV_TRIFLEX is not set -# CONFIG_BLK_DEV_UB is not set CONFIG_BLK_DEV_UMEM=m CONFIG_BLK_DEV=y CONFIG_BLK_DEV_ZONED=y @@ -500,6 +504,7 @@ CONFIG_BNX2=m CONFIG_BNX2X=m CONFIG_BNX2X_SRIOV=y CONFIG_BNXT_DCB=y +CONFIG_BNXT_FLOWER_OFFLOAD=y CONFIG_BNXT=m CONFIG_BNXT_SRIOV=y CONFIG_BONDING=m @@ -510,6 +515,7 @@ CONFIG_BONDING=m CONFIG_BOOT_PRINTK_DELAY=y CONFIG_BOUNCE=y CONFIG_BPF_JIT=y +CONFIG_BPF_STREAM_PARSER=y CONFIG_BPF_SYSCALL=y CONFIG_BPQETHER=m # CONFIG_BRCMDBG is not set @@ -598,7 +604,6 @@ CONFIG_BT_RFCOMM_TTY=y CONFIG_BTRFS_FS=m CONFIG_BTRFS_FS_POSIX_ACL=y # CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set -CONFIG_BT_SCO=y # CONFIG_BT_SELFTEST is not set CONFIG_BTT=y CONFIG_BT_WILINK=m @@ -671,11 +676,13 @@ CONFIG_CB710_CORE=m # CONFIG_CB710_DEBUG is not set # CONFIG_CC10001_ADC is not set # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set +# CONFIG_CCS811 is not set CONFIG_CC_STACKPROTECTOR_STRONG=y CONFIG_CC_STACKPROTECTOR=y CONFIG_CDROM_PKTCDVD_BUFFERS=8 CONFIG_CDROM_PKTCDVD=m # CONFIG_CDROM_PKTCDVD_WCACHE is not set +CONFIG_CEC_PIN=y CONFIG_CEC_PLATFORM_DRIVERS=y CONFIG_CEPH_FSCACHE=y CONFIG_CEPH_FS=m @@ -718,7 +725,6 @@ CONFIG_CHARGER_BQ24190=m # CONFIG_CHARGER_LTC3651 is not set # CONFIG_CHARGER_MAX8903 is not set # CONFIG_CHARGER_PCF50633 is not set -# CONFIG_CHARGER_QCOM_SMBB is not set # CONFIG_CHARGER_RT9455 is not set # CONFIG_CHARGER_SBS is not set CONFIG_CHARGER_SMB347=m @@ -755,9 +761,10 @@ CONFIG_CIFS_STATS=y CONFIG_CIFS_UPCALL=y CONFIG_CIFS_WEAK_PW_HASH=y CONFIG_CIFS_XATTR=y -CONFIG_CISS_SCSI_TAPE=y CONFIG_CLEANCACHE=y +# CONFIG_CLK_HSDK is not set # CONFIG_CLK_QORIQ is not set +# CONFIG_CLOCK_THERMAL is not set CONFIG_CLS_U32_MARK=y CONFIG_CLS_U32_PERF=y CONFIG_CM32181=m @@ -887,6 +894,7 @@ CONFIG_CRYPTO_DEV_QAT_C62X=m CONFIG_CRYPTO_DEV_QAT_C62XVF=m CONFIG_CRYPTO_DEV_QAT_DH895xCC=m CONFIG_CRYPTO_DEV_QAT_DH895xCCVF=m +# CONFIG_CRYPTO_DEV_SP_CCP is not set CONFIG_CRYPTO_DEV_VIRTIO=m CONFIG_CRYPTO_DH=y CONFIG_CRYPTO_DRBG_CTR=y @@ -1066,6 +1074,9 @@ CONFIG_DEV_DAX_PMEM=m # CONFIG_DEVFREQ_GOV_POWERSAVE is not set CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=m # CONFIG_DEVFREQ_GOV_USERSPACE is not set +# CONFIG_DEVFREQ_THERMAL is not set +CONFIG_DEVICE_PRIVATE=y +CONFIG_DEVICE_PUBLIC=y # CONFIG_DEVKMEM is not set CONFIG_DEVMEM=y CONFIG_DEVPORT=y @@ -1240,6 +1251,7 @@ CONFIG_DVB_BUDGET_PATCH=m CONFIG_DVB_CORE=m # CONFIG_DVB_CXD2099 is not set CONFIG_DVB_DDBRIDGE=m +# CONFIG_DVB_DDBRIDGE_MSIENABLE is not set # CONFIG_DVB_DEMUX_SECTION_LOSS_LOG is not set CONFIG_DVB_DM1105=m CONFIG_DVB_DYNAMIC_MINORS=y @@ -1314,7 +1326,7 @@ CONFIG_E1000=m CONFIG_E100=m CONFIG_EARLY_PRINTK_DBGP=y CONFIG_EARLY_PRINTK_EFI=y -# CONFIG_EARLY_PRINTK_USB_XDBC is not set +CONFIG_EARLY_PRINTK_USB_XDBC=y # CONFIG_EBC_C384_WDT is not set CONFIG_ECHO=m CONFIG_ECRYPT_FS=m @@ -1394,7 +1406,6 @@ CONFIG_ETHOC=m # CONFIG_EVM is not set # CONFIG_EXOFS_DEBUG is not set # CONFIG_EXOFS_FS is not set -CONFIG_EXPERIMENTAL=y # CONFIG_EXPERT is not set CONFIG_EXPORTFS=y # CONFIG_EXT2_FS is not set @@ -1631,6 +1642,7 @@ CONFIG_GIRBIL_DONGLE=m # CONFIG_GPIO_AMD8111 is not set # CONFIG_GPIO_AMDPT is not set # CONFIG_GPIO_AXP209 is not set +CONFIG_GPIO_BD9571MWV=m # CONFIG_GPIO_BT8XX is not set CONFIG_GPIO_CRYSTAL_COVE=y # CONFIG_GPIO_CS5535 is not set @@ -1665,6 +1677,7 @@ CONFIG_GPIO_PCI_IDIO_16=m # CONFIG_GPIO_SYSCON is not set # CONFIG_GPIO_SYSFS is not set # CONFIG_GPIO_TPIC2810 is not set +CONFIG_GPIO_TPS68470=y # CONFIG_GPIO_TS4900 is not set # CONFIG_GPIO_TS5500 is not set CONFIG_GPIO_VIPERBOARD=m @@ -1715,7 +1728,7 @@ CONFIG_HID_CHERRY=m CONFIG_HID_CHICONY=m CONFIG_HID_CMEDIA=m CONFIG_HID_CORSAIR=m -# CONFIG_HID_CP2112 is not set +CONFIG_HID_CP2112=m CONFIG_HID_CYPRESS=m CONFIG_HID_DRAGONRISE=m CONFIG_HID_ELECOM=m @@ -1835,6 +1848,7 @@ CONFIG_HISAX_W6692=y CONFIG_HIST_TRIGGERS=y # CONFIG_HMC6352 is not set # CONFIG_HMC_DRV is not set +CONFIG_HMM_MIRROR=y CONFIG_HOLTEK_FF=y # CONFIG_HOSTAP is not set CONFIG_HOTPLUG_CPU=y @@ -1897,6 +1911,7 @@ CONFIG_HYPERV=m CONFIG_HYPERV_NET=m CONFIG_HYPERV_STORAGE=m CONFIG_HYPERV_UTILS=m +CONFIG_HYPERV_VSOCKETS=m CONFIG_HYSDN_CAPI=y CONFIG_HYSDN=m CONFIG_HZ_1000=y @@ -2072,6 +2087,7 @@ CONFIG_INET=y # CONFIG_INFINIBAND_CXGB3_DEBUG is not set CONFIG_INFINIBAND_CXGB3=m CONFIG_INFINIBAND_CXGB4=m +# CONFIG_INFINIBAND_EXP_USER_ACCESS is not set CONFIG_INFINIBAND_HFI1=m CONFIG_INFINIBAND_I40IW=m CONFIG_INFINIBAND_IPOIB_CM=y @@ -2100,7 +2116,6 @@ CONFIG_INFINIBAND_VMWARE_PVRDMA=m # CONFIG_INFTL is not set CONFIG_INITRAMFS_SOURCE="" CONFIG_INOTIFY_USER=y -CONFIG_INOTIFY=y # CONFIG_INPUT_AD714X is not set # CONFIG_INPUT_ADXL34X is not set CONFIG_INPUT_APANEL=m @@ -2150,7 +2165,9 @@ CONFIG_INPUT_PMIC8XXX_PWRKEY=m CONFIG_INPUT_POLLDEV=m CONFIG_INPUT_POWERMATE=m # CONFIG_INPUT_PWM_BEEPER is not set +# CONFIG_INPUT_PWM_VIBRA is not set CONFIG_INPUT_RETU_PWRBUTTON=m +CONFIG_INPUT_RK805_PWRKEY=m CONFIG_INPUT_SOC_BUTTON_ARRAY=m CONFIG_INPUT_SPARSEKMAP=m CONFIG_INPUT_TABLET=y @@ -2195,6 +2212,7 @@ CONFIG_INTEL_POWERCLAMP=m CONFIG_INTEL_PUNIT_IPC=m CONFIG_INTEL_RAPL=m CONFIG_INTEL_RDT_A=y +CONFIG_INTEL_RDT=y CONFIG_INTEL_RST=m # CONFIG_INTEL_SCU_IPC is not set CONFIG_INTEL_SMARTCONNECT=y @@ -2248,7 +2266,7 @@ CONFIG_IP_DCCP_CCID2=m # CONFIG_IP_DCCP_CCID3_DEBUG is not set CONFIG_IP_DCCP_CCID3=y # CONFIG_IP_DCCP_DEBUG is not set -CONFIG_IP_DCCP=m +# CONFIG_IP_DCCP is not set CONFIG_IPDDP_ENCAP=y CONFIG_IPDDP=m CONFIG_IP_FIB_TRIE_STATS=y @@ -2375,6 +2393,7 @@ CONFIG_IRDA=m CONFIG_IR_ENE=m CONFIG_IR_FINTEK=m CONFIG_IR_GPIO_CIR=m +CONFIG_IR_GPIO_TX=m CONFIG_IR_HIX5HD2=m CONFIG_IR_IGORPLUGUSB=m CONFIG_IR_IGUANA=m @@ -2389,6 +2408,7 @@ CONFIG_IR_MCEUSB=m CONFIG_IR_NEC_DECODER=m CONFIG_IRNET=m CONFIG_IR_NUVOTON=m +CONFIG_IR_PWM_TX=m # CONFIG_IRQ_DOMAIN_DEBUG is not set CONFIG_IRQ_REMAP=y # CONFIG_IRQSOFF_TRACER is not set @@ -2620,6 +2640,7 @@ CONFIG_LCD_PLATFORM=m # CONFIG_LDM_DEBUG is not set CONFIG_LDM_PARTITION=y # CONFIG_LEDS_AAT1290 is not set +CONFIG_LEDS_AS3645A=m # CONFIG_LEDS_BCM6328 is not set # CONFIG_LEDS_BCM6358 is not set # CONFIG_LEDS_BD2802 is not set @@ -2720,6 +2741,7 @@ CONFIG_LOAD_UEFI_KEYS=y CONFIG_LOCALVERSION="" # CONFIG_LOCALVERSION_AUTO is not set CONFIG_LOCKD=m +CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT=y CONFIG_LOCK_DOWN_KERNEL=y CONFIG_LOCKD_V4=y # CONFIG_LOCK_STAT is not set @@ -2745,6 +2767,7 @@ CONFIG_LPFC_NVME_INITIATOR=y CONFIG_LPFC_NVME_TARGET=y CONFIG_LSI_ET1011C_PHY=m CONFIG_LSM_MMAP_MIN_ADDR=65536 +# CONFIG_LTC2471 is not set # CONFIG_LTC2485 is not set # CONFIG_LTC2497 is not set # CONFIG_LTC2632 is not set @@ -2802,7 +2825,7 @@ CONFIG_MAX30100=m # CONFIG_MAX9611 is not set # CONFIG_MAXIM_THERMOCOUPLE is not set CONFIG_MAX_RAW_DEVS=8192 -CONFIG_MAXSMP=y +# CONFIG_MAXSMP is not set # CONFIG_MC3230 is not set # CONFIG_MCB is not set # CONFIG_MCE_AMD_INJ is not set @@ -2824,6 +2847,7 @@ CONFIG_MDIO_BITBANG=m # CONFIG_MDIO_BUS_MUX_MMIOREG is not set # CONFIG_MDIO_GPIO is not set # CONFIG_MDIO_HISI_FEMAC is not set +CONFIG_MDIO_I2C=m # CONFIG_MDIO_OCTEON is not set # CONFIG_MDIO_THUNDER is not set CONFIG_MD_LINEAR=m @@ -2892,6 +2916,7 @@ CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 CONFIG_MFD_AXP20X_I2C=y CONFIG_MFD_AXP20X=y # CONFIG_MFD_BCM590XX is not set +CONFIG_MFD_BD9571MWV=m CONFIG_MFD_CORE=y # CONFIG_MFD_CPCAP is not set # CONFIG_MFD_CROS_EC is not set @@ -2959,6 +2984,7 @@ CONFIG_MFD_SM501=m # CONFIG_MFD_TPS65912_I2C is not set # CONFIG_MFD_TPS65912 is not set # CONFIG_MFD_TPS65912_SPI is not set +CONFIG_MFD_TPS68470=y # CONFIG_MFD_TPS80031 is not set CONFIG_MFD_VIPERBOARD=m CONFIG_MFD_VX855=m @@ -3007,8 +3033,10 @@ CONFIG_MLX5_CORE_EN=y CONFIG_MLX5_CORE_IPOIB=y CONFIG_MLX5_CORE=m # CONFIG_MLX5_EN_IPSEC is not set +CONFIG_MLX5_ESWITCH=y # CONFIG_MLX5_FPGA is not set CONFIG_MLX5_INFINIBAND=m +CONFIG_MLX5_MPFS=y # CONFIG_MLX90614 is not set CONFIG_MLX_CPLD_PLATFORM=m CONFIG_MLXFW=m @@ -3030,7 +3058,6 @@ CONFIG_MMA7660=m # CONFIG_MMA9551 is not set # CONFIG_MMA9553 is not set # CONFIG_MMC35240 is not set -CONFIG_MMC_BLOCK_BOUNCE=y CONFIG_MMC_BLOCK=m CONFIG_MMC_BLOCK_MINORS=8 CONFIG_MMC_CB710=m @@ -3382,6 +3409,7 @@ CONFIG_NETLABEL=y CONFIG_NETLINK_DIAG=m CONFIG_NET_MPLS_GSO=m CONFIG_NET_NCSI=y +CONFIG_NET_NSH=m CONFIG_NET_NS=y CONFIG_NET_PACKET_ENGINE=y CONFIG_NET_PKTGEN=m @@ -3451,6 +3479,7 @@ CONFIG_NET_VENDOR_EXAR=y # CONFIG_NET_VENDOR_FUJITSU is not set # CONFIG_NET_VENDOR_HISILICON is not set # CONFIG_NET_VENDOR_HP is not set +# CONFIG_NET_VENDOR_HUAWEI is not set # CONFIG_NET_VENDOR_I825XX is not set CONFIG_NET_VENDOR_INTEL=y CONFIG_NET_VENDOR_MARVELL=y @@ -3472,6 +3501,7 @@ CONFIG_NET_VENDOR_ROCKER=y CONFIG_NET_VENDOR_SILAN=y CONFIG_NET_VENDOR_SIS=y CONFIG_NET_VENDOR_SMSC=y +# CONFIG_NET_VENDOR_SNI is not set CONFIG_NET_VENDOR_SOLARFLARE=y CONFIG_NET_VENDOR_STMICRO=y CONFIG_NET_VENDOR_SUN=y @@ -3611,6 +3641,7 @@ CONFIG_NFT_EXTHDR=m CONFIG_NFT_FIB_INET=m CONFIG_NFT_FIB_IPV4=m CONFIG_NFT_FIB_IPV6=m +CONFIG_NFT_FIB_NETDEV=m CONFIG_NFT_FWD_NETDEV=m CONFIG_NFT_HASH=m CONFIG_NFT_LIMIT=m @@ -3709,7 +3740,7 @@ CONFIG_NORTEL_HERMES=m CONFIG_NOUVEAU_DEBUG=5 CONFIG_NOUVEAU_DEBUG_DEFAULT=3 CONFIG_NOZOMI=m -CONFIG_NR_CPUS=8192 +CONFIG_NR_CPUS=1024 CONFIG_NR_DEV_DAX=32768 CONFIG_NS83820=m CONFIG_NSC_FIR=m @@ -3860,6 +3891,7 @@ CONFIG_PCIEAER=y # CONFIG_PCIEASPM_DEBUG is not set CONFIG_PCIEASPM=y CONFIG_PCIE_DPC=y +# CONFIG_PCIE_DW_HOST_ECAM is not set # CONFIG_PCIE_DW_PLAT is not set CONFIG_PCIE_ECRC=y # CONFIG_PCI_ENDPOINT is not set @@ -3914,6 +3946,8 @@ CONFIG_PERSISTENT_KEYRINGS=y # CONFIG_PHONET is not set # CONFIG_PHY_CPCAP_USB is not set CONFIG_PHYLIB=y +CONFIG_PHYLINK=m +# CONFIG_PHY_MVEBU_CP110_COMPHY is not set # CONFIG_PHY_PXA_28NM_HSIC is not set # CONFIG_PHY_PXA_28NM_USB2 is not set # CONFIG_PHY_QCOM_USB_HSIC is not set @@ -3923,6 +3957,7 @@ CONFIG_PHYSICAL_START=0x1000000 # CONFIG_PHY_ST_SPEAR1310_MIPHY is not set # CONFIG_PHY_ST_SPEAR1340_MIPHY is not set # CONFIG_PHY_TUSB1210 is not set +# CONFIG_PI433 is not set CONFIG_PID_NS=y CONFIG_PINCONF=y # CONFIG_PINCTRL_AMD is not set @@ -3930,10 +3965,14 @@ CONFIG_PINCTRL_BAYTRAIL=y CONFIG_PINCTRL_BROXTON=m # CONFIG_PINCTRL_CANNONLAKE is not set CONFIG_PINCTRL_CHERRYVIEW=y +CONFIG_PINCTRL_DENVERTON=m # CONFIG_PINCTRL_GEMINILAKE is not set # CONFIG_PINCTRL_IPQ8074 is not set +CONFIG_PINCTRL_LEWISBURG=m # CONFIG_PINCTRL_MCP23S08 is not set -# CONFIG_PINCTRL_MSM8994 is not set +CONFIG_PINCTRL_RK805=m +# CONFIG_PINCTRL_SPRD is not set +# CONFIG_PINCTRL_SPRD_SC9860 is not set CONFIG_PINCTRL_SUNRISEPOINT=m # CONFIG_PINCTRL_SX150X is not set CONFIG_PINCTRL=y @@ -3952,7 +3991,7 @@ CONFIG_PM_DEVFREQ=y # CONFIG_PMIC_ADP5520 is not set # CONFIG_PMIC_DA903X is not set CONFIG_PMIC_OPREGION=y -# CONFIG_PM_OPP is not set +CONFIG_PM_OPP=y CONFIG_PM_STD_PARTITION="" CONFIG_PM_TEST_SUSPEND=y CONFIG_PM_TRACE_RTC=y @@ -4043,6 +4082,7 @@ CONFIG_PWRSEQ_SIMPLE=m # CONFIG_QCA7000_SPI is not set # CONFIG_QCA7000_UART is not set # CONFIG_QCOM_EMAC is not set +# CONFIG_QCOM_GLINK_SSR is not set # CONFIG_QCOM_HIDMA is not set # CONFIG_QCOM_HIDMA_MGMT is not set CONFIG_QEDE=m @@ -4072,6 +4112,7 @@ CONFIG_R8169=m CONFIG_R8188EU=m CONFIG_R8712U=m CONFIG_R8723AU=m # Jes Sorensen maintains this (rhbz 1100162) +CONFIG_R8822BE=m CONFIG_RADIO_ADAPTERS=y CONFIG_RADIO_AZTECH=m CONFIG_RADIO_CADET=m @@ -4141,6 +4182,7 @@ CONFIG_REALTEK_PHY=m # CONFIG_REFCOUNT_FULL is not set CONFIG_REGMAP_I2C=y CONFIG_REGMAP=y +CONFIG_REGULATOR_BD9571MWV=m # CONFIG_REGULATOR_DEBUG is not set # CONFIG_REGULATOR is not set # CONFIG_REGULATOR_TPS65132 is not set @@ -4155,6 +4197,8 @@ CONFIG_RELAY=y # CONFIG_RELOCATABLE_TEST is not set CONFIG_RELOCATABLE=y CONFIG_REMOTEPROC=m +CONFIG_RESET_ATTACK_MITIGATION=y +# CONFIG_RESET_HSDK_V1 is not set # CONFIG_RESET_TI_SYSCON is not set # CONFIG_RFD_FTL is not set CONFIG_RFKILL_GPIO=m @@ -4174,6 +4218,8 @@ CONFIG_RMI4_F55=y CONFIG_RMI4_I2C=m CONFIG_RMI4_SMB=m CONFIG_RMI4_SPI=m +# CONFIG_RMNET is not set +# CONFIG_ROCKCHIP_PHY is not set CONFIG_ROCKER=m CONFIG_ROCKETPORT=m CONFIG_ROMFS_FS=m @@ -4181,6 +4227,7 @@ CONFIG_ROSE=m CONFIG_RPCSEC_GSS_KRB5=m # CONFIG_RPMSG_CHAR is not set # CONFIG_RPMSG_QCOM_GLINK_RPM is not set +# CONFIG_RPMSG_QCOM_GLINK_SMEM is not set CONFIG_RPR0521=m CONFIG_RSI_91X=m CONFIG_RSI_DEBUGFS=y @@ -4559,6 +4606,7 @@ CONFIG_SENSORS_HDAPS=m CONFIG_SENSORS_I5500=m CONFIG_SENSORS_I5K_AMB=m CONFIG_SENSORS_IBMAEM=m +# CONFIG_SENSORS_IBM_CFFPS is not set CONFIG_SENSORS_IBMPEX=m # CONFIG_SENSORS_IIO_HWMON is not set CONFIG_SENSORS_INA209=m @@ -4650,6 +4698,7 @@ CONFIG_SENSORS_TMP108=m CONFIG_SENSORS_TMP401=m CONFIG_SENSORS_TMP421=m CONFIG_SENSORS_TPS40422=m +CONFIG_SENSORS_TPS53679=m CONFIG_SENSORS_TSL2550=m # CONFIG_SENSORS_TSL2563 is not set CONFIG_SENSORS_UCD9000=m @@ -4721,6 +4770,7 @@ CONFIG_SERIO_ALTERA_PS2=m # CONFIG_SERIO_APBPS2 is not set CONFIG_SERIO_ARC_PS2=m # CONFIG_SERIO_CT82C710 is not set +# CONFIG_SERIO_GPIO_PS2 is not set CONFIG_SERIO_I8042=y CONFIG_SERIO_LIBPS2=y # CONFIG_SERIO_OLPC_APSP is not set @@ -4738,6 +4788,7 @@ CONFIG_SFC_MCDI_MON=y CONFIG_SFC_MTD=y CONFIG_SFC_SRIOV=y CONFIG_SFI=y +CONFIG_SFP=m # CONFIG_SGI_GRU_DEBUG is not set CONFIG_SGI_GRU=m CONFIG_SGI_IOC4=m @@ -4760,6 +4811,7 @@ CONFIG_SKGE_GENESIS=y CONFIG_SKGE=m # CONFIG_SKY2_DEBUG is not set CONFIG_SKY2=m +CONFIG_SLAB_FREELIST_HARDENED=y CONFIG_SLAB_FREELIST_RANDOM=y CONFIG_SLAB_MERGE_DEFAULT=y # CONFIG_SLICOSS is not set @@ -4867,7 +4919,7 @@ CONFIG_SND_HDA_INPUT_BEEP_MODE=0 CONFIG_SND_HDA_INPUT_BEEP=y CONFIG_SND_HDA_INTEL=m CONFIG_SND_HDA_PATCH_LOADER=y -CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0 +CONFIG_SND_HDA_POWER_SAVE_DEFAULT=1 CONFIG_SND_HDA_POWER_SAVE=y CONFIG_SND_HDA_PREALLOC_SIZE=4096 CONFIG_SND_HDA_RECONFIG=y @@ -4956,6 +5008,7 @@ CONFIG_SND_SOC_CS42L42=m # CONFIG_SND_SOC_CS42L56 is not set # CONFIG_SND_SOC_CS42L73 is not set # CONFIG_SND_SOC_CS42XX8_I2C is not set +CONFIG_SND_SOC_CS43130=m # CONFIG_SND_SOC_CS4349 is not set # CONFIG_SND_SOC_CS53L30 is not set CONFIG_SND_SOC_DIO2125=m @@ -5043,6 +5096,7 @@ CONFIG_SND_SOC_SSM4567=m CONFIG_SND_SOC_TS3A227E=m # CONFIG_SND_SOC_WM8510 is not set # CONFIG_SND_SOC_WM8523 is not set +CONFIG_SND_SOC_WM8524=m # CONFIG_SND_SOC_WM8580 is not set # CONFIG_SND_SOC_WM8711 is not set # CONFIG_SND_SOC_WM8728 is not set @@ -5146,6 +5200,7 @@ CONFIG_SQUASHFS=m CONFIG_SQUASHFS_XATTR=y CONFIG_SQUASHFS_XZ=y CONFIG_SQUASHFS_ZLIB=y +CONFIG_SQUASHFS_ZSTD=y # CONFIG_SRAM is not set # CONFIG_SRF04 is not set # CONFIG_SRF08 is not set @@ -5179,6 +5234,7 @@ CONFIG_STMMAC_ETH=m # CONFIG_STMMAC_PLATFORM is not set # CONFIG_STM_SOURCE_CONSOLE is not set CONFIG_STRICT_DEVMEM=y +# CONFIG_STRING_SELFTEST is not set CONFIG_STRIP_ASM_SYMS=y # CONFIG_STRIP is not set CONFIG_SUNDANCE=m @@ -5343,7 +5399,6 @@ CONFIG_TIPC=m CONFIG_TIPC_MEDIA_UDP=y CONFIG_TI_SCI_PROTOCOL=m # CONFIG_TI_ST is not set -# CONFIG_TI_SYSCON_RESET is not set # CONFIG_TI_TLC4541 is not set CONFIG_TLAN=m CONFIG_TLS=m @@ -5629,7 +5684,6 @@ CONFIG_USB_KEENE=m CONFIG_USB_LAN78XX=m CONFIG_USB_LCD=m CONFIG_USB_LD=m -CONFIG_USB_LED=m CONFIG_USB_LEDS_TRIGGER_USBPORT=m CONFIG_USB_LED_TRIG=y CONFIG_USB_LEGOTOWER=m @@ -5909,7 +5963,6 @@ CONFIG_VIDEO_NOON010PC30=m CONFIG_VIDEO_PVRUSB2_DVB=y CONFIG_VIDEO_PVRUSB2=m CONFIG_VIDEO_PVRUSB2_SYSFS=y -# CONFIG_VIDEO_RENESAS_VSP1 is not set CONFIG_VIDEO_SAA6588=m CONFIG_VIDEO_SAA7134_ALSA=m CONFIG_VIDEO_SAA7134_DVB=m @@ -6015,6 +6068,7 @@ CONFIG_W1_SLAVE_DS2438=m CONFIG_W1_SLAVE_DS2760=m CONFIG_W1_SLAVE_DS2780=m CONFIG_W1_SLAVE_DS2781=m +CONFIG_W1_SLAVE_DS2805=m CONFIG_W1_SLAVE_DS28E04=m CONFIG_W1_SLAVE_SMEM=m CONFIG_W1_SLAVE_THERM=m @@ -6034,6 +6088,7 @@ CONFIG_WATCHDOG=y CONFIG_WCN36XX=m CONFIG_WDAT_WDT=m CONFIG_WDTPCI=m +CONFIG_WIL6210_DEBUGFS=y CONFIG_WIL6210_ISR_COR=y CONFIG_WIL6210=m # CONFIG_WIL6210_TRACING is not set @@ -6082,6 +6137,7 @@ CONFIG_WMI_BMOF=m # CONFIG_WQ_WATCHDOG is not set # CONFIG_WW_MUTEX_SELFTEST is not set # CONFIG_X25 is not set +# CONFIG_X86_5LEVEL is not set CONFIG_X86_64_ACPI_NUMA=y CONFIG_X86_ACPI_CPUFREQ_CPB=y CONFIG_X86_ACPI_CPUFREQ=m @@ -6148,6 +6204,7 @@ CONFIG_XEN_NETDEV_BACKEND=m CONFIG_XEN_NETDEV_FRONTEND=m CONFIG_XEN_PCIDEV_BACKEND=m CONFIG_XEN_PCIDEV_FRONTEND=m +# CONFIG_XEN_PVCALLS_BACKEND is not set CONFIG_XEN_PVHVM=y CONFIG_XEN_PVH=y CONFIG_XEN_PV=y @@ -6202,6 +6259,7 @@ CONFIG_ZONE_DEVICE=y CONFIG_ZONE_DMA=y # CONFIG_ZPA2326 is not set CONFIG_ZRAM=m +# CONFIG_ZRAM_WRITEBACK is not set # CONFIG_ZSMALLOC_STAT is not set CONFIG_ZSMALLOC=y CONFIG_ZSWAP=y diff --git a/freed-ora/current/f26/kernel.spec b/freed-ora/current/f26/kernel.spec index a7b54dc60..b1bdfb5d4 100644 --- a/freed-ora/current/f26/kernel.spec +++ b/freed-ora/current/f26/kernel.spec @@ -17,7 +17,7 @@ Summary: The Linux kernel %else %global signkernel 0 %global signmodules 1 -%global zipmodules 0 +%global zipmodules 1 %endif %if %{zipmodules} @@ -42,13 +42,13 @@ Summary: The Linux kernel # For non-released -rc kernels, this will be appended after the rcX and # gitX tags, so a 3 here would become part of release "0.rcX.gitX.3" # -%global baserelease 202 +%global baserelease 200 %global fedora_build %{baserelease} # base_sublevel is the kernel version we're starting with and patching # on top of -- for example, 3.1-rc7-git1 starts with a 3.0 base, # which yields a base_sublevel of 0. -%define base_sublevel 13 +%define base_sublevel 14 # librev starts empty, then 1, etc, as the linux-libre tarball # changes. This is only used to determine which tarball to use. @@ -58,9 +58,9 @@ Summary: The Linux kernel %define basegnu -gnu%{?librev} # To be inserted between "patch" and "-4.". -%define stablelibre -4.13%{?stablegnux} -#define rcrevlibre -4.13%{?rcrevgnux} -#define gitrevlibre -4.13%{?gitrevgnux} +%define stablelibre -4.14%{?stablegnux} +#define rcrevlibre -4.14%{?rcrevgnux} +#define gitrevlibre -4.14%{?gitrevgnux} %if 0%{?stablelibre:1} %define stablegnu -gnu%{?librev} @@ -92,7 +92,7 @@ Summary: The Linux kernel %if 0%{?released_kernel} # Do we have a -stable update to apply? -%define stable_update 16 +%define stable_update 4 # Set rpm version accordingly %if 0%{?stable_update} %define stablerev %{stable_update} @@ -131,8 +131,6 @@ Summary: The Linux kernel # kernel-headers %define with_headers %{?_without_headers: 0} %{?!_without_headers: 1} %define with_cross_headers %{?_without_cross_headers: 0} %{?!_without_cross_headers: 1} -# kernel-firmware -%define with_firmware %{?_with_firmware: 1} %{?!_with_firmware: 0} # perf %define with_perf %{?_without_perf: 0} %{?!_without_perf: 1} # tools @@ -276,7 +274,6 @@ Summary: The Linux kernel %define with_tools 0 %define with_perf 0 %define all_arch_configs kernel-%{version}-*.config -%define with_firmware %{?_without_firmware: 0} %{?!_without_firmware: 1} %endif # bootwrapper is only on ppc @@ -308,7 +305,7 @@ Summary: The Linux kernel %define make_target vmlinux %define kernel_image vmlinux %define kernel_image_elf 1 -%ifarch ppc64 ppc64p7 +%ifarch ppc64 %define all_arch_configs kernel-%{version}-ppc64*.config %endif %ifarch ppc64le @@ -417,7 +414,7 @@ Version: %{rpmversion} Release: %{pkg_release} # DO NOT CHANGE THE 'ExclusiveArch' LINE TO TEMPORARILY EXCLUDE AN ARCHITECTURE BUILD. # SET %%nobuildarches (ABOVE) INSTEAD -ExclusiveArch: noarch %{all_x86} x86_64 ppc64 ppc64p7 s390x %{arm} aarch64 ppc64le +ExclusiveArch: %{all_x86} x86_64 ppc64 s390x %{arm} aarch64 ppc64le ExclusiveOS: Linux %ifnarch %{nobuildarches} Requires: kernel-libre-core-uname-r = %{KVERREL}%{?variant} @@ -485,7 +482,6 @@ Source93: filter-aarch64.sh Source95: filter-ppc64.sh Source96: filter-ppc64le.sh Source97: filter-s390x.sh -Source98: filter-ppc64p7.sh Source99: filter-modules.sh %define modsign_cmd %{SOURCE18} @@ -503,8 +499,6 @@ Source30: kernel-ppc64.config Source31: kernel-ppc64-debug.config Source32: kernel-ppc64le.config Source33: kernel-ppc64le-debug.config -Source34: kernel-ppc64p7.config -Source35: kernel-ppc64p7-debug.config Source36: kernel-s390x.config Source37: kernel-s390x-debug.config Source38: kernel-x86_64.config @@ -622,153 +616,78 @@ Patch211: drm-i915-hush-check-crtc-state.patch # https://patchwork.freedesktop.org/patch/180554/ Patch300: drm-cma-reduce-dmesg-logs.patch -# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=c0d8832e78cbfd4a64b7112e34920af4b0b0e60e -# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=ae2e972dae3cea795e9f8f94eb1601213c2d49f0 - # http://www.spinics.net/lists/linux-tegra/msg26029.html -Patch302: usb-phy-tegra-Add-38.4MHz-clock-table-entry.patch +Patch301: usb-phy-tegra-Add-38.4MHz-clock-table-entry.patch # Fix OMAP4 (pandaboard) -Patch303: arm-revert-mmc-omap_hsmmc-Use-dma_request_chan-for-reque.patch +Patch302: arm-revert-mmc-omap_hsmmc-Use-dma_request_chan-for-reque.patch # http://patchwork.ozlabs.org/patch/587554/ -Patch304: ARM-tegra-usb-no-reset.patch +Patch303: ARM-tegra-usb-no-reset.patch + +Patch304: allwinner-net-emac.patch -Patch305: allwinner-net-emac.patch +Patch305: arm64-Revert-allwinner-a64-pine64-Use-dcdc1-regulato.patch # https://www.spinics.net/lists/arm-kernel/msg554183.html -Patch307: arm-imx6-hummingboard2.patch +Patch306: arm-imx6-hummingboard2.patch -Patch308: arm64-Add-option-of-13-for-FORCE_MAX_ZONEORDER.patch +Patch307: arm64-Add-option-of-13-for-FORCE_MAX_ZONEORDER.patch -# https://patchwork.kernel.org/patch/9815555/ -# https://patchwork.kernel.org/patch/9815651/ -# https://patchwork.kernel.org/patch/9819885/ # https://patchwork.kernel.org/patch/9820417/ -# https://patchwork.kernel.org/patch/9821151/ -# https://patchwork.kernel.org/patch/9821157/ Patch310: qcom-msm89xx-fixes.patch -# https://patchwork.kernel.org/patch/9831825/ -# https://patchwork.kernel.org/patch/9833721/ -Patch311: arm-tegra-fix-gpu-iommu.patch - -# https://www.spinics.net/lists/linux-arm-msm/msg28203.html -Patch312: qcom-display-iommu.patch - -# https://patchwork.kernel.org/patch/9839803/ -Patch313: qcom-Force-host-mode-for-USB-on-apq8016-sbc.patch - -# https://patchwork.kernel.org/patch/9850189/ -Patch314: qcom-msm-ci_hdrc_msm_probe-missing-of_node_get.patch - -Patch320: bcm283x-vc4-fixes.patch +# https://patchwork.kernel.org/patch/10054387/ +Patch311: USB-ulpi-fix-bus-node-lookup.patch # Fix USB on the RPi https://patchwork.kernel.org/patch/9879371/ Patch321: bcm283x-dma-mapping-skip-USB-devices-when-configuring-DMA-during-probe.patch -# Updat3 move of bcm2837, landed in 4.14 -Patch322: bcm2837-move-dt.patch +# bcm2837 bluetooth support +Patch323: bcm2837-bluetooth-support.patch + +Patch324: rpi-graphics-fix.patch -Patch325: rpi-graphics-fix.patch +# Generic fixes and enablement for Socionext SoC and 96board +# https://patchwork.kernel.org/patch/9980861/ +Patch331: PCI-aspm-deal-with-missing-root-ports-in-link-state-handling.patch -# https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?h=next-20170912&id=723288836628bc1c0855f3bb7b64b1803e4b9e4a -Patch324: arm-of-restrict-dma-configuration.patch +# https://git.kernel.org/pub/scm/linux/kernel/git/ardb/linux.git/log/?h=synquacer-netsec +Patch332: arm64-socionext-96b-enablement.patch -# Upstream ACPI fix -Patch331: arm64-xgene-acpi-fix.patch +Patch335: arm-exynos-fix-usb3.patch -# ThunderX fixes -Patch332: arm64-cavium-fixes.patch +Patch399: arm64-thunderX-fix-ipv6-checksum-offload.patch # 400 - IBM (ppc/s390x) patches # 500 - Temp fixes/CVEs etc -# CVE-2017-7477 rhbz 1445207 1445208 -Patch502: CVE-2017-7477.patch - -# CVE-2017-16644 rhbz 1516273 1516274 -Patch503: media-hdpvr-Fix-an-error-handling-path-in-hdpvr_probe.patch - -# CVE-2017-1000405 rhbz 1516514 1519115 -Patch504: 0001-mm-thp-Do-not-make-page-table-dirty-unconditionally-.patch +# rhbz 1498016 1498017 +#Patch503: KEYS-don-t-let-add_key-update-an-uninstantiated-key.patch # 600 - Patches for improved Bay and Cherry Trail device support # Below patches are submitted upstream, awaiting review / merging Patch601: 0001-Input-gpio_keys-Allow-suppression-of-input-events-fo.patch Patch602: 0002-Input-soc_button_array-Suppress-power-button-presses.patch Patch610: 0010-Input-silead-Add-support-for-capactive-home-button-f.patch -Patch611: 0011-Input-goodix-Add-support-for-capacitive-home-button.patch -# These patches are queued for 4.14 and can be dropped on rebase to 4.14-rc1 -Patch603: 0001-power-supply-max17042_battery-Add-support-for-ACPI-e.patch -Patch604: 0002-power-supply-max17042_battery-Fix-ACPI-interrupt-iss.patch -Patch613: 0013-iio-accel-bmc150-Add-support-for-BOSC0200-ACPI-devic.patch -Patch615: 0015-i2c-cht-wc-Add-Intel-Cherry-Trail-Whiskey-Cove-SMBUS.patch - -# rhbz 1431375 -Patch704: input-rmi4-remove-the-need-for-artifical-IRQ.patch # rhbz 1476467 -Patch706: Fix-for-module-sig-verification.patch - -# rhbz 1485086 -Patch710: pci-mark-amd-stoney-gpu-ats-as-broken.patch - -# CVE-2017-13693 rhbz 1485346 1485356 -Patch713: acpi-acpica-fix-acpi-operand-cache-leak-in-dsutils.c.patch - -# CVE-2017-13694 rhbz 1485348 -Patch714: V4-acpi-acpica-fix-acpi-parse-and-parseext-cache-leaks.patch - -# CVE-2017-13695 rhbz 1485349 -Patch715: acpi-acpica-fix-acpi-operand-cache-leak-in-nseval.c.patch - -# Should fix our QXL issues (Doesn't) -Patch718: qxl-fixes.patch - -# rhbz 1493498 -Patch723: 0001-fs-locks-Remove-fl_nspid-and-use-fs-specific-l_pid-f.patch - -# rhbz 1432684 -Patch724: 1-3-net-set-tb--fast_sk_family.patch -Patch725: 2-3-net-use-inet6_rcv_saddr-to-compare-sockets.patch -Patch726: 3-3-inet-fix-improper-empty-comparison.patch +Patch617: Fix-for-module-sig-verification.patch -# rhbz 1482648 -Patch630: Input-synaptics---Disable-kernel-tracking-on-SMBus-devices.patch +# rhbz 1431375 +Patch619: input-rmi4-remove-the-need-for-artifical-IRQ.patch # Headed upstream -Patch631: drm-i915-boost-GPU-clocks-if-we-miss-the-pageflip.patch - -# http://patchwork.ozlabs.org/patch/831938/ -Patch633: net-mlxsw-reg-Add-high-and-low-temperature-thresholds.patch +Patch621: drm-i915-Boost-GPU-clocks-if-we-miss-the-pageflip-s-vblank.patch -# Included in 4.14, backport requested on kernel@ -Patch634: selinux-Generalize-support-for-NNP-nosuid-SELinux-do.patch +Patch623: 0001-PATCH-staging-rtl8822be-fix-wrong-dma-unmap-len.patch # rhbz 1509461 -Patch635: v3-1-2-Input-synaptics-rmi4---RMI4-can-also-use-SMBUS-version-3.patch -Patch636: v3-2-2-Input-synaptics---Lenovo-X1-Carbon-5-should-use-SMBUS-RMI.patch - -# rhbz 1490803 -Patch637: 1-2-kvm-vmx-Reinstate-support-for-CPUs-without-virtual-NMI.patch - -# CVE-2017-16538 rhbz 1510826 1510854 -Patch639: CVE-2017-16538.patch - -# rhbz 1507931 -Patch640: qxl_cursor_fix.patch +Patch625: v3-2-2-Input-synaptics---Lenovo-X1-Carbon-5-should-use-SMBUS-RMI.patch -# rhbz 1462175 -Patch641: HID-rmi-Check-that-a-device-is-a-RMI-device-before-c.patch - -# rhbz 1518707 -Patch642: 0001-powerpc-64s-radix-Fix-128TB-512TB-virtual-address-bo.patch -Patch643: 0002-powerpc-64s-hash-Fix-512T-hint-detection-to-use-128T.patch -Patch644: 0003-powerpc-64s-hash-Fix-128TB-512TB-virtual-address-bou.patch -Patch645: 0004-powerpc-64s-hash-Fix-fork-with-512TB-process-address.patch -Patch646: 0005-powerpc-64s-hash-Allow-MAP_FIXED-allocations-to-cros.patch +# Fixes for QXL issues +Patch627: qxl-fixes.patch # END OF PATCH DEFINITIONS @@ -796,9 +715,6 @@ Provides: kernel-uname-r = %{KVERREL}%{?variant}%{?1:+%{1}}\ Provides: kernel-libre-uname-r = %{KVERREL}%{?variant}%{?1:+%{1}}\ Requires(pre): %{kernel_prereq}\ Requires(pre): %{initrd_prereq}\ -%if %{with_firmware}\ -Requires(pre): kernel-libre-firmware >= %{rpmversion}-%{pkg_release}\ -%endif\ Requires(preun): systemd >= 200\ Conflicts: xfsprogs < 4.3.0-1\ Conflicts: xorg-x11-drv-vmmouse < 13.0.99\ @@ -844,15 +760,6 @@ header files define structures and constants that are needed for building most standard programs and are also needed for rebuilding the cross-glibc package. -%package firmware -Summary: Firmware files used by the Linux kernel -Group: Development/System -License: GPLv2+ -Provides: kernel-firmware = %{rpmversion}-%{pkg_release} -%description firmware -Kernel-firmware includes firmware files required for some devices to -operate. - %package bootwrapper Provides: kernel-libre-bootwrapper = %{rpmversion}-%{pkg_release} Summary: Boot wrapper files for generating combined kernel + initrd images @@ -1253,10 +1160,6 @@ ApplyOptionalPatch() fi } -# we don't want a .config file when building firmware: it just confuses the build system -%define build_firmware \ - make INSTALL_FW_PATH=$RPM_BUILD_ROOT/lib/firmware firmware_install \ - # First we unpack the kernel tarball. # If this isn't the first make prep, we use links to the existing clean tarball # which speeds things up quite a bit. @@ -2127,7 +2030,7 @@ pushd tools/thermal/tmon make INSTALL_ROOT=%{buildroot} install popd pushd tools/iio -make INSTALL_ROOT=%{buildroot} install +make DESTDIR=%{buildroot} install popd pushd tools/gpio make DESTDIR=%{buildroot} install @@ -2137,10 +2040,6 @@ make INSTALL_ROOT=%{buildroot} install-tools popd %endif -%if %{with_firmware} -%{build_firmware} -%endif - %if %{with_bootwrapper} make DESTDIR=$RPM_BUILD_ROOT bootwrapper_install WRAPPER_OBJDIR=%{_libdir}/kernel-wrapper WRAPPER_DTSDIR=%{_libdir}/kernel-wrapper/dts %endif @@ -2278,13 +2177,6 @@ fi /usr/*-linux-gnu/include/* %endif -%if %{with_firmware} -%files firmware -%defattr(-,root,root) -/lib/firmware/* -%doc linux-%{KVERREL}/firmware/WHENCE -%endif - %if %{with_bootwrapper} %files bootwrapper %defattr(-,root,root) @@ -2440,6 +2332,14 @@ fi # # %changelog +* Fri Dec 8 2017 Alexandre Oliva <lxoliva@fsfla.org> -libre +- GNU Linux-libre 4.14.4-gnu. + +* Thu Dec 07 2017 Jeremy Cline <jeremy@jcline.org> - 4.14.4-200 +- Linux v4.14.4 rebase +- Fixes for dwmac-sun8i for A64/Pine64 +- Fixes for Cavium ThunderX (rhbz 1521190) + * Thu Nov 30 2017 Jeremy Cline <jeremy@jcline.org> - 4.13.16-202 - Fix CVE-2017-1000405 (rhbz 1516514 1519115) diff --git a/freed-ora/current/f26/linux-libre-4.13-gnu.tar.xz.sign b/freed-ora/current/f26/linux-libre-4.13-gnu.tar.xz.sign deleted file mode 100644 index 352e23f2a..000000000 --- a/freed-ora/current/f26/linux-libre-4.13-gnu.tar.xz.sign +++ /dev/null @@ -1,6 +0,0 @@ ------BEGIN PGP SIGNATURE----- - -iF0EABECAB0WIQRHRALIxYLa++OJxCe8t8+Hfn1HpwUCWayFoAAKCRC8t8+Hfn1H -p4ewAJ9+oAC4mcDZRw3LNekE7XCkTf0g8wCfftlJQJ/fJw20SRUK4FyBG9RWUoo= -=lzC+ ------END PGP SIGNATURE----- diff --git a/freed-ora/current/f26/linux-libre-4.13-gnu.xdelta.xz b/freed-ora/current/f26/linux-libre-4.13-gnu.xdelta.xz Binary files differdeleted file mode 100644 index 6fffec8dd..000000000 --- a/freed-ora/current/f26/linux-libre-4.13-gnu.xdelta.xz +++ /dev/null diff --git a/freed-ora/current/f26/linux-libre-4.13-gnu.xdelta.xz.sign b/freed-ora/current/f26/linux-libre-4.13-gnu.xdelta.xz.sign deleted file mode 100644 index e21c3f326..000000000 --- a/freed-ora/current/f26/linux-libre-4.13-gnu.xdelta.xz.sign +++ /dev/null @@ -1,6 +0,0 @@ ------BEGIN PGP SIGNATURE----- - -iF0EABECAB0WIQRHRALIxYLa++OJxCe8t8+Hfn1HpwUCWayFoQAKCRC8t8+Hfn1H -pw2PAJ46LTO4mpucpw8h5Iw2LrHe0BIQigCeIN5apLLM3iK9y7Ue9YcUqxwamUI= -=EguZ ------END PGP SIGNATURE----- diff --git a/freed-ora/current/f26/linux-libre-4.14-gnu.tar.xz.sign b/freed-ora/current/f26/linux-libre-4.14-gnu.tar.xz.sign new file mode 100644 index 000000000..32d78c605 --- /dev/null +++ b/freed-ora/current/f26/linux-libre-4.14-gnu.tar.xz.sign @@ -0,0 +1,6 @@ +-----BEGIN PGP SIGNATURE----- + +iF0EABECAB0WIQRHRALIxYLa++OJxCe8t8+Hfn1HpwUCWgjNOAAKCRC8t8+Hfn1H +p91GAJwIC0UqVGJbvCFZizL/cT7h7avuRACgjpNmni95S+52lZbaslG1mWtuXDQ= +=7qop +-----END PGP SIGNATURE----- diff --git a/freed-ora/current/f26/linux-libre-4.14-gnu.xdelta.xz b/freed-ora/current/f26/linux-libre-4.14-gnu.xdelta.xz Binary files differnew file mode 100644 index 000000000..1f12eddaa --- /dev/null +++ b/freed-ora/current/f26/linux-libre-4.14-gnu.xdelta.xz diff --git a/freed-ora/current/f26/linux-libre-4.14-gnu.xdelta.xz.sign b/freed-ora/current/f26/linux-libre-4.14-gnu.xdelta.xz.sign new file mode 100644 index 000000000..27fc4a08d --- /dev/null +++ b/freed-ora/current/f26/linux-libre-4.14-gnu.xdelta.xz.sign @@ -0,0 +1,6 @@ +-----BEGIN PGP SIGNATURE----- + +iF0EABECAB0WIQRHRALIxYLa++OJxCe8t8+Hfn1HpwUCWgjNOgAKCRC8t8+Hfn1H +pwK5AJ47KKuLVdPLGPPKYJpNeAC/u1BdUACeN84H3Yj6eqmAWzyb5t+8peqCB1Y= +=rYob +-----END PGP SIGNATURE----- diff --git a/freed-ora/current/f26/media-hdpvr-Fix-an-error-handling-path-in-hdpvr_probe.patch b/freed-ora/current/f26/media-hdpvr-Fix-an-error-handling-path-in-hdpvr_probe.patch deleted file mode 100644 index 703b0d246..000000000 --- a/freed-ora/current/f26/media-hdpvr-Fix-an-error-handling-path-in-hdpvr_probe.patch +++ /dev/null @@ -1,106 +0,0 @@ -From patchwork Fri Sep 22 13:07:06 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [media] hdpvr: Fix an error handling path in hdpvr_probe() -From: Arvind Yadav <arvind.yadav.cs@gmail.com> -X-Patchwork-Id: 9966135 -Message-Id: <b5c06a8e071d38fc4b4df20b7f9c8fb25d5408fe.1506085151.git.arvind.yadav.cs@gmail.com> -To: andreyknvl@google.com, hverkuil@xs4all.nl, mchehab@kernel.org, - laurent.pinchart@ideasonboard.com, dvyukov@google.com, - kcc@google.com, syzkaller@googlegroups.com -Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org -Date: Fri, 22 Sep 2017 18:37:06 +0530 - -Here, hdpvr_register_videodev() is responsible for setup and -register a video device. Also defining and initializing a worker. -hdpvr_register_videodev() is calling by hdpvr_probe at last. -So No need to flash any work here. -Unregister v4l2, free buffers and memory. If hdpvr_probe() will fail. - -Signed-off-by: Arvind Yadav <arvind.yadav.cs@gmail.com> -Reported-by: Andrey Konovalov <andreyknvl@google.com> -Tested-by: Andrey Konovalov <andreyknvl@google.com> ---- - drivers/media/usb/hdpvr/hdpvr-core.c | 26 +++++++++++++++----------- - 1 file changed, 15 insertions(+), 11 deletions(-) - -diff --git a/drivers/media/usb/hdpvr/hdpvr-core.c b/drivers/media/usb/hdpvr/hdpvr-core.c -index dbe29c6..1e8cbaf 100644 ---- a/drivers/media/usb/hdpvr/hdpvr-core.c -+++ b/drivers/media/usb/hdpvr/hdpvr-core.c -@@ -292,7 +292,7 @@ static int hdpvr_probe(struct usb_interface *interface, - /* register v4l2_device early so it can be used for printks */ - if (v4l2_device_register(&interface->dev, &dev->v4l2_dev)) { - dev_err(&interface->dev, "v4l2_device_register failed\n"); -- goto error; -+ goto error_free_dev; - } - - mutex_init(&dev->io_mutex); -@@ -301,7 +301,7 @@ static int hdpvr_probe(struct usb_interface *interface, - dev->usbc_buf = kmalloc(64, GFP_KERNEL); - if (!dev->usbc_buf) { - v4l2_err(&dev->v4l2_dev, "Out of memory\n"); -- goto error; -+ goto error_v4l2_unregister; - } - - init_waitqueue_head(&dev->wait_buffer); -@@ -339,13 +339,13 @@ static int hdpvr_probe(struct usb_interface *interface, - } - if (!dev->bulk_in_endpointAddr) { - v4l2_err(&dev->v4l2_dev, "Could not find bulk-in endpoint\n"); -- goto error; -+ goto error_put_usb; - } - - /* init the device */ - if (hdpvr_device_init(dev)) { - v4l2_err(&dev->v4l2_dev, "device init failed\n"); -- goto error; -+ goto error_put_usb; - } - - mutex_lock(&dev->io_mutex); -@@ -353,7 +353,7 @@ static int hdpvr_probe(struct usb_interface *interface, - mutex_unlock(&dev->io_mutex); - v4l2_err(&dev->v4l2_dev, - "allocating transfer buffers failed\n"); -- goto error; -+ goto error_put_usb; - } - mutex_unlock(&dev->io_mutex); - -@@ -361,7 +361,7 @@ static int hdpvr_probe(struct usb_interface *interface, - retval = hdpvr_register_i2c_adapter(dev); - if (retval < 0) { - v4l2_err(&dev->v4l2_dev, "i2c adapter register failed\n"); -- goto error; -+ goto error_free_buffers; - } - - client = hdpvr_register_ir_rx_i2c(dev); -@@ -394,13 +394,17 @@ static int hdpvr_probe(struct usb_interface *interface, - reg_fail: - #if IS_ENABLED(CONFIG_I2C) - i2c_del_adapter(&dev->i2c_adapter); -+error_free_buffers: - #endif -+ hdpvr_free_buffers(dev); -+error_put_usb: -+ usb_put_dev(dev->udev); -+ kfree(dev->usbc_buf); -+error_v4l2_unregister: -+ v4l2_device_unregister(&dev->v4l2_dev); -+error_free_dev: -+ kfree(dev); - error: -- if (dev) { -- flush_work(&dev->worker); -- /* this frees allocated memory */ -- hdpvr_delete(dev); -- } - return retval; - } - diff --git a/freed-ora/current/f26/net-mlxsw-reg-Add-high-and-low-temperature-thresholds.patch b/freed-ora/current/f26/net-mlxsw-reg-Add-high-and-low-temperature-thresholds.patch deleted file mode 100644 index 957200e17..000000000 --- a/freed-ora/current/f26/net-mlxsw-reg-Add-high-and-low-temperature-thresholds.patch +++ /dev/null @@ -1,79 +0,0 @@ -From patchwork Mon Oct 30 09:51:18 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [net] mlxsw: reg: Add high and low temperature thresholds -X-Patchwork-Submitter: Jiri Pirko <jiri@resnulli.us> -X-Patchwork-Id: 831938 -X-Patchwork-Delegate: davem@davemloft.net -Message-Id: <20171030095118.9098-1-jiri@resnulli.us> -To: netdev@vger.kernel.org -Cc: davem@davemloft.net, idosch@mellanox.com, mlxsw@mellanox.com -Date: Mon, 30 Oct 2017 10:51:18 +0100 -From: Jiri Pirko <jiri@resnulli.us> -List-Id: <netdev.vger.kernel.org> - -From: Ido Schimmel <idosch@mellanox.com> - -The ASIC has the ability to generate events whenever a sensor indicates -the temperature goes above or below its high or low thresholds, -respectively. - -In new firmware versions the firmware enforces a minimum of 5 -degrees Celsius difference between both thresholds. Make the driver -conform to this requirement. - -Note that this is required even when the events are disabled, as in -certain systems interrupts are generated via GPIO based on these -thresholds. - -Fixes: 85926f877040 ("mlxsw: reg: Add definition of temperature management registers") -Signed-off-by: Ido Schimmel <idosch@mellanox.com> -Signed-off-by: Jiri Pirko <jiri@mellanox.com> ---- - drivers/net/ethernet/mellanox/mlxsw/reg.h | 25 +++++++++++++++++++++++++ - 1 file changed, 25 insertions(+) - -diff --git a/drivers/net/ethernet/mellanox/mlxsw/reg.h b/drivers/net/ethernet/mellanox/mlxsw/reg.h -index 4afc848..5acfbe5 100644 ---- a/drivers/net/ethernet/mellanox/mlxsw/reg.h -+++ b/drivers/net/ethernet/mellanox/mlxsw/reg.h -@@ -5827,6 +5827,29 @@ MLXSW_ITEM32(reg, mtmp, mtr, 0x08, 30, 1); - */ - MLXSW_ITEM32(reg, mtmp, max_temperature, 0x08, 0, 16); - -+/* reg_mtmp_tee -+ * Temperature Event Enable. -+ * 0 - Do not generate event -+ * 1 - Generate event -+ * 2 - Generate single event -+ * Access: RW -+ */ -+MLXSW_ITEM32(reg, mtmp, tee, 0x0C, 30, 2); -+ -+#define MLXSW_REG_MTMP_THRESH_HI 0x348 /* 105 Celsius */ -+ -+/* reg_mtmp_temperature_threshold_hi -+ * High threshold for Temperature Warning Event. In 0.125 Celsius. -+ * Access: RW -+ */ -+MLXSW_ITEM32(reg, mtmp, temperature_threshold_hi, 0x0C, 0, 16); -+ -+/* reg_mtmp_temperature_threshold_lo -+ * Low threshold for Temperature Warning Event. In 0.125 Celsius. -+ * Access: RW -+ */ -+MLXSW_ITEM32(reg, mtmp, temperature_threshold_lo, 0x10, 0, 16); -+ - #define MLXSW_REG_MTMP_SENSOR_NAME_SIZE 8 - - /* reg_mtmp_sensor_name -@@ -5843,6 +5866,8 @@ static inline void mlxsw_reg_mtmp_pack(char *payload, u8 sensor_index, - mlxsw_reg_mtmp_sensor_index_set(payload, sensor_index); - mlxsw_reg_mtmp_mte_set(payload, max_temp_enable); - mlxsw_reg_mtmp_mtr_set(payload, max_temp_reset); -+ mlxsw_reg_mtmp_temperature_threshold_hi_set(payload, -+ MLXSW_REG_MTMP_THRESH_HI); - } - - static inline void mlxsw_reg_mtmp_unpack(char *payload, unsigned int *p_temp, diff --git a/freed-ora/current/f26/no-pcspkr-modalias.patch b/freed-ora/current/f26/no-pcspkr-modalias.patch index e43cd97eb..2ccd87202 100644 --- a/freed-ora/current/f26/no-pcspkr-modalias.patch +++ b/freed-ora/current/f26/no-pcspkr-modalias.patch @@ -9,7 +9,7 @@ Upstream-status: Fedora mustard 1 file changed, 1 deletion(-) diff --git a/drivers/input/misc/pcspkr.c b/drivers/input/misc/pcspkr.c -index 72b1fc3ab910..86907eaa4883 100644 +index 56ddba21de84..23534f420e68 100644 --- a/drivers/input/misc/pcspkr.c +++ b/drivers/input/misc/pcspkr.c @@ -23,7 +23,6 @@ @@ -17,6 +17,6 @@ index 72b1fc3ab910..86907eaa4883 100644 MODULE_DESCRIPTION("PC Speaker beeper driver"); MODULE_LICENSE("GPL"); -MODULE_ALIAS("platform:pcspkr"); - - static int pcspkr_event(struct input_dev *dev, unsigned int type, unsigned int code, int value) - { + + static int pcspkr_event(struct input_dev *dev, unsigned int type, + unsigned int code, int value) diff --git a/freed-ora/current/f26/patch-4.13-gnu-4.13.16-gnu.xz.sign b/freed-ora/current/f26/patch-4.13-gnu-4.13.16-gnu.xz.sign deleted file mode 100644 index 35f1cc193..000000000 --- a/freed-ora/current/f26/patch-4.13-gnu-4.13.16-gnu.xz.sign +++ /dev/null @@ -1,6 +0,0 @@ ------BEGIN PGP SIGNATURE----- - -iF0EABECAB0WIQRHRALIxYLa++OJxCe8t8+Hfn1HpwUCWhjaagAKCRC8t8+Hfn1H -p04LAKCZ1S+QEtnR7JgWmST9db/X8s+lYgCZAbraz7uZabmDmcVRSgjjIOi8YH0= -=yhM9 ------END PGP SIGNATURE----- diff --git a/freed-ora/current/f26/patch-4.14-gnu-4.14.4-gnu.xz.sign b/freed-ora/current/f26/patch-4.14-gnu-4.14.4-gnu.xz.sign new file mode 100644 index 000000000..430ee4811 --- /dev/null +++ b/freed-ora/current/f26/patch-4.14-gnu-4.14.4-gnu.xz.sign @@ -0,0 +1,6 @@ +-----BEGIN PGP SIGNATURE----- + +iF0EABECAB0WIQRHRALIxYLa++OJxCe8t8+Hfn1HpwUCWigOkQAKCRC8t8+Hfn1H +p57qAJ9Arot+lk/iV5qoFbQXaetjO5s16ACdFHFggNh25yAbWnEcya5diZd8c98= +=rphm +-----END PGP SIGNATURE----- diff --git a/freed-ora/current/f26/pci-mark-amd-stoney-gpu-ats-as-broken.patch b/freed-ora/current/f26/pci-mark-amd-stoney-gpu-ats-as-broken.patch deleted file mode 100644 index 167c40223..000000000 --- a/freed-ora/current/f26/pci-mark-amd-stoney-gpu-ats-as-broken.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 9b44b0b09decfbe388131a345ba780c57240a7a9 Mon Sep 17 00:00:00 2001 -From: Joerg Roedel <jroedel@suse.de> -Date: Tue, 11 Jul 2017 15:48:00 -0500 -Subject: PCI: Mark AMD Stoney GPU ATS as broken - -ATS is broken on this hardware and causes IOMMU stalls and system failure. -Disable ATS on these devices to make them usable again with IOMMU enabled. - -Note that the commit in the Fixes tag is not buggy; it just uncovers the -problem in the hardware by increasing the ATS flush rate. - -Link: https://lists.linuxfoundation.org/pipermail/iommu/2017-March/020836.html -Link: https://bugzilla.redhat.com/show_bug.cgi?id=1409201 -Fixes: b1516a14657a ("iommu/amd: Implement flush queue") -Signed-off-by: Joerg Roedel <jroedel@suse.de> -Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> -Acked-by: Alex Deucher <alexander.deucher@amd.com> ---- - drivers/pci/quirks.c | 15 +++++++++++++++ - 1 file changed, 15 insertions(+) - -diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c -index 6967c6b..15ee4e9 100644 ---- a/drivers/pci/quirks.c -+++ b/drivers/pci/quirks.c -@@ -4681,3 +4681,18 @@ static void quirk_intel_no_flr(struct pci_dev *dev) - } - DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, 0x1502, quirk_intel_no_flr); - DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, 0x1503, quirk_intel_no_flr); -+ -+#ifdef CONFIG_PCI_ATS -+/* -+ * Some devices have a broken ATS implementation causing IOMMU stalls. -+ * Don't use ATS for those devices. -+ */ -+static void quirk_no_ats(struct pci_dev *pdev) -+{ -+ dev_info(&pdev->dev, "disabling ATS (broken on this device)\n"); -+ pdev->ats_cap = 0; -+} -+ -+/* AMD Stoney platform GPU */ -+DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, 0x98e4, quirk_no_ats); -+#endif /* CONFIG_PCI_ATS */ --- -cgit v1.1 - diff --git a/freed-ora/current/f26/pinctrl-bcm2835-Avoid-warning-from-__irq_do_set_handler.patch b/freed-ora/current/f26/pinctrl-bcm2835-Avoid-warning-from-__irq_do_set_handler.patch deleted file mode 100644 index d44e5318b..000000000 --- a/freed-ora/current/f26/pinctrl-bcm2835-Avoid-warning-from-__irq_do_set_handler.patch +++ /dev/null @@ -1,40 +0,0 @@ -From patchwork Wed Jun 21 18:20:04 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: pinctrl: bcm2835: Avoid warning from __irq_do_set_handler -From: Stefan Wahren <stefan.wahren@i2se.com> -X-Patchwork-Id: 9802555 -Message-Id: <1498069204-28154-1-git-send-email-stefan.wahren@i2se.com> -To: Linus Walleij <linus.walleij@linaro.org>, Eric Anholt <eric@anholt.net> -Cc: Stefan Wahren <stefan.wahren@i2se.com>, linux-gpio@vger.kernel.org, - Phil Elwell <phil@raspberrypi.org>, linux-rpi-kernel@lists.infradead.org, - linux-arm-kernel@lists.infradead.org -Date: Wed, 21 Jun 2017 20:20:04 +0200 - -We get a warning during boot with enabled EARLY_PRINTK that -we try to set a irq_chip without data. This is caused by ignoring -the return value of irq_of_parse_and_map(). So avoid calling -gpiochip_set_chained_irqchip() in error case. - -Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com> -Fixes: 85ae9e512f43 ("pinctrl: bcm2835: switch to GPIOLIB_IRQCHIP") ---- - drivers/pinctrl/bcm/pinctrl-bcm2835.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/drivers/pinctrl/bcm/pinctrl-bcm2835.c b/drivers/pinctrl/bcm/pinctrl-bcm2835.c -index 1eb7a1a..2308831 100644 ---- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c -+++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c -@@ -1048,6 +1048,10 @@ static int bcm2835_pinctrl_probe(struct platform_device *pdev) - for (i = 0; i < BCM2835_NUM_IRQS; i++) { - pc->irq[i] = irq_of_parse_and_map(np, i); - pc->irq_group[i] = i; -+ -+ if (pc->irq[i] == 0) -+ continue; -+ - /* - * Use the same handler for all groups: this is necessary - * since we use one gpiochip to cover all lines - the diff --git a/freed-ora/current/f26/qcom-Force-host-mode-for-USB-on-apq8016-sbc.patch b/freed-ora/current/f26/qcom-Force-host-mode-for-USB-on-apq8016-sbc.patch deleted file mode 100644 index 4932539a3..000000000 --- a/freed-ora/current/f26/qcom-Force-host-mode-for-USB-on-apq8016-sbc.patch +++ /dev/null @@ -1,93 +0,0 @@ -From patchwork Fri Jul 14 02:20:42 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [v2] arm64: dts: qcom: Force host mode for USB on apq8016-sbc -From: Stephen Boyd <sboyd@codeaurora.org> -X-Patchwork-Id: 9839803 -Message-Id: <20170714022042.13886-1-sboyd@codeaurora.org> -To: Andy Gross <andy.gross@linaro.org> -Cc: linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, - linux-arm-kernel@lists.infradead.org, Rob Clark <robdclark@gmail.com> -Date: Thu, 13 Jul 2017 19:20:42 -0700 - -Commit ed75d6a96905 ("arm64: dts: qcom: Collapse usb support into -one node") breaks host mode support on apq8016-sbc boards. This -is because the mux driver (tc7usb40mu) hasn't been merged. -Without that driver, we can't toggle the GPIO going to the mux to -route out the D+/D- lines to the USB hub that's on the board. - -One solution would be to totally revert this change, but that -opens us up to other problems when two USB drivers are operating -the same hardware block at the same time. Let's modify the DT so -that the USB controller is always in host mode and connected to -the hub so that things like USB keyboards and mouses work. This -is the mode that most people prefer anyway with these devices. We -also delete the usb-switch node because the binding was never -accepted upstream. - -In the future, we can add muxing support and then update the DT -to support both modes at runtime. Patches to support this are -already on the mailing list. - -Fixes: ed75d6a96905 ("arm64: dts: qcom: Collapse usb support into one node") -Reported-by: Rob Clark <robdclark@gmail.com> -Signed-off-by: Stephen Boyd <sboyd@codeaurora.org> ---- - -I noticed that I accidently removed the vbus notifier part of the phy. -Without it, we'll change settings that shouldn't changed. The thing -that we don't have is the ID pin on this board, not the vbus. That's -the only difference from v1. - - arch/arm64/boot/dts/qcom/apq8016-sbc-pmic-pins.dtsi | 1 + - arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi | 13 ++++--------- - 2 files changed, 5 insertions(+), 9 deletions(-) - -diff --git a/arch/arm64/boot/dts/qcom/apq8016-sbc-pmic-pins.dtsi b/arch/arm64/boot/dts/qcom/apq8016-sbc-pmic-pins.dtsi -index d94640812194..790b7775b901 100644 ---- a/arch/arm64/boot/dts/qcom/apq8016-sbc-pmic-pins.dtsi -+++ b/arch/arm64/boot/dts/qcom/apq8016-sbc-pmic-pins.dtsi -@@ -17,6 +17,7 @@ - function = PMIC_GPIO_FUNC_NORMAL; - power-source = <PM8916_GPIO_VPH>; - input-disable; -+ output-high; - }; - }; - -diff --git a/arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi b/arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi -index bd310ac1967a..bb9e29e6b164 100644 ---- a/arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi -+++ b/arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi -@@ -213,11 +213,14 @@ - }; - - usb@78d9000 { -- extcon = <&usb_id>, <&usb_id>; -+ extcon = <&usb_id>; - status = "okay"; - adp-disable; - hnp-disable; - srp-disable; -+ dr_mode = "host"; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&usb_sw_sel_pm>; - ulpi { - phy { - v1p8-supply = <&pm8916_l7>; -@@ -342,14 +345,6 @@ - pinctrl-0 = <&usb_id_default>; - }; - -- usb-switch { -- compatible = "toshiba,tc7usb40mu"; -- switch-gpios = <&pm8916_gpios 4 GPIO_ACTIVE_HIGH>; -- extcon = <&usb_id>; -- pinctrl-names = "default"; -- pinctrl-0 = <&usb_sw_sel_pm>; -- }; -- - hdmi-out { - compatible = "hdmi-connector"; - type = "a"; diff --git a/freed-ora/current/f26/qcom-display-iommu.patch b/freed-ora/current/f26/qcom-display-iommu.patch deleted file mode 100644 index 87d4473c8..000000000 --- a/freed-ora/current/f26/qcom-display-iommu.patch +++ /dev/null @@ -1,1960 +0,0 @@ -From patchwork Thu Jul 13 12:07:44 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [RESEND,1/4] Docs: dt: document qcom iommu bindings -From: Rob Clark <robdclark@gmail.com> -X-Patchwork-Id: 9838369 -Message-Id: <20170713120747.20490-2-robdclark@gmail.com> -To: iommu@lists.linux-foundation.org -Cc: linux-arm-msm@vger.kernel.org, Archit Taneja <architt@codeaurora.org>, - Rob Herring <robh@kernel.org>, Will Deacon <will.deacon@arm.com>, - Sricharan <sricharan@codeaurora.org>, - Mark Rutland <mark.rutland@arm.com>, Robin Murphy <robin.murphy@arm.com>, - Rob Clark <robdclark@gmail.com>, devicetree@vger.kernel.org -Date: Thu, 13 Jul 2017 08:07:44 -0400 - -Cc: devicetree@vger.kernel.org -Signed-off-by: Rob Clark <robdclark@gmail.com> -Reviewed-by: Rob Herring <robh@kernel.org> ---- - .../devicetree/bindings/iommu/qcom,iommu.txt | 121 +++++++++++++++++++++ - 1 file changed, 121 insertions(+) - create mode 100644 Documentation/devicetree/bindings/iommu/qcom,iommu.txt - -diff --git a/Documentation/devicetree/bindings/iommu/qcom,iommu.txt b/Documentation/devicetree/bindings/iommu/qcom,iommu.txt -new file mode 100644 -index 000000000000..b2641ceb2b40 ---- /dev/null -+++ b/Documentation/devicetree/bindings/iommu/qcom,iommu.txt -@@ -0,0 +1,121 @@ -+* QCOM IOMMU v1 Implementation -+ -+Qualcomm "B" family devices which are not compatible with arm-smmu have -+a similar looking IOMMU but without access to the global register space, -+and optionally requiring additional configuration to route context irqs -+to non-secure vs secure interrupt line. -+ -+** Required properties: -+ -+- compatible : Should be one of: -+ -+ "qcom,msm8916-iommu" -+ -+ Followed by "qcom,msm-iommu-v1". -+ -+- clock-names : Should be a pair of "iface" (required for IOMMUs -+ register group access) and "bus" (required for -+ the IOMMUs underlying bus access). -+ -+- clocks : Phandles for respective clocks described by -+ clock-names. -+ -+- #address-cells : must be 1. -+ -+- #size-cells : must be 1. -+ -+- #iommu-cells : Must be 1. Index identifies the context-bank #. -+ -+- ranges : Base address and size of the iommu context banks. -+ -+- qcom,iommu-secure-id : secure-id. -+ -+- List of sub-nodes, one per translation context bank. Each sub-node -+ has the following required properties: -+ -+ - compatible : Should be one of: -+ - "qcom,msm-iommu-v1-ns" : non-secure context bank -+ - "qcom,msm-iommu-v1-sec" : secure context bank -+ - reg : Base address and size of context bank within the iommu -+ - interrupts : The context fault irq. -+ -+** Optional properties: -+ -+- reg : Base address and size of the SMMU local base, should -+ be only specified if the iommu requires configuration -+ for routing of context bank irq's to secure vs non- -+ secure lines. (Ie. if the iommu contains secure -+ context banks) -+ -+ -+** Examples: -+ -+ apps_iommu: iommu@1e20000 { -+ #address-cells = <1>; -+ #size-cells = <1>; -+ #iommu-cells = <1>; -+ compatible = "qcom,msm8916-iommu", "qcom,msm-iommu-v1"; -+ ranges = <0 0x1e20000 0x40000>; -+ reg = <0x1ef0000 0x3000>; -+ clocks = <&gcc GCC_SMMU_CFG_CLK>, -+ <&gcc GCC_APSS_TCU_CLK>; -+ clock-names = "iface", "bus"; -+ qcom,iommu-secure-id = <17>; -+ -+ // mdp_0: -+ iommu-ctx@4000 { -+ compatible = "qcom,msm-iommu-v1-ns"; -+ reg = <0x4000 0x1000>; -+ interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>; -+ }; -+ -+ // venus_ns: -+ iommu-ctx@5000 { -+ compatible = "qcom,msm-iommu-v1-sec"; -+ reg = <0x5000 0x1000>; -+ interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>; -+ }; -+ }; -+ -+ gpu_iommu: iommu@1f08000 { -+ #address-cells = <1>; -+ #size-cells = <1>; -+ #iommu-cells = <1>; -+ compatible = "qcom,msm8916-iommu", "qcom,msm-iommu-v1"; -+ ranges = <0 0x1f08000 0x10000>; -+ clocks = <&gcc GCC_SMMU_CFG_CLK>, -+ <&gcc GCC_GFX_TCU_CLK>; -+ clock-names = "iface", "bus"; -+ qcom,iommu-secure-id = <18>; -+ -+ // gfx3d_user: -+ iommu-ctx@1000 { -+ compatible = "qcom,msm-iommu-v1-ns"; -+ reg = <0x1000 0x1000>; -+ interrupts = <GIC_SPI 241 IRQ_TYPE_LEVEL_HIGH>; -+ }; -+ -+ // gfx3d_priv: -+ iommu-ctx@2000 { -+ compatible = "qcom,msm-iommu-v1-ns"; -+ reg = <0x2000 0x1000>; -+ interrupts = <GIC_SPI 242 IRQ_TYPE_LEVEL_HIGH>; -+ }; -+ }; -+ -+ ... -+ -+ venus: video-codec@1d00000 { -+ ... -+ iommus = <&apps_iommu 5>; -+ }; -+ -+ mdp: mdp@1a01000 { -+ ... -+ iommus = <&apps_iommu 4>; -+ }; -+ -+ gpu@01c00000 { -+ ... -+ iommus = <&gpu_iommu 1>, <&gpu_iommu 2>; -+ }; -From patchwork Thu Jul 13 12:07:45 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [RESEND,2/4] iommu: arm-smmu: split out register defines -From: Rob Clark <robdclark@gmail.com> -X-Patchwork-Id: 9838371 -Message-Id: <20170713120747.20490-3-robdclark@gmail.com> -To: iommu@lists.linux-foundation.org -Cc: linux-arm-msm@vger.kernel.org, Archit Taneja <architt@codeaurora.org>, - Rob Herring <robh@kernel.org>, Will Deacon <will.deacon@arm.com>, - Sricharan <sricharan@codeaurora.org>, - Mark Rutland <mark.rutland@arm.com>, Robin Murphy <robin.murphy@arm.com>, - Rob Clark <robdclark@gmail.com> -Date: Thu, 13 Jul 2017 08:07:45 -0400 - -I want to re-use some of these for qcom_iommu, which has (roughly) the -same context-bank registers. - -Signed-off-by: Rob Clark <robdclark@gmail.com> ---- - drivers/iommu/arm-smmu-regs.h | 227 ++++++++++++++++++++++++++++++++++++++++++ - drivers/iommu/arm-smmu.c | 203 +------------------------------------ - 2 files changed, 228 insertions(+), 202 deletions(-) - create mode 100644 drivers/iommu/arm-smmu-regs.h - -diff --git a/drivers/iommu/arm-smmu-regs.h b/drivers/iommu/arm-smmu-regs.h -new file mode 100644 -index 000000000000..87589c863068 ---- /dev/null -+++ b/drivers/iommu/arm-smmu-regs.h -@@ -0,0 +1,227 @@ -+/* -+ * IOMMU API for ARM architected SMMU implementations. -+ * -+ * 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. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -+ * -+ * Copyright (C) 2013 ARM Limited -+ * -+ * Author: Will Deacon <will.deacon@arm.com> -+ */ -+ -+#ifndef _ARM_SMMU_REGS_H -+#define _ARM_SMMU_REGS_H -+ -+/* Configuration registers */ -+#define ARM_SMMU_GR0_sCR0 0x0 -+#define sCR0_CLIENTPD (1 << 0) -+#define sCR0_GFRE (1 << 1) -+#define sCR0_GFIE (1 << 2) -+#define sCR0_EXIDENABLE (1 << 3) -+#define sCR0_GCFGFRE (1 << 4) -+#define sCR0_GCFGFIE (1 << 5) -+#define sCR0_USFCFG (1 << 10) -+#define sCR0_VMIDPNE (1 << 11) -+#define sCR0_PTM (1 << 12) -+#define sCR0_FB (1 << 13) -+#define sCR0_VMID16EN (1 << 31) -+#define sCR0_BSU_SHIFT 14 -+#define sCR0_BSU_MASK 0x3 -+ -+/* Auxiliary Configuration register */ -+#define ARM_SMMU_GR0_sACR 0x10 -+ -+/* Identification registers */ -+#define ARM_SMMU_GR0_ID0 0x20 -+#define ARM_SMMU_GR0_ID1 0x24 -+#define ARM_SMMU_GR0_ID2 0x28 -+#define ARM_SMMU_GR0_ID3 0x2c -+#define ARM_SMMU_GR0_ID4 0x30 -+#define ARM_SMMU_GR0_ID5 0x34 -+#define ARM_SMMU_GR0_ID6 0x38 -+#define ARM_SMMU_GR0_ID7 0x3c -+#define ARM_SMMU_GR0_sGFSR 0x48 -+#define ARM_SMMU_GR0_sGFSYNR0 0x50 -+#define ARM_SMMU_GR0_sGFSYNR1 0x54 -+#define ARM_SMMU_GR0_sGFSYNR2 0x58 -+ -+#define ID0_S1TS (1 << 30) -+#define ID0_S2TS (1 << 29) -+#define ID0_NTS (1 << 28) -+#define ID0_SMS (1 << 27) -+#define ID0_ATOSNS (1 << 26) -+#define ID0_PTFS_NO_AARCH32 (1 << 25) -+#define ID0_PTFS_NO_AARCH32S (1 << 24) -+#define ID0_CTTW (1 << 14) -+#define ID0_NUMIRPT_SHIFT 16 -+#define ID0_NUMIRPT_MASK 0xff -+#define ID0_NUMSIDB_SHIFT 9 -+#define ID0_NUMSIDB_MASK 0xf -+#define ID0_EXIDS (1 << 8) -+#define ID0_NUMSMRG_SHIFT 0 -+#define ID0_NUMSMRG_MASK 0xff -+ -+#define ID1_PAGESIZE (1 << 31) -+#define ID1_NUMPAGENDXB_SHIFT 28 -+#define ID1_NUMPAGENDXB_MASK 7 -+#define ID1_NUMS2CB_SHIFT 16 -+#define ID1_NUMS2CB_MASK 0xff -+#define ID1_NUMCB_SHIFT 0 -+#define ID1_NUMCB_MASK 0xff -+ -+#define ID2_OAS_SHIFT 4 -+#define ID2_OAS_MASK 0xf -+#define ID2_IAS_SHIFT 0 -+#define ID2_IAS_MASK 0xf -+#define ID2_UBS_SHIFT 8 -+#define ID2_UBS_MASK 0xf -+#define ID2_PTFS_4K (1 << 12) -+#define ID2_PTFS_16K (1 << 13) -+#define ID2_PTFS_64K (1 << 14) -+#define ID2_VMID16 (1 << 15) -+ -+#define ID7_MAJOR_SHIFT 4 -+#define ID7_MAJOR_MASK 0xf -+ -+/* Global TLB invalidation */ -+#define ARM_SMMU_GR0_TLBIVMID 0x64 -+#define ARM_SMMU_GR0_TLBIALLNSNH 0x68 -+#define ARM_SMMU_GR0_TLBIALLH 0x6c -+#define ARM_SMMU_GR0_sTLBGSYNC 0x70 -+#define ARM_SMMU_GR0_sTLBGSTATUS 0x74 -+#define sTLBGSTATUS_GSACTIVE (1 << 0) -+#define TLB_LOOP_TIMEOUT 1000000 /* 1s! */ -+#define TLB_SPIN_COUNT 10 -+ -+/* Stream mapping registers */ -+#define ARM_SMMU_GR0_SMR(n) (0x800 + ((n) << 2)) -+#define SMR_VALID (1 << 31) -+#define SMR_MASK_SHIFT 16 -+#define SMR_ID_SHIFT 0 -+ -+#define ARM_SMMU_GR0_S2CR(n) (0xc00 + ((n) << 2)) -+#define S2CR_CBNDX_SHIFT 0 -+#define S2CR_CBNDX_MASK 0xff -+#define S2CR_EXIDVALID (1 << 10) -+#define S2CR_TYPE_SHIFT 16 -+#define S2CR_TYPE_MASK 0x3 -+enum arm_smmu_s2cr_type { -+ S2CR_TYPE_TRANS, -+ S2CR_TYPE_BYPASS, -+ S2CR_TYPE_FAULT, -+}; -+ -+#define S2CR_PRIVCFG_SHIFT 24 -+#define S2CR_PRIVCFG_MASK 0x3 -+enum arm_smmu_s2cr_privcfg { -+ S2CR_PRIVCFG_DEFAULT, -+ S2CR_PRIVCFG_DIPAN, -+ S2CR_PRIVCFG_UNPRIV, -+ S2CR_PRIVCFG_PRIV, -+}; -+ -+/* Context bank attribute registers */ -+#define ARM_SMMU_GR1_CBAR(n) (0x0 + ((n) << 2)) -+#define CBAR_VMID_SHIFT 0 -+#define CBAR_VMID_MASK 0xff -+#define CBAR_S1_BPSHCFG_SHIFT 8 -+#define CBAR_S1_BPSHCFG_MASK 3 -+#define CBAR_S1_BPSHCFG_NSH 3 -+#define CBAR_S1_MEMATTR_SHIFT 12 -+#define CBAR_S1_MEMATTR_MASK 0xf -+#define CBAR_S1_MEMATTR_WB 0xf -+#define CBAR_TYPE_SHIFT 16 -+#define CBAR_TYPE_MASK 0x3 -+#define CBAR_TYPE_S2_TRANS (0 << CBAR_TYPE_SHIFT) -+#define CBAR_TYPE_S1_TRANS_S2_BYPASS (1 << CBAR_TYPE_SHIFT) -+#define CBAR_TYPE_S1_TRANS_S2_FAULT (2 << CBAR_TYPE_SHIFT) -+#define CBAR_TYPE_S1_TRANS_S2_TRANS (3 << CBAR_TYPE_SHIFT) -+#define CBAR_IRPTNDX_SHIFT 24 -+#define CBAR_IRPTNDX_MASK 0xff -+ -+#define ARM_SMMU_GR1_CBA2R(n) (0x800 + ((n) << 2)) -+#define CBA2R_RW64_32BIT (0 << 0) -+#define CBA2R_RW64_64BIT (1 << 0) -+#define CBA2R_VMID_SHIFT 16 -+#define CBA2R_VMID_MASK 0xffff -+ -+#define ARM_SMMU_CB_SCTLR 0x0 -+#define ARM_SMMU_CB_ACTLR 0x4 -+#define ARM_SMMU_CB_RESUME 0x8 -+#define ARM_SMMU_CB_TTBCR2 0x10 -+#define ARM_SMMU_CB_TTBR0 0x20 -+#define ARM_SMMU_CB_TTBR1 0x28 -+#define ARM_SMMU_CB_TTBCR 0x30 -+#define ARM_SMMU_CB_CONTEXTIDR 0x34 -+#define ARM_SMMU_CB_S1_MAIR0 0x38 -+#define ARM_SMMU_CB_S1_MAIR1 0x3c -+#define ARM_SMMU_CB_PAR 0x50 -+#define ARM_SMMU_CB_FSR 0x58 -+#define ARM_SMMU_CB_FAR 0x60 -+#define ARM_SMMU_CB_FSYNR0 0x68 -+#define ARM_SMMU_CB_S1_TLBIVA 0x600 -+#define ARM_SMMU_CB_S1_TLBIASID 0x610 -+#define ARM_SMMU_CB_S1_TLBIVAL 0x620 -+#define ARM_SMMU_CB_S2_TLBIIPAS2 0x630 -+#define ARM_SMMU_CB_S2_TLBIIPAS2L 0x638 -+#define ARM_SMMU_CB_TLBSYNC 0x7f0 -+#define ARM_SMMU_CB_TLBSTATUS 0x7f4 -+#define ARM_SMMU_CB_ATS1PR 0x800 -+#define ARM_SMMU_CB_ATSR 0x8f0 -+ -+#define SCTLR_S1_ASIDPNE (1 << 12) -+#define SCTLR_CFCFG (1 << 7) -+#define SCTLR_CFIE (1 << 6) -+#define SCTLR_CFRE (1 << 5) -+#define SCTLR_E (1 << 4) -+#define SCTLR_AFE (1 << 2) -+#define SCTLR_TRE (1 << 1) -+#define SCTLR_M (1 << 0) -+ -+#define ARM_MMU500_ACTLR_CPRE (1 << 1) -+ -+#define ARM_MMU500_ACR_CACHE_LOCK (1 << 26) -+#define ARM_MMU500_ACR_SMTNMB_TLBEN (1 << 8) -+ -+#define CB_PAR_F (1 << 0) -+ -+#define ATSR_ACTIVE (1 << 0) -+ -+#define RESUME_RETRY (0 << 0) -+#define RESUME_TERMINATE (1 << 0) -+ -+#define TTBCR2_SEP_SHIFT 15 -+#define TTBCR2_SEP_UPSTREAM (0x7 << TTBCR2_SEP_SHIFT) -+#define TTBCR2_AS (1 << 4) -+ -+#define TTBRn_ASID_SHIFT 48 -+ -+#define FSR_MULTI (1 << 31) -+#define FSR_SS (1 << 30) -+#define FSR_UUT (1 << 8) -+#define FSR_ASF (1 << 7) -+#define FSR_TLBLKF (1 << 6) -+#define FSR_TLBMCF (1 << 5) -+#define FSR_EF (1 << 4) -+#define FSR_PF (1 << 3) -+#define FSR_AFF (1 << 2) -+#define FSR_TF (1 << 1) -+ -+#define FSR_IGN (FSR_AFF | FSR_ASF | \ -+ FSR_TLBMCF | FSR_TLBLKF) -+#define FSR_FAULT (FSR_MULTI | FSR_SS | FSR_UUT | \ -+ FSR_EF | FSR_PF | FSR_TF | FSR_IGN) -+ -+#define FSYNR0_WNR (1 << 4) -+ -+#endif /* _ARM_SMMU_REGS_H */ -diff --git a/drivers/iommu/arm-smmu.c b/drivers/iommu/arm-smmu.c -index 7ec30b08b3bd..ca9c20f915a8 100644 ---- a/drivers/iommu/arm-smmu.c -+++ b/drivers/iommu/arm-smmu.c -@@ -54,6 +54,7 @@ - #include <linux/amba/bus.h> - - #include "io-pgtable.h" -+#include "arm-smmu-regs.h" - - /* Maximum number of context banks per SMMU */ - #define ARM_SMMU_MAX_CBS 128 -@@ -83,211 +84,9 @@ - #define smmu_write_atomic_lq writel_relaxed - #endif - --/* Configuration registers */ --#define ARM_SMMU_GR0_sCR0 0x0 --#define sCR0_CLIENTPD (1 << 0) --#define sCR0_GFRE (1 << 1) --#define sCR0_GFIE (1 << 2) --#define sCR0_EXIDENABLE (1 << 3) --#define sCR0_GCFGFRE (1 << 4) --#define sCR0_GCFGFIE (1 << 5) --#define sCR0_USFCFG (1 << 10) --#define sCR0_VMIDPNE (1 << 11) --#define sCR0_PTM (1 << 12) --#define sCR0_FB (1 << 13) --#define sCR0_VMID16EN (1 << 31) --#define sCR0_BSU_SHIFT 14 --#define sCR0_BSU_MASK 0x3 -- --/* Auxiliary Configuration register */ --#define ARM_SMMU_GR0_sACR 0x10 -- --/* Identification registers */ --#define ARM_SMMU_GR0_ID0 0x20 --#define ARM_SMMU_GR0_ID1 0x24 --#define ARM_SMMU_GR0_ID2 0x28 --#define ARM_SMMU_GR0_ID3 0x2c --#define ARM_SMMU_GR0_ID4 0x30 --#define ARM_SMMU_GR0_ID5 0x34 --#define ARM_SMMU_GR0_ID6 0x38 --#define ARM_SMMU_GR0_ID7 0x3c --#define ARM_SMMU_GR0_sGFSR 0x48 --#define ARM_SMMU_GR0_sGFSYNR0 0x50 --#define ARM_SMMU_GR0_sGFSYNR1 0x54 --#define ARM_SMMU_GR0_sGFSYNR2 0x58 -- --#define ID0_S1TS (1 << 30) --#define ID0_S2TS (1 << 29) --#define ID0_NTS (1 << 28) --#define ID0_SMS (1 << 27) --#define ID0_ATOSNS (1 << 26) --#define ID0_PTFS_NO_AARCH32 (1 << 25) --#define ID0_PTFS_NO_AARCH32S (1 << 24) --#define ID0_CTTW (1 << 14) --#define ID0_NUMIRPT_SHIFT 16 --#define ID0_NUMIRPT_MASK 0xff --#define ID0_NUMSIDB_SHIFT 9 --#define ID0_NUMSIDB_MASK 0xf --#define ID0_EXIDS (1 << 8) --#define ID0_NUMSMRG_SHIFT 0 --#define ID0_NUMSMRG_MASK 0xff -- --#define ID1_PAGESIZE (1 << 31) --#define ID1_NUMPAGENDXB_SHIFT 28 --#define ID1_NUMPAGENDXB_MASK 7 --#define ID1_NUMS2CB_SHIFT 16 --#define ID1_NUMS2CB_MASK 0xff --#define ID1_NUMCB_SHIFT 0 --#define ID1_NUMCB_MASK 0xff -- --#define ID2_OAS_SHIFT 4 --#define ID2_OAS_MASK 0xf --#define ID2_IAS_SHIFT 0 --#define ID2_IAS_MASK 0xf --#define ID2_UBS_SHIFT 8 --#define ID2_UBS_MASK 0xf --#define ID2_PTFS_4K (1 << 12) --#define ID2_PTFS_16K (1 << 13) --#define ID2_PTFS_64K (1 << 14) --#define ID2_VMID16 (1 << 15) -- --#define ID7_MAJOR_SHIFT 4 --#define ID7_MAJOR_MASK 0xf -- --/* Global TLB invalidation */ --#define ARM_SMMU_GR0_TLBIVMID 0x64 --#define ARM_SMMU_GR0_TLBIALLNSNH 0x68 --#define ARM_SMMU_GR0_TLBIALLH 0x6c --#define ARM_SMMU_GR0_sTLBGSYNC 0x70 --#define ARM_SMMU_GR0_sTLBGSTATUS 0x74 --#define sTLBGSTATUS_GSACTIVE (1 << 0) --#define TLB_LOOP_TIMEOUT 1000000 /* 1s! */ --#define TLB_SPIN_COUNT 10 -- --/* Stream mapping registers */ --#define ARM_SMMU_GR0_SMR(n) (0x800 + ((n) << 2)) --#define SMR_VALID (1 << 31) --#define SMR_MASK_SHIFT 16 --#define SMR_ID_SHIFT 0 -- --#define ARM_SMMU_GR0_S2CR(n) (0xc00 + ((n) << 2)) --#define S2CR_CBNDX_SHIFT 0 --#define S2CR_CBNDX_MASK 0xff --#define S2CR_EXIDVALID (1 << 10) --#define S2CR_TYPE_SHIFT 16 --#define S2CR_TYPE_MASK 0x3 --enum arm_smmu_s2cr_type { -- S2CR_TYPE_TRANS, -- S2CR_TYPE_BYPASS, -- S2CR_TYPE_FAULT, --}; -- --#define S2CR_PRIVCFG_SHIFT 24 --#define S2CR_PRIVCFG_MASK 0x3 --enum arm_smmu_s2cr_privcfg { -- S2CR_PRIVCFG_DEFAULT, -- S2CR_PRIVCFG_DIPAN, -- S2CR_PRIVCFG_UNPRIV, -- S2CR_PRIVCFG_PRIV, --}; -- --/* Context bank attribute registers */ --#define ARM_SMMU_GR1_CBAR(n) (0x0 + ((n) << 2)) --#define CBAR_VMID_SHIFT 0 --#define CBAR_VMID_MASK 0xff --#define CBAR_S1_BPSHCFG_SHIFT 8 --#define CBAR_S1_BPSHCFG_MASK 3 --#define CBAR_S1_BPSHCFG_NSH 3 --#define CBAR_S1_MEMATTR_SHIFT 12 --#define CBAR_S1_MEMATTR_MASK 0xf --#define CBAR_S1_MEMATTR_WB 0xf --#define CBAR_TYPE_SHIFT 16 --#define CBAR_TYPE_MASK 0x3 --#define CBAR_TYPE_S2_TRANS (0 << CBAR_TYPE_SHIFT) --#define CBAR_TYPE_S1_TRANS_S2_BYPASS (1 << CBAR_TYPE_SHIFT) --#define CBAR_TYPE_S1_TRANS_S2_FAULT (2 << CBAR_TYPE_SHIFT) --#define CBAR_TYPE_S1_TRANS_S2_TRANS (3 << CBAR_TYPE_SHIFT) --#define CBAR_IRPTNDX_SHIFT 24 --#define CBAR_IRPTNDX_MASK 0xff -- --#define ARM_SMMU_GR1_CBA2R(n) (0x800 + ((n) << 2)) --#define CBA2R_RW64_32BIT (0 << 0) --#define CBA2R_RW64_64BIT (1 << 0) --#define CBA2R_VMID_SHIFT 16 --#define CBA2R_VMID_MASK 0xffff -- - /* Translation context bank */ - #define ARM_SMMU_CB(smmu, n) ((smmu)->cb_base + ((n) << (smmu)->pgshift)) - --#define ARM_SMMU_CB_SCTLR 0x0 --#define ARM_SMMU_CB_ACTLR 0x4 --#define ARM_SMMU_CB_RESUME 0x8 --#define ARM_SMMU_CB_TTBCR2 0x10 --#define ARM_SMMU_CB_TTBR0 0x20 --#define ARM_SMMU_CB_TTBR1 0x28 --#define ARM_SMMU_CB_TTBCR 0x30 --#define ARM_SMMU_CB_CONTEXTIDR 0x34 --#define ARM_SMMU_CB_S1_MAIR0 0x38 --#define ARM_SMMU_CB_S1_MAIR1 0x3c --#define ARM_SMMU_CB_PAR 0x50 --#define ARM_SMMU_CB_FSR 0x58 --#define ARM_SMMU_CB_FAR 0x60 --#define ARM_SMMU_CB_FSYNR0 0x68 --#define ARM_SMMU_CB_S1_TLBIVA 0x600 --#define ARM_SMMU_CB_S1_TLBIASID 0x610 --#define ARM_SMMU_CB_S1_TLBIVAL 0x620 --#define ARM_SMMU_CB_S2_TLBIIPAS2 0x630 --#define ARM_SMMU_CB_S2_TLBIIPAS2L 0x638 --#define ARM_SMMU_CB_TLBSYNC 0x7f0 --#define ARM_SMMU_CB_TLBSTATUS 0x7f4 --#define ARM_SMMU_CB_ATS1PR 0x800 --#define ARM_SMMU_CB_ATSR 0x8f0 -- --#define SCTLR_S1_ASIDPNE (1 << 12) --#define SCTLR_CFCFG (1 << 7) --#define SCTLR_CFIE (1 << 6) --#define SCTLR_CFRE (1 << 5) --#define SCTLR_E (1 << 4) --#define SCTLR_AFE (1 << 2) --#define SCTLR_TRE (1 << 1) --#define SCTLR_M (1 << 0) -- --#define ARM_MMU500_ACTLR_CPRE (1 << 1) -- --#define ARM_MMU500_ACR_CACHE_LOCK (1 << 26) --#define ARM_MMU500_ACR_SMTNMB_TLBEN (1 << 8) -- --#define CB_PAR_F (1 << 0) -- --#define ATSR_ACTIVE (1 << 0) -- --#define RESUME_RETRY (0 << 0) --#define RESUME_TERMINATE (1 << 0) -- --#define TTBCR2_SEP_SHIFT 15 --#define TTBCR2_SEP_UPSTREAM (0x7 << TTBCR2_SEP_SHIFT) --#define TTBCR2_AS (1 << 4) -- --#define TTBRn_ASID_SHIFT 48 -- --#define FSR_MULTI (1 << 31) --#define FSR_SS (1 << 30) --#define FSR_UUT (1 << 8) --#define FSR_ASF (1 << 7) --#define FSR_TLBLKF (1 << 6) --#define FSR_TLBMCF (1 << 5) --#define FSR_EF (1 << 4) --#define FSR_PF (1 << 3) --#define FSR_AFF (1 << 2) --#define FSR_TF (1 << 1) -- --#define FSR_IGN (FSR_AFF | FSR_ASF | \ -- FSR_TLBMCF | FSR_TLBLKF) --#define FSR_FAULT (FSR_MULTI | FSR_SS | FSR_UUT | \ -- FSR_EF | FSR_PF | FSR_TF | FSR_IGN) -- --#define FSYNR0_WNR (1 << 4) -- - #define MSI_IOVA_BASE 0x8000000 - #define MSI_IOVA_LENGTH 0x100000 - -From patchwork Thu Jul 13 12:07:46 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [RESEND,3/4] iommu: add qcom_iommu -From: Rob Clark <robdclark@gmail.com> -X-Patchwork-Id: 9838375 -Message-Id: <20170713120747.20490-4-robdclark@gmail.com> -To: iommu@lists.linux-foundation.org -Cc: linux-arm-msm@vger.kernel.org, Archit Taneja <architt@codeaurora.org>, - Rob Herring <robh@kernel.org>, Will Deacon <will.deacon@arm.com>, - Sricharan <sricharan@codeaurora.org>, - Mark Rutland <mark.rutland@arm.com>, Robin Murphy <robin.murphy@arm.com>, - Rob Clark <robdclark@gmail.com> -Date: Thu, 13 Jul 2017 08:07:46 -0400 - -An iommu driver for Qualcomm "B" family devices which do implement the -ARM SMMU spec, but not in a way that is compatible with how the arm-smmu -driver is designed. It seems SMMU_SCR1.GASRAE=1 so the global register -space is not accessible. This means it needs to get configuration from -devicetree instead of setting it up dynamically. - -In the end, other than register definitions, there is not much code to -share with arm-smmu (other than what has already been refactored out -into the pgtable helpers). - -Signed-off-by: Rob Clark <robdclark@gmail.com> -Tested-by: Riku Voipio <riku.voipio@linaro.org> ---- -v1: original -v2: bindings cleanups and kconfig issues that kbuild robot pointed out -v3: fix issues pointed out by Rob H. and actually make device removal - work -v4: fix WARN_ON() splats reported by Archit -v5: some fixes to build as a module.. note that it cannot actually - be built as a module yet (at minimum a bunch of other iommu syms - that are needed are not exported, but there may be more to it - than that), but at least qcom_iommu is ready should it become - possible to build iommu drivers as modules. -v6: Add additional pm-runtime get/puts around paths that can hit - TLB inv, to avoid unclocked register access if device using the - iommu is not powered on. And pre-emptively clear interrupts - before registering IRQ handler just in case the bootloader has - left us a surpise. -v7: Address review comments from Robin (don't associate iommu_group - with context bank, table lookup instead of list to find context - bank, etc) -v8: Fix silly bug on detach. Actually Robin already pointed it out - but I somehow overlooked that comment when preparing v7. - - drivers/iommu/Kconfig | 10 + - drivers/iommu/Makefile | 1 + - drivers/iommu/qcom_iommu.c | 868 +++++++++++++++++++++++++++++++++++++++++++++ - 3 files changed, 879 insertions(+) - create mode 100644 drivers/iommu/qcom_iommu.c - -diff --git a/drivers/iommu/Kconfig b/drivers/iommu/Kconfig -index 6ee3a25ae731..aa4b62893fe1 100644 ---- a/drivers/iommu/Kconfig -+++ b/drivers/iommu/Kconfig -@@ -367,4 +367,14 @@ config MTK_IOMMU_V1 - - if unsure, say N here. - -+config QCOM_IOMMU -+ # Note: iommu drivers cannot (yet?) be built as modules -+ bool "Qualcomm IOMMU Support" -+ depends on ARCH_QCOM || COMPILE_TEST -+ select IOMMU_API -+ select IOMMU_IO_PGTABLE_LPAE -+ select ARM_DMA_USE_IOMMU -+ help -+ Support for IOMMU on certain Qualcomm SoCs. -+ - endif # IOMMU_SUPPORT -diff --git a/drivers/iommu/Makefile b/drivers/iommu/Makefile -index 195f7b997d8e..b910aea813a1 100644 ---- a/drivers/iommu/Makefile -+++ b/drivers/iommu/Makefile -@@ -27,3 +27,4 @@ obj-$(CONFIG_TEGRA_IOMMU_SMMU) += tegra-smmu.o - obj-$(CONFIG_EXYNOS_IOMMU) += exynos-iommu.o - obj-$(CONFIG_FSL_PAMU) += fsl_pamu.o fsl_pamu_domain.o - obj-$(CONFIG_S390_IOMMU) += s390-iommu.o -+obj-$(CONFIG_QCOM_IOMMU) += qcom_iommu.o -diff --git a/drivers/iommu/qcom_iommu.c b/drivers/iommu/qcom_iommu.c -new file mode 100644 -index 000000000000..860cad1cb167 ---- /dev/null -+++ b/drivers/iommu/qcom_iommu.c -@@ -0,0 +1,868 @@ -+/* -+ * IOMMU API for QCOM secure IOMMUs. Somewhat based on arm-smmu.c -+ * -+ * 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. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public License -+ * along with this program. If not, see <http://www.gnu.org/licenses/>. -+ * -+ * Copyright (C) 2013 ARM Limited -+ * Copyright (C) 2017 Red Hat -+ */ -+ -+#include <linux/atomic.h> -+#include <linux/clk.h> -+#include <linux/delay.h> -+#include <linux/dma-iommu.h> -+#include <linux/dma-mapping.h> -+#include <linux/err.h> -+#include <linux/interrupt.h> -+#include <linux/io.h> -+#include <linux/io-64-nonatomic-hi-lo.h> -+#include <linux/iommu.h> -+#include <linux/iopoll.h> -+#include <linux/kconfig.h> -+#include <linux/module.h> -+#include <linux/mutex.h> -+#include <linux/of.h> -+#include <linux/of_address.h> -+#include <linux/of_device.h> -+#include <linux/of_iommu.h> -+#include <linux/platform_device.h> -+#include <linux/pm.h> -+#include <linux/pm_runtime.h> -+#include <linux/qcom_scm.h> -+#include <linux/slab.h> -+#include <linux/spinlock.h> -+ -+#include "io-pgtable.h" -+#include "arm-smmu-regs.h" -+ -+#define SMMU_INTR_SEL_NS 0x2000 -+ -+struct qcom_iommu_ctx; -+ -+struct qcom_iommu_dev { -+ /* IOMMU core code handle */ -+ struct iommu_device iommu; -+ struct device *dev; -+ struct clk *iface_clk; -+ struct clk *bus_clk; -+ void __iomem *local_base; -+ u32 sec_id; -+ u8 num_ctxs; -+ struct qcom_iommu_ctx *ctxs[0]; /* indexed by asid-1 */ -+}; -+ -+struct qcom_iommu_ctx { -+ struct device *dev; -+ void __iomem *base; -+ bool secure_init; -+ u8 asid; /* asid and ctx bank # are 1:1 */ -+}; -+ -+struct qcom_iommu_domain { -+ struct io_pgtable_ops *pgtbl_ops; -+ spinlock_t pgtbl_lock; -+ struct mutex init_mutex; /* Protects iommu pointer */ -+ struct iommu_domain domain; -+ struct qcom_iommu_dev *iommu; -+}; -+ -+static struct qcom_iommu_domain *to_qcom_iommu_domain(struct iommu_domain *dom) -+{ -+ return container_of(dom, struct qcom_iommu_domain, domain); -+} -+ -+static const struct iommu_ops qcom_iommu_ops; -+ -+static struct qcom_iommu_dev * to_iommu(struct iommu_fwspec *fwspec) -+{ -+ if (!fwspec || fwspec->ops != &qcom_iommu_ops) -+ return NULL; -+ return fwspec->iommu_priv; -+} -+ -+static struct qcom_iommu_ctx * to_ctx(struct iommu_fwspec *fwspec, unsigned asid) -+{ -+ struct qcom_iommu_dev *qcom_iommu = to_iommu(fwspec); -+ if (!qcom_iommu) -+ return NULL; -+ return qcom_iommu->ctxs[asid - 1]; -+} -+ -+static inline void -+iommu_writel(struct qcom_iommu_ctx *ctx, unsigned reg, u32 val) -+{ -+ writel_relaxed(val, ctx->base + reg); -+} -+ -+static inline void -+iommu_writeq(struct qcom_iommu_ctx *ctx, unsigned reg, u64 val) -+{ -+ writeq_relaxed(val, ctx->base + reg); -+} -+ -+static inline u32 -+iommu_readl(struct qcom_iommu_ctx *ctx, unsigned reg) -+{ -+ return readl_relaxed(ctx->base + reg); -+} -+ -+static inline u64 -+iommu_readq(struct qcom_iommu_ctx *ctx, unsigned reg) -+{ -+ return readq_relaxed(ctx->base + reg); -+} -+ -+static void qcom_iommu_tlb_sync(void *cookie) -+{ -+ struct iommu_fwspec *fwspec = cookie; -+ unsigned i; -+ -+ for (i = 0; i < fwspec->num_ids; i++) { -+ struct qcom_iommu_ctx *ctx = to_ctx(fwspec, fwspec->ids[i]); -+ unsigned int val, ret; -+ -+ iommu_writel(ctx, ARM_SMMU_CB_TLBSYNC, 0); -+ -+ ret = readl_poll_timeout(ctx->base + ARM_SMMU_CB_TLBSTATUS, val, -+ (val & 0x1) == 0, 0, 5000000); -+ if (ret) -+ dev_err(ctx->dev, "timeout waiting for TLB SYNC\n"); -+ } -+} -+ -+static void qcom_iommu_tlb_inv_context(void *cookie) -+{ -+ struct iommu_fwspec *fwspec = cookie; -+ unsigned i; -+ -+ for (i = 0; i < fwspec->num_ids; i++) { -+ struct qcom_iommu_ctx *ctx = to_ctx(fwspec, fwspec->ids[i]); -+ iommu_writel(ctx, ARM_SMMU_CB_S1_TLBIASID, ctx->asid); -+ } -+ -+ qcom_iommu_tlb_sync(cookie); -+} -+ -+static void qcom_iommu_tlb_inv_range_nosync(unsigned long iova, size_t size, -+ size_t granule, bool leaf, void *cookie) -+{ -+ struct iommu_fwspec *fwspec = cookie; -+ unsigned i, reg; -+ -+ reg = leaf ? ARM_SMMU_CB_S1_TLBIVAL : ARM_SMMU_CB_S1_TLBIVA; -+ -+ for (i = 0; i < fwspec->num_ids; i++) { -+ struct qcom_iommu_ctx *ctx = to_ctx(fwspec, fwspec->ids[i]); -+ size_t s = size; -+ -+ iova &= ~12UL; -+ iova |= ctx->asid; -+ do { -+ iommu_writel(ctx, reg, iova); -+ iova += granule; -+ } while (s -= granule); -+ } -+} -+ -+static const struct iommu_gather_ops qcom_gather_ops = { -+ .tlb_flush_all = qcom_iommu_tlb_inv_context, -+ .tlb_add_flush = qcom_iommu_tlb_inv_range_nosync, -+ .tlb_sync = qcom_iommu_tlb_sync, -+}; -+ -+static irqreturn_t qcom_iommu_fault(int irq, void *dev) -+{ -+ struct qcom_iommu_ctx *ctx = dev; -+ u32 fsr, fsynr; -+ u64 iova; -+ -+ fsr = iommu_readl(ctx, ARM_SMMU_CB_FSR); -+ -+ if (!(fsr & FSR_FAULT)) -+ return IRQ_NONE; -+ -+ fsynr = iommu_readl(ctx, ARM_SMMU_CB_FSYNR0); -+ iova = iommu_readq(ctx, ARM_SMMU_CB_FAR); -+ -+ dev_err_ratelimited(ctx->dev, -+ "Unhandled context fault: fsr=0x%x, " -+ "iova=0x%016llx, fsynr=0x%x, cb=%d\n", -+ fsr, iova, fsynr, ctx->asid); -+ -+ iommu_writel(ctx, ARM_SMMU_CB_FSR, fsr); -+ -+ return IRQ_HANDLED; -+} -+ -+static int qcom_iommu_init_domain(struct iommu_domain *domain, -+ struct qcom_iommu_dev *qcom_iommu, -+ struct iommu_fwspec *fwspec) -+{ -+ struct qcom_iommu_domain *qcom_domain = to_qcom_iommu_domain(domain); -+ struct io_pgtable_ops *pgtbl_ops; -+ struct io_pgtable_cfg pgtbl_cfg; -+ int i, ret = 0; -+ u32 reg; -+ -+ mutex_lock(&qcom_domain->init_mutex); -+ if (qcom_domain->iommu) -+ goto out_unlock; -+ -+ pgtbl_cfg = (struct io_pgtable_cfg) { -+ .pgsize_bitmap = qcom_iommu_ops.pgsize_bitmap, -+ .ias = 32, -+ .oas = 40, -+ .tlb = &qcom_gather_ops, -+ .iommu_dev = qcom_iommu->dev, -+ }; -+ -+ qcom_domain->iommu = qcom_iommu; -+ pgtbl_ops = alloc_io_pgtable_ops(ARM_32_LPAE_S1, &pgtbl_cfg, fwspec); -+ if (!pgtbl_ops) { -+ dev_err(qcom_iommu->dev, "failed to allocate pagetable ops\n"); -+ ret = -ENOMEM; -+ goto out_clear_iommu; -+ } -+ -+ /* Update the domain's page sizes to reflect the page table format */ -+ domain->pgsize_bitmap = pgtbl_cfg.pgsize_bitmap; -+ domain->geometry.aperture_end = (1ULL << pgtbl_cfg.ias) - 1; -+ domain->geometry.force_aperture = true; -+ -+ for (i = 0; i < fwspec->num_ids; i++) { -+ struct qcom_iommu_ctx *ctx = to_ctx(fwspec, fwspec->ids[i]); -+ -+ if (!ctx->secure_init) { -+ ret = qcom_scm_restore_sec_cfg(qcom_iommu->sec_id, ctx->asid); -+ if (ret) { -+ dev_err(qcom_iommu->dev, "secure init failed: %d\n", ret); -+ goto out_clear_iommu; -+ } -+ ctx->secure_init = true; -+ } -+ -+ /* TTBRs */ -+ iommu_writeq(ctx, ARM_SMMU_CB_TTBR0, -+ pgtbl_cfg.arm_lpae_s1_cfg.ttbr[0] | -+ ((u64)ctx->asid << TTBRn_ASID_SHIFT)); -+ iommu_writeq(ctx, ARM_SMMU_CB_TTBR1, -+ pgtbl_cfg.arm_lpae_s1_cfg.ttbr[1] | -+ ((u64)ctx->asid << TTBRn_ASID_SHIFT)); -+ -+ /* TTBCR */ -+ iommu_writel(ctx, ARM_SMMU_CB_TTBCR2, -+ (pgtbl_cfg.arm_lpae_s1_cfg.tcr >> 32) | -+ TTBCR2_SEP_UPSTREAM); -+ iommu_writel(ctx, ARM_SMMU_CB_TTBCR, -+ pgtbl_cfg.arm_lpae_s1_cfg.tcr); -+ -+ /* MAIRs (stage-1 only) */ -+ iommu_writel(ctx, ARM_SMMU_CB_S1_MAIR0, -+ pgtbl_cfg.arm_lpae_s1_cfg.mair[0]); -+ iommu_writel(ctx, ARM_SMMU_CB_S1_MAIR1, -+ pgtbl_cfg.arm_lpae_s1_cfg.mair[1]); -+ -+ /* SCTLR */ -+ reg = SCTLR_CFIE | SCTLR_CFRE | SCTLR_AFE | SCTLR_TRE | -+ SCTLR_M | SCTLR_S1_ASIDPNE; -+ -+ if (IS_ENABLED(CONFIG_BIG_ENDIAN)) -+ reg |= SCTLR_E; -+ -+ iommu_writel(ctx, ARM_SMMU_CB_SCTLR, reg); -+ } -+ -+ mutex_unlock(&qcom_domain->init_mutex); -+ -+ /* Publish page table ops for map/unmap */ -+ qcom_domain->pgtbl_ops = pgtbl_ops; -+ -+ return 0; -+ -+out_clear_iommu: -+ qcom_domain->iommu = NULL; -+out_unlock: -+ mutex_unlock(&qcom_domain->init_mutex); -+ return ret; -+} -+ -+static struct iommu_domain *qcom_iommu_domain_alloc(unsigned type) -+{ -+ struct qcom_iommu_domain *qcom_domain; -+ -+ if (type != IOMMU_DOMAIN_UNMANAGED && type != IOMMU_DOMAIN_DMA) -+ return NULL; -+ /* -+ * Allocate the domain and initialise some of its data structures. -+ * We can't really do anything meaningful until we've added a -+ * master. -+ */ -+ qcom_domain = kzalloc(sizeof(*qcom_domain), GFP_KERNEL); -+ if (!qcom_domain) -+ return NULL; -+ -+ if (type == IOMMU_DOMAIN_DMA && -+ iommu_get_dma_cookie(&qcom_domain->domain)) { -+ kfree(qcom_domain); -+ return NULL; -+ } -+ -+ mutex_init(&qcom_domain->init_mutex); -+ spin_lock_init(&qcom_domain->pgtbl_lock); -+ -+ return &qcom_domain->domain; -+} -+ -+static void qcom_iommu_domain_free(struct iommu_domain *domain) -+{ -+ struct qcom_iommu_domain *qcom_domain = to_qcom_iommu_domain(domain); -+ -+ if (WARN_ON(qcom_domain->iommu)) /* forgot to detach? */ -+ return; -+ -+ iommu_put_dma_cookie(domain); -+ -+ /* NOTE: unmap can be called after client device is powered off, -+ * for example, with GPUs or anything involving dma-buf. So we -+ * cannot rely on the device_link. Make sure the IOMMU is on to -+ * avoid unclocked accesses in the TLB inv path: -+ */ -+ pm_runtime_get_sync(qcom_domain->iommu->dev); -+ -+ free_io_pgtable_ops(qcom_domain->pgtbl_ops); -+ -+ pm_runtime_put_sync(qcom_domain->iommu->dev); -+ -+ kfree(qcom_domain); -+} -+ -+static int qcom_iommu_attach_dev(struct iommu_domain *domain, struct device *dev) -+{ -+ struct qcom_iommu_dev *qcom_iommu = to_iommu(dev->iommu_fwspec); -+ struct qcom_iommu_domain *qcom_domain = to_qcom_iommu_domain(domain); -+ int ret; -+ -+ if (!qcom_iommu) { -+ dev_err(dev, "cannot attach to IOMMU, is it on the same bus?\n"); -+ return -ENXIO; -+ } -+ -+ /* Ensure that the domain is finalized */ -+ pm_runtime_get_sync(qcom_iommu->dev); -+ ret = qcom_iommu_init_domain(domain, qcom_iommu, dev->iommu_fwspec); -+ pm_runtime_put_sync(qcom_iommu->dev); -+ if (ret < 0) -+ return ret; -+ -+ /* -+ * Sanity check the domain. We don't support domains across -+ * different IOMMUs. -+ */ -+ if (qcom_domain->iommu != qcom_iommu) { -+ dev_err(dev, "cannot attach to IOMMU %s while already " -+ "attached to domain on IOMMU %s\n", -+ dev_name(qcom_domain->iommu->dev), -+ dev_name(qcom_iommu->dev)); -+ return -EINVAL; -+ } -+ -+ return 0; -+} -+ -+static void qcom_iommu_detach_dev(struct iommu_domain *domain, struct device *dev) -+{ -+ struct iommu_fwspec *fwspec = dev->iommu_fwspec; -+ struct qcom_iommu_dev *qcom_iommu = to_iommu(fwspec); -+ struct qcom_iommu_domain *qcom_domain = to_qcom_iommu_domain(domain); -+ unsigned i; -+ -+ if (!qcom_domain->iommu) -+ return; -+ -+ pm_runtime_get_sync(qcom_iommu->dev); -+ for (i = 0; i < fwspec->num_ids; i++) { -+ struct qcom_iommu_ctx *ctx = to_ctx(fwspec, fwspec->ids[i]); -+ -+ /* Disable the context bank: */ -+ iommu_writel(ctx, ARM_SMMU_CB_SCTLR, 0); -+ } -+ pm_runtime_put_sync(qcom_iommu->dev); -+ -+ qcom_domain->iommu = NULL; -+} -+ -+static int qcom_iommu_map(struct iommu_domain *domain, unsigned long iova, -+ phys_addr_t paddr, size_t size, int prot) -+{ -+ int ret; -+ unsigned long flags; -+ struct qcom_iommu_domain *qcom_domain = to_qcom_iommu_domain(domain); -+ struct io_pgtable_ops *ops = qcom_domain->pgtbl_ops; -+ -+ if (!ops) -+ return -ENODEV; -+ -+ spin_lock_irqsave(&qcom_domain->pgtbl_lock, flags); -+ ret = ops->map(ops, iova, paddr, size, prot); -+ spin_unlock_irqrestore(&qcom_domain->pgtbl_lock, flags); -+ return ret; -+} -+ -+static size_t qcom_iommu_unmap(struct iommu_domain *domain, unsigned long iova, -+ size_t size) -+{ -+ size_t ret; -+ unsigned long flags; -+ struct qcom_iommu_domain *qcom_domain = to_qcom_iommu_domain(domain); -+ struct io_pgtable_ops *ops = qcom_domain->pgtbl_ops; -+ -+ if (!ops) -+ return 0; -+ -+ /* NOTE: unmap can be called after client device is powered off, -+ * for example, with GPUs or anything involving dma-buf. So we -+ * cannot rely on the device_link. Make sure the IOMMU is on to -+ * avoid unclocked accesses in the TLB inv path: -+ */ -+ pm_runtime_get_sync(qcom_domain->iommu->dev); -+ spin_lock_irqsave(&qcom_domain->pgtbl_lock, flags); -+ ret = ops->unmap(ops, iova, size); -+ spin_unlock_irqrestore(&qcom_domain->pgtbl_lock, flags); -+ pm_runtime_put_sync(qcom_domain->iommu->dev); -+ -+ return ret; -+} -+ -+static phys_addr_t qcom_iommu_iova_to_phys(struct iommu_domain *domain, -+ dma_addr_t iova) -+{ -+ phys_addr_t ret; -+ unsigned long flags; -+ struct qcom_iommu_domain *qcom_domain = to_qcom_iommu_domain(domain); -+ struct io_pgtable_ops *ops = qcom_domain->pgtbl_ops; -+ -+ if (!ops) -+ return 0; -+ -+ spin_lock_irqsave(&qcom_domain->pgtbl_lock, flags); -+ ret = ops->iova_to_phys(ops, iova); -+ spin_unlock_irqrestore(&qcom_domain->pgtbl_lock, flags); -+ -+ return ret; -+} -+ -+static bool qcom_iommu_capable(enum iommu_cap cap) -+{ -+ switch (cap) { -+ case IOMMU_CAP_CACHE_COHERENCY: -+ /* -+ * Return true here as the SMMU can always send out coherent -+ * requests. -+ */ -+ return true; -+ case IOMMU_CAP_NOEXEC: -+ return true; -+ default: -+ return false; -+ } -+} -+ -+static int qcom_iommu_add_device(struct device *dev) -+{ -+ struct qcom_iommu_dev *qcom_iommu = to_iommu(dev->iommu_fwspec); -+ struct iommu_group *group; -+ struct device_link *link; -+ -+ if (!qcom_iommu) -+ return -ENODEV; -+ -+ /* -+ * Establish the link between iommu and master, so that the -+ * iommu gets runtime enabled/disabled as per the master's -+ * needs. -+ */ -+ link = device_link_add(dev, qcom_iommu->dev, DL_FLAG_PM_RUNTIME); -+ if (!link) { -+ dev_err(qcom_iommu->dev, "Unable to create device link between %s and %s\n", -+ dev_name(qcom_iommu->dev), dev_name(dev)); -+ return -ENODEV; -+ } -+ -+ group = iommu_group_get_for_dev(dev); -+ if (IS_ERR_OR_NULL(group)) -+ return PTR_ERR_OR_ZERO(group); -+ -+ iommu_group_put(group); -+ iommu_device_link(&qcom_iommu->iommu, dev); -+ -+ return 0; -+} -+ -+static void qcom_iommu_remove_device(struct device *dev) -+{ -+ struct qcom_iommu_dev *qcom_iommu = to_iommu(dev->iommu_fwspec); -+ -+ if (!qcom_iommu) -+ return; -+ -+ iommu_device_unlink(&qcom_iommu->iommu, dev); -+ iommu_group_remove_device(dev); -+ iommu_fwspec_free(dev); -+} -+ -+static int qcom_iommu_of_xlate(struct device *dev, struct of_phandle_args *args) -+{ -+ struct qcom_iommu_dev *qcom_iommu; -+ struct platform_device *iommu_pdev; -+ unsigned asid = args->args[0]; -+ -+ if (args->args_count != 1) { -+ dev_err(dev, "incorrect number of iommu params found for %s " -+ "(found %d, expected 1)\n", -+ args->np->full_name, args->args_count); -+ return -EINVAL; -+ } -+ -+ iommu_pdev = of_find_device_by_node(args->np); -+ if (WARN_ON(!iommu_pdev)) -+ return -EINVAL; -+ -+ qcom_iommu = platform_get_drvdata(iommu_pdev); -+ -+ /* make sure the asid specified in dt is valid, so we don't have -+ * to sanity check this elsewhere, since 'asid - 1' is used to -+ * index into qcom_iommu->ctxs: -+ */ -+ if (WARN_ON(asid < 1) || -+ WARN_ON(asid > qcom_iommu->num_ctxs)) -+ return -EINVAL; -+ -+ if (!dev->iommu_fwspec->iommu_priv) { -+ dev->iommu_fwspec->iommu_priv = qcom_iommu; -+ } else { -+ /* make sure devices iommus dt node isn't referring to -+ * multiple different iommu devices. Multiple context -+ * banks are ok, but multiple devices are not: -+ */ -+ if (WARN_ON(qcom_iommu != dev->iommu_fwspec->iommu_priv)) -+ return -EINVAL; -+ } -+ -+ return iommu_fwspec_add_ids(dev, &asid, 1); -+} -+ -+static const struct iommu_ops qcom_iommu_ops = { -+ .capable = qcom_iommu_capable, -+ .domain_alloc = qcom_iommu_domain_alloc, -+ .domain_free = qcom_iommu_domain_free, -+ .attach_dev = qcom_iommu_attach_dev, -+ .detach_dev = qcom_iommu_detach_dev, -+ .map = qcom_iommu_map, -+ .unmap = qcom_iommu_unmap, -+ .map_sg = default_iommu_map_sg, -+ .iova_to_phys = qcom_iommu_iova_to_phys, -+ .add_device = qcom_iommu_add_device, -+ .remove_device = qcom_iommu_remove_device, -+ .device_group = generic_device_group, -+ .of_xlate = qcom_iommu_of_xlate, -+ .pgsize_bitmap = SZ_4K | SZ_64K | SZ_1M | SZ_16M, -+}; -+ -+static int qcom_iommu_enable_clocks(struct qcom_iommu_dev *qcom_iommu) -+{ -+ int ret; -+ -+ ret = clk_prepare_enable(qcom_iommu->iface_clk); -+ if (ret) { -+ dev_err(qcom_iommu->dev, "Couldn't enable iface_clk\n"); -+ return ret; -+ } -+ -+ ret = clk_prepare_enable(qcom_iommu->bus_clk); -+ if (ret) { -+ dev_err(qcom_iommu->dev, "Couldn't enable bus_clk\n"); -+ clk_disable_unprepare(qcom_iommu->iface_clk); -+ return ret; -+ } -+ -+ return 0; -+} -+ -+static void qcom_iommu_disable_clocks(struct qcom_iommu_dev *qcom_iommu) -+{ -+ clk_disable_unprepare(qcom_iommu->bus_clk); -+ clk_disable_unprepare(qcom_iommu->iface_clk); -+} -+ -+static int get_asid(const struct device_node *np) -+{ -+ u32 reg; -+ -+ /* read the "reg" property directly to get the relative address -+ * of the context bank, and calculate the asid from that: -+ */ -+ if (of_property_read_u32_index(np, "reg", 0, ®)) -+ return -ENODEV; -+ -+ return reg / 0x1000; /* context banks are 0x1000 apart */ -+} -+ -+static int qcom_iommu_ctx_probe(struct platform_device *pdev) -+{ -+ struct qcom_iommu_ctx *ctx; -+ struct device *dev = &pdev->dev; -+ struct qcom_iommu_dev *qcom_iommu = dev_get_drvdata(dev->parent); -+ struct resource *res; -+ int ret, irq; -+ -+ ctx = devm_kzalloc(dev, sizeof(*ctx), GFP_KERNEL); -+ if (!ctx) -+ return -ENOMEM; -+ -+ ctx->dev = dev; -+ platform_set_drvdata(pdev, ctx); -+ -+ res = platform_get_resource(pdev, IORESOURCE_MEM, 0); -+ ctx->base = devm_ioremap_resource(dev, res); -+ if (IS_ERR(ctx->base)) -+ return PTR_ERR(ctx->base); -+ -+ irq = platform_get_irq(pdev, 0); -+ if (irq < 0) { -+ dev_err(dev, "failed to get irq\n"); -+ return -ENODEV; -+ } -+ -+ /* clear IRQs before registering fault handler, just in case the -+ * boot-loader left us a surprise: -+ */ -+ iommu_writel(ctx, ARM_SMMU_CB_FSR, iommu_readl(ctx, ARM_SMMU_CB_FSR)); -+ -+ ret = devm_request_irq(dev, irq, -+ qcom_iommu_fault, -+ IRQF_SHARED, -+ "qcom-iommu-fault", -+ ctx); -+ if (ret) { -+ dev_err(dev, "failed to request IRQ %u\n", irq); -+ return ret; -+ } -+ -+ ret = get_asid(dev->of_node); -+ if (ret < 0) { -+ dev_err(dev, "missing reg property\n"); -+ return ret; -+ } -+ -+ ctx->asid = ret; -+ -+ dev_dbg(dev, "found asid %u\n", ctx->asid); -+ -+ qcom_iommu->ctxs[ctx->asid - 1] = ctx; -+ -+ return 0; -+} -+ -+static int qcom_iommu_ctx_remove(struct platform_device *pdev) -+{ -+ struct qcom_iommu_dev *qcom_iommu = dev_get_drvdata(pdev->dev.parent); -+ struct qcom_iommu_ctx *ctx = platform_get_drvdata(pdev); -+ -+ platform_set_drvdata(pdev, NULL); -+ -+ qcom_iommu->ctxs[ctx->asid - 1] = NULL; -+ -+ return 0; -+} -+ -+static const struct of_device_id ctx_of_match[] = { -+ { .compatible = "qcom,msm-iommu-v1-ns" }, -+ { .compatible = "qcom,msm-iommu-v1-sec" }, -+ { /* sentinel */ } -+}; -+ -+static struct platform_driver qcom_iommu_ctx_driver = { -+ .driver = { -+ .name = "qcom-iommu-ctx", -+ .of_match_table = of_match_ptr(ctx_of_match), -+ }, -+ .probe = qcom_iommu_ctx_probe, -+ .remove = qcom_iommu_ctx_remove, -+}; -+ -+static int qcom_iommu_device_probe(struct platform_device *pdev) -+{ -+ struct device_node *child; -+ struct qcom_iommu_dev *qcom_iommu; -+ struct device *dev = &pdev->dev; -+ struct resource *res; -+ int ret, sz, max_asid = 0; -+ -+ /* find the max asid (which is 1:1 to ctx bank idx), so we know how -+ * many child ctx devices we have: -+ */ -+ for_each_child_of_node(dev->of_node, child) -+ max_asid = max(max_asid, get_asid(child)); -+ -+ sz = sizeof(*qcom_iommu) + (max_asid * sizeof(qcom_iommu->ctxs[0])); -+ -+ qcom_iommu = devm_kzalloc(dev, sz, GFP_KERNEL); -+ if (!qcom_iommu) -+ return -ENOMEM; -+ qcom_iommu->num_ctxs = max_asid; -+ qcom_iommu->dev = dev; -+ -+ res = platform_get_resource(pdev, IORESOURCE_MEM, 0); -+ if (res) -+ qcom_iommu->local_base = devm_ioremap_resource(dev, res); -+ -+ qcom_iommu->iface_clk = devm_clk_get(dev, "iface"); -+ if (IS_ERR(qcom_iommu->iface_clk)) { -+ dev_err(dev, "failed to get iface clock\n"); -+ return PTR_ERR(qcom_iommu->iface_clk); -+ } -+ -+ qcom_iommu->bus_clk = devm_clk_get(dev, "bus"); -+ if (IS_ERR(qcom_iommu->bus_clk)) { -+ dev_err(dev, "failed to get bus clock\n"); -+ return PTR_ERR(qcom_iommu->bus_clk); -+ } -+ -+ if (of_property_read_u32(dev->of_node, "qcom,iommu-secure-id", -+ &qcom_iommu->sec_id)) { -+ dev_err(dev, "missing qcom,iommu-secure-id property\n"); -+ return -ENODEV; -+ } -+ -+ platform_set_drvdata(pdev, qcom_iommu); -+ -+ pm_runtime_enable(dev); -+ -+ /* register context bank devices, which are child nodes: */ -+ ret = devm_of_platform_populate(dev); -+ if (ret) { -+ dev_err(dev, "Failed to populate iommu contexts\n"); -+ return ret; -+ } -+ -+ ret = iommu_device_sysfs_add(&qcom_iommu->iommu, dev, NULL, -+ dev_name(dev)); -+ if (ret) { -+ dev_err(dev, "Failed to register iommu in sysfs\n"); -+ return ret; -+ } -+ -+ iommu_device_set_ops(&qcom_iommu->iommu, &qcom_iommu_ops); -+ iommu_device_set_fwnode(&qcom_iommu->iommu, dev->fwnode); -+ -+ ret = iommu_device_register(&qcom_iommu->iommu); -+ if (ret) { -+ dev_err(dev, "Failed to register iommu\n"); -+ return ret; -+ } -+ -+ bus_set_iommu(&platform_bus_type, &qcom_iommu_ops); -+ -+ if (qcom_iommu->local_base) { -+ pm_runtime_get_sync(dev); -+ writel_relaxed(0xffffffff, qcom_iommu->local_base + SMMU_INTR_SEL_NS); -+ pm_runtime_put_sync(dev); -+ } -+ -+ return 0; -+} -+ -+static int qcom_iommu_device_remove(struct platform_device *pdev) -+{ -+ struct qcom_iommu_dev *qcom_iommu = platform_get_drvdata(pdev); -+ -+ bus_set_iommu(&platform_bus_type, NULL); -+ -+ pm_runtime_force_suspend(&pdev->dev); -+ platform_set_drvdata(pdev, NULL); -+ iommu_device_sysfs_remove(&qcom_iommu->iommu); -+ iommu_device_unregister(&qcom_iommu->iommu); -+ -+ return 0; -+} -+ -+#ifdef CONFIG_PM -+static int qcom_iommu_resume(struct device *dev) -+{ -+ struct platform_device *pdev = to_platform_device(dev); -+ struct qcom_iommu_dev *qcom_iommu = platform_get_drvdata(pdev); -+ -+ return qcom_iommu_enable_clocks(qcom_iommu); -+} -+ -+static int qcom_iommu_suspend(struct device *dev) -+{ -+ struct platform_device *pdev = to_platform_device(dev); -+ struct qcom_iommu_dev *qcom_iommu = platform_get_drvdata(pdev); -+ -+ qcom_iommu_disable_clocks(qcom_iommu); -+ -+ return 0; -+} -+#endif -+ -+static const struct dev_pm_ops qcom_iommu_pm_ops = { -+ SET_RUNTIME_PM_OPS(qcom_iommu_suspend, qcom_iommu_resume, NULL) -+ SET_SYSTEM_SLEEP_PM_OPS(pm_runtime_force_suspend, -+ pm_runtime_force_resume) -+}; -+ -+static const struct of_device_id qcom_iommu_of_match[] = { -+ { .compatible = "qcom,msm-iommu-v1" }, -+ { /* sentinel */ } -+}; -+MODULE_DEVICE_TABLE(of, qcom_iommu_of_match); -+ -+static struct platform_driver qcom_iommu_driver = { -+ .driver = { -+ .name = "qcom-iommu", -+ .of_match_table = of_match_ptr(qcom_iommu_of_match), -+ .pm = &qcom_iommu_pm_ops, -+ }, -+ .probe = qcom_iommu_device_probe, -+ .remove = qcom_iommu_device_remove, -+}; -+ -+static int __init qcom_iommu_init(void) -+{ -+ int ret; -+ -+ ret = platform_driver_register(&qcom_iommu_ctx_driver); -+ if (ret) -+ return ret; -+ -+ ret = platform_driver_register(&qcom_iommu_driver); -+ if (ret) -+ platform_driver_unregister(&qcom_iommu_ctx_driver); -+ -+ return ret; -+} -+ -+static void __exit qcom_iommu_exit(void) -+{ -+ platform_driver_unregister(&qcom_iommu_driver); -+ platform_driver_unregister(&qcom_iommu_ctx_driver); -+} -+ -+module_init(qcom_iommu_init); -+module_exit(qcom_iommu_exit); -+ -+IOMMU_OF_DECLARE(qcom_iommu_dev, "qcom,msm-iommu-v1", NULL); -+ -+MODULE_DESCRIPTION("IOMMU API for QCOM IOMMU v1 implementations"); -+MODULE_LICENSE("GPL v2"); -From patchwork Thu Jul 13 12:07:47 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [RESEND,4/4] iommu: qcom: initialize secure page table -From: Rob Clark <robdclark@gmail.com> -X-Patchwork-Id: 9838373 -Message-Id: <20170713120747.20490-5-robdclark@gmail.com> -To: iommu@lists.linux-foundation.org -Cc: linux-arm-msm@vger.kernel.org, Archit Taneja <architt@codeaurora.org>, - Rob Herring <robh@kernel.org>, Will Deacon <will.deacon@arm.com>, - Sricharan <sricharan@codeaurora.org>, - Mark Rutland <mark.rutland@arm.com>, Robin Murphy <robin.murphy@arm.com>, - Stanimir Varbanov <stanimir.varbanov@linaro.org>, - Rob Clark <robdclark@gmail.com> -Date: Thu, 13 Jul 2017 08:07:47 -0400 - -From: Stanimir Varbanov <stanimir.varbanov@linaro.org> - -This basically gets the secure page table size, allocates memory for -secure pagetables and passes the physical address to the trusted zone. - -Signed-off-by: Stanimir Varbanov <stanimir.varbanov@linaro.org> -Signed-off-by: Rob Clark <robdclark@gmail.com> ---- - drivers/iommu/qcom_iommu.c | 64 ++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 64 insertions(+) - -diff --git a/drivers/iommu/qcom_iommu.c b/drivers/iommu/qcom_iommu.c -index 860cad1cb167..48b62aa52787 100644 ---- a/drivers/iommu/qcom_iommu.c -+++ b/drivers/iommu/qcom_iommu.c -@@ -604,6 +604,51 @@ static void qcom_iommu_disable_clocks(struct qcom_iommu_dev *qcom_iommu) - clk_disable_unprepare(qcom_iommu->iface_clk); - } - -+static int qcom_iommu_sec_ptbl_init(struct device *dev) -+{ -+ size_t psize = 0; -+ unsigned int spare = 0; -+ void *cpu_addr; -+ dma_addr_t paddr; -+ unsigned long attrs; -+ static bool allocated = false; -+ int ret; -+ -+ if (allocated) -+ return 0; -+ -+ ret = qcom_scm_iommu_secure_ptbl_size(spare, &psize); -+ if (ret) { -+ dev_err(dev, "failed to get iommu secure pgtable size (%d)\n", -+ ret); -+ return ret; -+ } -+ -+ dev_info(dev, "iommu sec: pgtable size: %zu\n", psize); -+ -+ attrs = DMA_ATTR_NO_KERNEL_MAPPING; -+ -+ cpu_addr = dma_alloc_attrs(dev, psize, &paddr, GFP_KERNEL, attrs); -+ if (!cpu_addr) { -+ dev_err(dev, "failed to allocate %zu bytes for pgtable\n", -+ psize); -+ return -ENOMEM; -+ } -+ -+ ret = qcom_scm_iommu_secure_ptbl_init(paddr, psize, spare); -+ if (ret) { -+ dev_err(dev, "failed to init iommu pgtable (%d)\n", ret); -+ goto free_mem; -+ } -+ -+ allocated = true; -+ return 0; -+ -+free_mem: -+ dma_free_attrs(dev, psize, cpu_addr, paddr, attrs); -+ return ret; -+} -+ - static int get_asid(const struct device_node *np) - { - u32 reg; -@@ -700,6 +745,17 @@ static struct platform_driver qcom_iommu_ctx_driver = { - .remove = qcom_iommu_ctx_remove, - }; - -+static bool qcom_iommu_has_secure_context(struct qcom_iommu_dev *qcom_iommu) -+{ -+ struct device_node *child; -+ -+ for_each_child_of_node(qcom_iommu->dev->of_node, child) -+ if (of_device_is_compatible(child, "qcom,msm-iommu-v1-sec")) -+ return true; -+ -+ return false; -+} -+ - static int qcom_iommu_device_probe(struct platform_device *pdev) - { - struct device_node *child; -@@ -744,6 +800,14 @@ static int qcom_iommu_device_probe(struct platform_device *pdev) - return -ENODEV; - } - -+ if (qcom_iommu_has_secure_context(qcom_iommu)) { -+ ret = qcom_iommu_sec_ptbl_init(dev); -+ if (ret) { -+ dev_err(dev, "cannot init secure pg table(%d)\n", ret); -+ return ret; -+ } -+ } -+ - platform_set_drvdata(pdev, qcom_iommu); - - pm_runtime_enable(dev); -From patchwork Mon Jun 12 12:43:15 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [1/3] ARM64: DT: add gpu for msm8916 -From: Rob Clark <robdclark@gmail.com> -X-Patchwork-Id: 9781057 -Message-Id: <20170612124317.29313-1-robdclark@gmail.com> -To: linux-arm-msm@vger.kernel.org -Cc: Stephen Boyd <sboyd@codeaurora.org>, Andy Gross <agross@codeaurora.org>, - Stanimir Varbanov <stanimir.varbanov@linaro.org>, - Rob Clark <robdclark@gmail.com> -Date: Mon, 12 Jun 2017 08:43:15 -0400 - -Signed-off-by: Rob Clark <robdclark@gmail.com> -Reviewed-by: Stephen Boyd <sboyd@codeaurora.org> ---- - arch/arm64/boot/dts/qcom/msm8916.dtsi | 35 +++++++++++++++++++++++++++++++++++ - 1 file changed, 35 insertions(+) - -diff --git a/arch/arm64/boot/dts/qcom/msm8916.dtsi b/arch/arm64/boot/dts/qcom/msm8916.dtsi -index ab30939..24c24ab 100644 ---- a/arch/arm64/boot/dts/qcom/msm8916.dtsi -+++ b/arch/arm64/boot/dts/qcom/msm8916.dtsi -@@ -204,6 +204,17 @@ - - }; - -+ gpu_opp_table: opp_table { -+ compatible = "operating-points-v2"; -+ -+ opp-400000000 { -+ opp-hz = /bits/ 64 <400000000>; -+ }; -+ opp-19200000 { -+ opp-hz = /bits/ 64 <19200000>; -+ }; -+ }; -+ - timer { - compatible = "arm,armv8-timer"; - interrupts = <GIC_PPI 2 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, -@@ -698,6 +709,30 @@ - #thermal-sensor-cells = <1>; - }; - -+ gpu@1c00000 { -+ compatible = "qcom,adreno-306.0", "qcom,adreno"; -+ reg = <0x01c00000 0x20000>; -+ reg-names = "kgsl_3d0_reg_memory"; -+ interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>; -+ interrupt-names = "kgsl_3d0_irq"; -+ clock-names = -+ "core", -+ "iface", -+ "mem", -+ "mem_iface", -+ "alt_mem_iface", -+ "gfx3d"; -+ clocks = -+ <&gcc GCC_OXILI_GFX3D_CLK>, -+ <&gcc GCC_OXILI_AHB_CLK>, -+ <&gcc GCC_OXILI_GMEM_CLK>, -+ <&gcc GCC_BIMC_GFX_CLK>, -+ <&gcc GCC_BIMC_GPU_CLK>, -+ <&gcc GFX3D_CLK_SRC>; -+ power-domains = <&gcc OXILI_GDSC>; -+ operating-points-v2 = <&gpu_opp_table>; -+ }; -+ - mdss: mdss@1a00000 { - compatible = "qcom,mdss"; - reg = <0x1a00000 0x1000>, -From patchwork Mon Jun 12 12:43:16 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [2/3] ARM64: DT: add video codec devicetree node -From: Rob Clark <robdclark@gmail.com> -X-Patchwork-Id: 9781059 -Message-Id: <20170612124317.29313-2-robdclark@gmail.com> -To: linux-arm-msm@vger.kernel.org -Cc: Stephen Boyd <sboyd@codeaurora.org>, Andy Gross <agross@codeaurora.org>, - Stanimir Varbanov <stanimir.varbanov@linaro.org>, - Rob Clark <robdclark@gmail.com> -Date: Mon, 12 Jun 2017 08:43:16 -0400 - -From: Stanimir Varbanov <stanimir.varbanov@linaro.org> - -Signed-off-by: Stanimir Varbanov <stanimir.varbanov@linaro.org> -Signed-off-by: Rob Clark <robdclark@gmail.com> -Reviewed-by: Stephen Boyd <sboyd@codeaurora.org> ---- - arch/arm64/boot/dts/qcom/msm8916.dtsi | 28 ++++++++++++++++++++++++++++ - 1 file changed, 28 insertions(+) - -diff --git a/arch/arm64/boot/dts/qcom/msm8916.dtsi b/arch/arm64/boot/dts/qcom/msm8916.dtsi -index 24c24ab..1dcd632 100644 ---- a/arch/arm64/boot/dts/qcom/msm8916.dtsi -+++ b/arch/arm64/boot/dts/qcom/msm8916.dtsi -@@ -88,6 +88,13 @@ - no-map; - }; - -+ venus_mem: venus@89900000 { -+ compatible = "shared-dma-pool"; -+ reg = <0x0 0x89900000 0x0 0x800000>; -+ alignment = <0x1000>; -+ no-map; -+ }; -+ - mba_mem: mba@8ea00000 { - no-map; - reg = <0 0x8ea00000 0 0x100000>; -@@ -1214,6 +1221,27 @@ - }; - }; - }; -+ -+ venus: video-codec@1d00000 { -+ compatible = "qcom,msm8916-venus"; -+ reg = <0x01d00000 0xff000>; -+ interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>; -+ power-domains = <&gcc VENUS_GDSC>; -+ clocks = <&gcc GCC_VENUS0_VCODEC0_CLK>, -+ <&gcc GCC_VENUS0_AHB_CLK>, -+ <&gcc GCC_VENUS0_AXI_CLK>; -+ clock-names = "core", "iface", "bus"; -+ memory-region = <&venus_mem>; -+ status = "okay"; -+ -+ video-decoder { -+ compatible = "venus-decoder"; -+ }; -+ -+ video-encoder { -+ compatible = "venus-encoder"; -+ }; -+ }; - }; - - smd { -From patchwork Mon Jun 12 12:43:17 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [3/3] ARM64: DT: add iommu for msm8916 -From: Rob Clark <robdclark@gmail.com> -X-Patchwork-Id: 9781061 -Message-Id: <20170612124317.29313-3-robdclark@gmail.com> -To: linux-arm-msm@vger.kernel.org -Cc: Stephen Boyd <sboyd@codeaurora.org>, Andy Gross <agross@codeaurora.org>, - Stanimir Varbanov <stanimir.varbanov@linaro.org>, - Rob Clark <robdclark@gmail.com> -Date: Mon, 12 Jun 2017 08:43:17 -0400 - -Signed-off-by: Rob Clark <robdclark@gmail.com> -Reviewed-by: Stephen Boyd <sboyd@codeaurora.org> ---- - arch/arm64/boot/dts/qcom/msm8916.dtsi | 57 +++++++++++++++++++++++++++++++++++ - 1 file changed, 57 insertions(+) - -diff --git a/arch/arm64/boot/dts/qcom/msm8916.dtsi b/arch/arm64/boot/dts/qcom/msm8916.dtsi -index 1dcd632..9a1d7ef 100644 ---- a/arch/arm64/boot/dts/qcom/msm8916.dtsi -+++ b/arch/arm64/boot/dts/qcom/msm8916.dtsi -@@ -716,6 +716,59 @@ - #thermal-sensor-cells = <1>; - }; - -+ apps_iommu: iommu@1ef0000 { -+ #address-cells = <1>; -+ #size-cells = <1>; -+ #iommu-cells = <1>; -+ compatible = "qcom,msm8916-iommu", "qcom,msm-iommu-v1"; -+ ranges = <0 0x1e20000 0x40000>; -+ reg = <0x1ef0000 0x3000>; -+ clocks = <&gcc GCC_SMMU_CFG_CLK>, -+ <&gcc GCC_APSS_TCU_CLK>; -+ clock-names = "iface", "bus"; -+ qcom,iommu-secure-id = <17>; -+ -+ // mdp_0: -+ iommu-ctx@4000 { -+ compatible = "qcom,msm-iommu-v1-ns"; -+ reg = <0x4000 0x1000>; -+ interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>; -+ }; -+ -+ // venus_ns: -+ iommu-ctx@5000 { -+ compatible = "qcom,msm-iommu-v1-sec"; -+ reg = <0x5000 0x1000>; -+ interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>; -+ }; -+ }; -+ -+ gpu_iommu: iommu@1f08000 { -+ #address-cells = <1>; -+ #size-cells = <1>; -+ #iommu-cells = <1>; -+ compatible = "qcom,msm8916-iommu", "qcom,msm-iommu-v1"; -+ ranges = <0 0x1f08000 0x10000>; -+ clocks = <&gcc GCC_SMMU_CFG_CLK>, -+ <&gcc GCC_GFX_TCU_CLK>; -+ clock-names = "iface", "bus"; -+ qcom,iommu-secure-id = <18>; -+ -+ // gfx3d_user: -+ iommu-ctx@1000 { -+ compatible = "qcom,msm-iommu-v1-ns"; -+ reg = <0x1000 0x1000>; -+ interrupts = <GIC_SPI 241 IRQ_TYPE_LEVEL_HIGH>; -+ }; -+ -+ // gfx3d_priv: -+ iommu-ctx@2000 { -+ compatible = "qcom,msm-iommu-v1-ns"; -+ reg = <0x2000 0x1000>; -+ interrupts = <GIC_SPI 242 0>; -+ }; -+ }; -+ - gpu@1c00000 { - compatible = "qcom,adreno-306.0", "qcom,adreno"; - reg = <0x01c00000 0x20000>; -@@ -738,6 +791,7 @@ - <&gcc GFX3D_CLK_SRC>; - power-domains = <&gcc OXILI_GDSC>; - operating-points-v2 = <&gpu_opp_table>; -+ iommus = <&gpu_iommu 1>, <&gpu_iommu 2>; - }; - - mdss: mdss@1a00000 { -@@ -781,6 +835,8 @@ - "core_clk", - "vsync_clk"; - -+ iommus = <&apps_iommu 4>; -+ - ports { - #address-cells = <1>; - #size-cells = <0>; -@@ -1231,6 +1287,7 @@ - <&gcc GCC_VENUS0_AHB_CLK>, - <&gcc GCC_VENUS0_AXI_CLK>; - clock-names = "core", "iface", "bus"; -+ iommus = <&apps_iommu 5>; - memory-region = <&venus_mem>; - status = "okay"; - diff --git a/freed-ora/current/f26/qcom-msm-ci_hdrc_msm_probe-missing-of_node_get.patch b/freed-ora/current/f26/qcom-msm-ci_hdrc_msm_probe-missing-of_node_get.patch deleted file mode 100644 index bc1884782..000000000 --- a/freed-ora/current/f26/qcom-msm-ci_hdrc_msm_probe-missing-of_node_get.patch +++ /dev/null @@ -1,45 +0,0 @@ -From patchwork Tue Jul 18 23:31:28 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: usb: chipidea: msm: ci_hdrc_msm_probe() missing of_node_get() -From: Frank Rowand <frowand.list@gmail.com> -X-Patchwork-Id: 9850189 -Message-Id: <1500420688-11912-1-git-send-email-frowand.list@gmail.com> -To: Peter Chen <Peter.Chen@nxp.com>, - Greg Kroah-Hartman <gregkh@linuxfoundation.org>, linux-usb@vger.kernel.org -Cc: linux-kernel@vger.kernel.org, stable@vger.kernel.org -Date: Tue, 18 Jul 2017 16:31:28 -0700 - -From: Frank Rowand <frank.rowand@sony.com> - -Boot fails for qcom-apq8074-dragonboard on 4.13-rc1 with error: -OF: ERROR: Bad of_node_put() on /soc/usb@f9a55000 - -The error will occur if the configuration is set to: - CONFIG_OF_OVERLAY y - CONFIG_OF_UNITTEST y - CONFIG_OF_DYNAMIC y - CONFIG_OF_RESOLVE y - -If CONFIG_OF_DYNAMIC is enabled then of_node_release() detects an -attempt to release a node that is still attached to the device tree. - -Signed-off-by: Frank Rowand <frank.rowand@sony.com> ---- - drivers/usb/chipidea/ci_hdrc_msm.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/drivers/usb/chipidea/ci_hdrc_msm.c b/drivers/usb/chipidea/ci_hdrc_msm.c -index 0bdfcdcbf7a5..bb626120296f 100644 ---- a/drivers/usb/chipidea/ci_hdrc_msm.c -+++ b/drivers/usb/chipidea/ci_hdrc_msm.c -@@ -251,7 +251,7 @@ static int ci_hdrc_msm_probe(struct platform_device *pdev) - if (ret) - goto err_mux; - -- ulpi_node = of_find_node_by_name(pdev->dev.of_node, "ulpi"); -+ ulpi_node = of_find_node_by_name(of_node_get(pdev->dev.of_node), "ulpi"); - if (ulpi_node) { - phy_node = of_get_next_available_child(ulpi_node, NULL); - ci->hsic = of_device_is_compatible(phy_node, "qcom,usb-hsic-phy"); diff --git a/freed-ora/current/f26/qcom-msm89xx-fixes.patch b/freed-ora/current/f26/qcom-msm89xx-fixes.patch index a3298e432..f7ac2815c 100644 --- a/freed-ora/current/f26/qcom-msm89xx-fixes.patch +++ b/freed-ora/current/f26/qcom-msm89xx-fixes.patch @@ -1,81 +1,3 @@ -From 283d0e00a18b294ec56f1fb904896a546704faaf Mon Sep 17 00:00:00 2001 -From: Rob Clark <robdclark@gmail.com> -Date: Fri, 30 Jun 2017 11:47:21 -0400 -Subject: [PATCH 3/6] soc: qcom: smsm: fix of_node refcnting problem - -of_find_node_with_property() drops the reference to the 'from' node, -which eventually (after enough -EPROBE_DEFERs) drops the last reference -to the node causing all sorts of fun problems, and this nice splat. - - BUG: sleeping function called from invalid context at ../kernel/locking/mutex.c:747 - in_atomic(): 1, irqs_disabled(): 128, pid: 33, name: kworker/0:1 - 4 locks held by kworker/0:1/33: - #0: ("events"){.+.+.+}, at: [<ffff0000080fa91c>] process_one_work+0x1a4/0x728 - #1: (deferred_probe_work){+.+.+.}, at: [<ffff0000080fa91c>] process_one_work+0x1a4/0x728 - #2: (&dev->mutex){......}, at: [<ffff000008676078>] __device_attach+0x30/0x168 - #3: (devtree_lock){......}, at: [<ffff000008828fd0>] of_find_node_with_property+0x30/0xe0 - irq event stamp: 18976 - hardirqs last enabled at (18975): [<ffff00000815794c>] __down_trylock_console_sem+0x74/0xb8 - hardirqs last disabled at (18976): [<ffff0000089e26d4>] _raw_spin_lock_irqsave+0x2c/0x78 - softirqs last enabled at (16880): [<ffff0000080e0f00>] __do_softirq+0x580/0x640 - softirqs last disabled at (16871): [<ffff0000080e13a4>] irq_exit+0xe4/0x138 - CPU: 0 PID: 33 Comm: kworker/0:1 Tainted: G E 4.12.0-rc5+ #1455 - Hardware name: qualcomm dragonboard410c/dragonboard410c, BIOS 2017.07-rc1-00234-g22fa70a-dirty 06/26/2017 - Workqueue: events deferred_probe_work_func - Call trace: - [<ffff000008089ee0>] dump_backtrace+0x0/0x230 - [<ffff00000808a134>] show_stack+0x24/0x30 - [<ffff0000084e1944>] dump_stack+0xac/0xe8 - [<ffff00000810d7e0>] ___might_sleep+0x150/0x230 - [<ffff00000810d918>] __might_sleep+0x58/0x90 - [<ffff0000089dde18>] __mutex_lock+0x50/0x870 - [<ffff0000089de674>] mutex_lock_nested+0x3c/0x50 - [<ffff000008388ae0>] kernfs_remove+0x30/0x50 - [<ffff00000838b720>] sysfs_remove_dir+0x58/0x70 - [<ffff0000084e393c>] kobject_del+0x1c/0x58 - [<ffff0000084e374c>] kobject_put+0xb4/0x208 - [<ffff00000882c364>] of_node_put+0x24/0x30 - [<ffff000008829018>] of_find_node_with_property+0x78/0xe0 - [<ffff000000aff5f4>] qcom_smsm_probe+0x194/0x720 [smsm] - [<ffff0000086793b4>] platform_drv_probe+0x74/0x110 - [<ffff0000086765bc>] driver_probe_device+0x2b4/0x420 - [<ffff000008676920>] __device_attach_driver+0xd0/0x150 - [<ffff000008673e78>] bus_for_each_drv+0x68/0xa8 - [<ffff00000867611c>] __device_attach+0xd4/0x168 - [<ffff000008676a1c>] device_initial_probe+0x24/0x30 - [<ffff000008675380>] bus_probe_device+0xa0/0xa8 - [<ffff000008675948>] deferred_probe_work_func+0xb8/0xf8 - [<ffff0000080fa9d4>] process_one_work+0x25c/0x728 - [<ffff0000080faef4>] worker_thread+0x54/0x3d8 - [<ffff0000081031d8>] kthread+0x110/0x140 - [<ffff000008082d90>] ret_from_fork+0x10/0x40 - OF: ERROR: Bad of_node_put() on /smsm - CPU: 0 PID: 33 Comm: kworker/0:1 Tainted: G W E 4.12.0-rc5+ #1455 - Hardware name: qualcomm dragonboard410c/dragonboard410c, BIOS 2017.07-rc1-00234-g22fa70a-dirty 06/26/2017 - Workqueue: events deferred_probe_work_func - -Signed-off-by: Rob Clark <robdclark@gmail.com> ---- - drivers/soc/qcom/smsm.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/drivers/soc/qcom/smsm.c b/drivers/soc/qcom/smsm.c -index d0337b2a71c8..a64ecd597a22 100644 ---- a/drivers/soc/qcom/smsm.c -+++ b/drivers/soc/qcom/smsm.c -@@ -495,7 +495,8 @@ static int qcom_smsm_probe(struct platform_device *pdev) - if (!smsm->hosts) - return -ENOMEM; - -- local_node = of_find_node_with_property(pdev->dev.of_node, "#qcom,smem-state-cells"); -+ local_node = of_find_node_with_property(of_node_get(pdev->dev.of_node), -+ "#qcom,smem-state-cells"); - if (!local_node) { - dev_err(&pdev->dev, "no state entry\n"); - return -EINVAL; --- -2.13.0 - From 40cb129048e5d2456da8d9d6468f292da3071b91 Mon Sep 17 00:00:00 2001 From: Rob Clark <robdclark@gmail.com> Date: Fri, 30 Jun 2017 16:40:23 -0400 @@ -107,84 +29,3 @@ index b1449ad67fc0..22ad37c9808c 100644 -- 2.13.0 - -From ae9b4fa55748cc9ce3c8ac039e46feab7257eff9 Mon Sep 17 00:00:00 2001 -From: Rob Clark <robdclark@gmail.com> -Date: Sun, 2 Jul 2017 09:23:36 -0400 -Subject: [PATCH 5/6] soc: qcom: wcnss_ctrl: add missing MODULE_DEVICE_TABLE() - -This fixes a problem of wifi module not loading on db410c. - -Signed-off-by: Rob Clark <robdclark@gmail.com> -Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org> ---- - drivers/soc/qcom/wcnss_ctrl.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/drivers/soc/qcom/wcnss_ctrl.c b/drivers/soc/qcom/wcnss_ctrl.c -index b9069184df19..d008e5b82db4 100644 ---- a/drivers/soc/qcom/wcnss_ctrl.c -+++ b/drivers/soc/qcom/wcnss_ctrl.c -@@ -347,6 +347,7 @@ static const struct of_device_id wcnss_ctrl_of_match[] = { - { .compatible = "qcom,wcnss", }, - {} - }; -+MODULE_DEVICE_TABLE(of, wcnss_ctrl_of_match); - - static struct rpmsg_driver wcnss_ctrl_driver = { - .probe = wcnss_ctrl_probe, --- -2.13.0 - -From 173c1207986956ea4c00601a67c952751a1985e6 Mon Sep 17 00:00:00 2001 -From: Peter Robinson <pbrobinson@gmail.com> -Date: Mon, 3 Jul 2017 10:10:21 +0100 -Subject: [PATCH 6/6] wcn36xx: check dma_mapping_error() - -Fixes splat: - - wcn36xx a204000.wcnss:smd-edge:wcnss:wifi: DMA-API: device driver failed to check map error[device address=0x00000000b45ba000] [size=3872 bytes] [mapped as single] - ------------[ cut here ]------------ - WARNING: CPU: 0 PID: 0 at ../lib/dma-debug.c:1167 check_unmap+0x474/0x8d0 - Modules linked in: bnep(E) arc4(E) wcn36xx(E) mac80211(E) btqcomsmd(E) btqca(E) bluetooth(E) cfg80211(E) ecdh_generic(E) rfkill(E) vfat(E) fat(E) wcnss_ctrl qcom_wcnss_pil(E) mdt_loader(E) qcom_common(E) remoteproc(E) crc32_ce(E) virtio_ring(E) snd_soc_lpass_apq8016(E) snd_soc_lpass_cpu(E) virtio(E) snd_soc_lpass_platform(E) leds_gpio(E) snd_soc_hdmi_codec(E) snd_soc_apq8016_sbc(E) snd_soc_msm8916_digital(E) snd_soc_core(E) qcom_spmi_temp_alarm(E) ac97_bus(E) snd_pcm_dmaengine(E) snd_seq(E) snd_seq_device(E) snd_pcm(E) spi_qup(E) nvmem_qfprom(E) snd_timer(E) snd(E) soundcore(E) msm_rng(E) qcom_tsens(E) nvmem_core(E) uas(E) usb_storage(E) dm9601(E) cdc_ether(E) usbnet(E) mii(E) mmc_block(E) sdhci_msm(E) sdhci_pltfm(E) qcom_spmi_vadc(E) qcom_vadc_common(PE) clk_smd_rpm(E) industrialio(E) - qcom_smd_regulator(E) pinctrl_spmi_mpp(E) pinctrl_spmi_gpio(E) rtc_pm8xxx(E) adv7511(E) smd_rpm(E) qcom_spmi_pmic(E) regmap_spmi(E) phy_msm_usb(E) usb3503(E) extcon_usb_gpio(E) ci_hdrc_msm(E) ci_hdrc(E) qcom_hwspinlock(E) udc_core(E) extcon_core(E) ehci_msm(E) i2c_qup(E) sdhci(E) msm(E) mmc_core(E) drm_kms_helper(E) syscopyarea(E) sysfillrect(E) sysimgblt(E) fb_sys_fops(E) spmi_pmic_arb(E) drm(E) spmi(E) qcom_smd(E) rpmsg_core smsm(E) gpio_keys(E) smp2p(E) smem(E) hwspinlock_core(E) sunrpc(E) scsi_transport_iscsi(E) - CPU: 0 PID: 0 Comm: swapper/0 Tainted: P E 4.12.0-rc7+ #1476 - Hardware name: qualcomm dragonboard410c/dragonboard410c, BIOS 2017.07-rc1-00234-g22fa70a-dirty 06/26/2017 - task: ffff000009049780 task.stack: ffff000009030000 - PC is at check_unmap+0x474/0x8d0 - LR is at check_unmap+0x474/0x8d0 - ... - Mapped at: - dma_entry_alloc+0x68/0xa8 - debug_dma_map_page+0x94/0x148 - wcn36xx_dxe_fill_skb.isra.1+0xbc/0xf8 [wcn36xx] - wcn36xx_dxe_init+0x244/0x398 [wcn36xx] - wcn36xx_start+0xf4/0x298 [wcn36xx] - -v2: pbrobinson: add kfree_skb(skb); - -Signed-off-by: Rob Clark <robdclark@gmail.com> -Signed-off-by: Peter Robinson <pbrobinson@gmail.com> ---- - drivers/net/wireless/ath/wcn36xx/dxe.c | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/drivers/net/wireless/ath/wcn36xx/dxe.c b/drivers/net/wireless/ath/wcn36xx/dxe.c -index 87dfdaf9044c..d5c810a8cc52 100644 ---- a/drivers/net/wireless/ath/wcn36xx/dxe.c -+++ b/drivers/net/wireless/ath/wcn36xx/dxe.c -@@ -289,6 +289,11 @@ static int wcn36xx_dxe_fill_skb(struct device *dev, struct wcn36xx_dxe_ctl *ctl) - skb_tail_pointer(skb), - WCN36XX_PKT_SIZE, - DMA_FROM_DEVICE); -+ if (dma_mapping_error(dev, dxe->dst_addr_l)) { -+ dev_err(dev, "unable to map skb\n"); -+ kfree_skb(skb); -+ return -ENOMEM; -+ } - ctl->skb = skb; - - return 0; --- -2.13.0 - diff --git a/freed-ora/current/f26/qxl-fix-primary-surface-handling.patch b/freed-ora/current/f26/qxl-fix-primary-surface-handling.patch deleted file mode 100644 index 457634d21..000000000 --- a/freed-ora/current/f26/qxl-fix-primary-surface-handling.patch +++ /dev/null @@ -1,87 +0,0 @@ -From b16a0bb7a9d54d9dd256059b35adf6f96fddc22e Mon Sep 17 00:00:00 2001 -From: Gerd Hoffmann <kraxel@redhat.com> -Date: Wed, 6 Sep 2017 11:31:51 +0200 -Subject: qxl: fix primary surface handling - -The atomic conversion of the qxl driver didn't got the primary surface -handling completely right. It works in the common simple cases, but -fails for example when changing the display resolution using xrandr or -in multihead setups. - -The rules are simple: There is one primary surface. Before defining a -new one you have to destroy the old one. - -This patch makes qxl_primary_atomic_update() destroy the primary surface -before defining a new one. It fixes is_primary flag updates. It adds -is_primary checks so we don't try to update the primary surface in case -it already has the state we want it being in. - -Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> ---- - drivers/gpu/drm/qxl/qxl_display.c | 34 +++++++++++++++++++--------------- - 1 file changed, 19 insertions(+), 15 deletions(-) - -diff --git a/drivers/gpu/drm/qxl/qxl_display.c b/drivers/gpu/drm/qxl/qxl_display.c -index 14c5613..e1dd054 100644 ---- a/drivers/gpu/drm/qxl/qxl_display.c -+++ b/drivers/gpu/drm/qxl/qxl_display.c -@@ -509,23 +509,25 @@ static void qxl_primary_atomic_update(struct drm_plane *plane, - .y2 = qfb->base.height - }; - -- if (!old_state->fb) { -- qxl_io_log(qdev, -- "create primary fb: %dx%d,%d,%d\n", -- bo->surf.width, bo->surf.height, -- bo->surf.stride, bo->surf.format); -+ if (old_state->fb) { -+ qfb_old = to_qxl_framebuffer(old_state->fb); -+ bo_old = gem_to_qxl_bo(qfb_old->obj); -+ } else { -+ bo_old = NULL; -+ } - -- qxl_io_create_primary(qdev, 0, bo); -- bo->is_primary = true; -+ if (bo == bo_old) - return; - -- } else { -- qfb_old = to_qxl_framebuffer(old_state->fb); -- bo_old = gem_to_qxl_bo(qfb_old->obj); -+ if (bo_old && bo_old->is_primary) { -+ qxl_io_destroy_primary(qdev); - bo_old->is_primary = false; - } - -- bo->is_primary = true; -+ if (!bo->is_primary) { -+ qxl_io_create_primary(qdev, 0, bo); -+ bo->is_primary = true; -+ } - qxl_draw_dirty_fb(qdev, qfb, bo, 0, 0, &norect, 1, 1); - } - -@@ -534,13 +536,15 @@ static void qxl_primary_atomic_disable(struct drm_plane *plane, - { - struct qxl_device *qdev = plane->dev->dev_private; - -- if (old_state->fb) -- { struct qxl_framebuffer *qfb = -+ if (old_state->fb) { -+ struct qxl_framebuffer *qfb = - to_qxl_framebuffer(old_state->fb); - struct qxl_bo *bo = gem_to_qxl_bo(qfb->obj); - -- qxl_io_destroy_primary(qdev); -- bo->is_primary = false; -+ if (bo->is_primary) { -+ qxl_io_destroy_primary(qdev); -+ bo->is_primary = false; -+ } - } - } - --- -cgit v0.12 - diff --git a/freed-ora/current/f26/qxl-fixes.patch b/freed-ora/current/f26/qxl-fixes.patch index 558204ac5..933f27c4a 100644 --- a/freed-ora/current/f26/qxl-fixes.patch +++ b/freed-ora/current/f26/qxl-fixes.patch @@ -1,133 +1,201 @@ -From c463b4ad6b2ac5a40c959e6c636eafc7edb1a63b Mon Sep 17 00:00:00 2001 +From 56cbcb6c41932b19ef0d838f1ff25a662a2e403d Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann <kraxel@redhat.com> -Date: Wed, 6 Sep 2017 11:31:51 +0200 -Subject: qxl: fix primary surface handling +Date: Thu, 19 Oct 2017 08:21:49 +0200 +Subject: [PATCH] drm/qxl: replace QXL_INFO with DRM_DEBUG_DRIVER -The atomic conversion of the qxl driver didn't got the primary surface -handling completely right. It works in the common simple cases, but -fails for example when changing the display resolution using xrandr or -in multihead setups. +Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> +Reviewed-by: Dave Airlie <airlied@redhat.com> +Link: http://patchwork.freedesktop.org/patch/msgid/20171019062150.28090-2-kraxel@redhat.com +--- + drivers/gpu/drm/qxl/qxl_cmd.c | 16 +++++++--------- + drivers/gpu/drm/qxl/qxl_drv.h | 26 +------------------------- + drivers/gpu/drm/qxl/qxl_fb.c | 13 +++++-------- + drivers/gpu/drm/qxl/qxl_release.c | 5 ++--- + drivers/gpu/drm/qxl/qxl_ttm.c | 4 ++-- + 5 files changed, 17 insertions(+), 47 deletions(-) -The rules are simple: There is one primary surface. Before defining a -new one you have to destroy the old one. +diff --git a/drivers/gpu/drm/qxl/qxl_cmd.c b/drivers/gpu/drm/qxl/qxl_cmd.c +index 74fc9362ecf9..8ec53d5abd62 100644 +--- a/drivers/gpu/drm/qxl/qxl_cmd.c ++++ b/drivers/gpu/drm/qxl/qxl_cmd.c +@@ -219,7 +219,7 @@ int qxl_garbage_collect(struct qxl_device *qdev) + union qxl_release_info *info; -This patch makes qxl_primary_atomic_update() destroy the primary surface -before defining a new one. It fixes is_primary flag updates. It adds -is_primary checks so we don't try to update the primary surface in case -it already has the state we want it being in. + while (qxl_ring_pop(qdev->release_ring, &id)) { +- QXL_INFO(qdev, "popped %lld\n", id); ++ DRM_DEBUG_DRIVER("popped %lld\n", id); + while (id) { + release = qxl_release_from_id_locked(qdev, id); + if (release == NULL) +@@ -229,8 +229,8 @@ int qxl_garbage_collect(struct qxl_device *qdev) + next_id = info->next; + qxl_release_unmap(qdev, release, info); -Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> ---- - drivers/gpu/drm/qxl/qxl_display.c | 34 +++++++++++++++++++--------------- - 1 file changed, 19 insertions(+), 15 deletions(-) +- QXL_INFO(qdev, "popped %lld, next %lld\n", id, +- next_id); ++ DRM_DEBUG_DRIVER("popped %lld, next %lld\n", id, ++ next_id); -diff --git a/drivers/gpu/drm/qxl/qxl_display.c b/drivers/gpu/drm/qxl/qxl_display.c -index 03fe182..7babdd8f 100644 ---- a/drivers/gpu/drm/qxl/qxl_display.c -+++ b/drivers/gpu/drm/qxl/qxl_display.c -@@ -512,23 +512,25 @@ static void qxl_primary_atomic_update(struct drm_plane *plane, - .y2 = qfb->base.height - }; - -- if (!old_state->fb) { -- qxl_io_log(qdev, -- "create primary fb: %dx%d,%d,%d\n", -- bo->surf.width, bo->surf.height, -- bo->surf.stride, bo->surf.format); -+ if (old_state->fb) { -+ qfb_old = to_qxl_framebuffer(old_state->fb); -+ bo_old = gem_to_qxl_bo(qfb_old->obj); -+ } else { -+ bo_old = NULL; -+ } - -- qxl_io_create_primary(qdev, 0, bo); -- bo->is_primary = true; -+ if (bo == bo_old) - return; - -- } else { -- qfb_old = to_qxl_framebuffer(old_state->fb); -- bo_old = gem_to_qxl_bo(qfb_old->obj); -+ if (bo_old && bo_old->is_primary) { -+ qxl_io_destroy_primary(qdev); - bo_old->is_primary = false; + switch (release->type) { + case QXL_RELEASE_DRAWABLE: +@@ -248,7 +248,7 @@ int qxl_garbage_collect(struct qxl_device *qdev) + } } - -- bo->is_primary = true; -+ if (!bo->is_primary) { -+ qxl_io_create_primary(qdev, 0, bo); -+ bo->is_primary = true; -+ } - qxl_draw_dirty_fb(qdev, qfb, bo, 0, 0, &norect, 1, 1); + +- QXL_INFO(qdev, "%s: %d\n", __func__, i); ++ DRM_DEBUG_DRIVER("%d\n", i); + + return i; } - -@@ -537,13 +539,15 @@ static void qxl_primary_atomic_disable(struct drm_plane *plane, +@@ -381,8 +381,7 @@ void qxl_io_create_primary(struct qxl_device *qdev, { - struct qxl_device *qdev = plane->dev->dev_private; - -- if (old_state->fb) -- { struct qxl_framebuffer *qfb = -+ if (old_state->fb) { -+ struct qxl_framebuffer *qfb = - to_qxl_framebuffer(old_state->fb); - struct qxl_bo *bo = gem_to_qxl_bo(qfb->obj); - -- qxl_io_destroy_primary(qdev); -- bo->is_primary = false; -+ if (bo->is_primary) { -+ qxl_io_destroy_primary(qdev); -+ bo->is_primary = false; -+ } - } + struct qxl_surface_create *create; + +- QXL_INFO(qdev, "%s: qdev %p, ram_header %p\n", __func__, qdev, +- qdev->ram_header); ++ DRM_DEBUG_DRIVER("qdev %p, ram_header %p\n", qdev, qdev->ram_header); + create = &qdev->ram_header->create_surface; + create->format = bo->surf.format; + create->width = bo->surf.width; +@@ -390,8 +389,7 @@ void qxl_io_create_primary(struct qxl_device *qdev, + create->stride = bo->surf.stride; + create->mem = qxl_bo_physical_address(qdev, bo, offset); + +- QXL_INFO(qdev, "%s: mem = %llx, from %p\n", __func__, create->mem, +- bo->kptr); ++ DRM_DEBUG_DRIVER("mem = %llx, from %p\n", create->mem, bo->kptr); + + create->flags = QXL_SURF_FLAG_KEEP_DATA; + create->type = QXL_SURF_TYPE_PRIMARY; +@@ -401,7 +399,7 @@ void qxl_io_create_primary(struct qxl_device *qdev, + + void qxl_io_memslot_add(struct qxl_device *qdev, uint8_t id) + { +- QXL_INFO(qdev, "qxl_memslot_add %d\n", id); ++ DRM_DEBUG_DRIVER("qxl_memslot_add %d\n", id); + wait_for_io_cmd(qdev, id, QXL_IO_MEMSLOT_ADD_ASYNC); } - --- -cgit v0.12 -From 05026e6e19b29104ddba4e8979e6c7af17944695 Mon Sep 17 00:00:00 2001 -From: Gerd Hoffmann <kraxel@redhat.com> -Date: Fri, 15 Sep 2017 12:46:15 +0200 -Subject: [testing] qxl: fix pinning +diff --git a/drivers/gpu/drm/qxl/qxl_drv.h b/drivers/gpu/drm/qxl/qxl_drv.h +index 3397a1907336..d707b351875c 100644 +--- a/drivers/gpu/drm/qxl/qxl_drv.h ++++ b/drivers/gpu/drm/qxl/qxl_drv.h +@@ -62,33 +62,9 @@ -cleanup_fb() unpins the just activated framebuffer instead of the -old one. Oops. + #define QXL_DEBUGFS_MAX_COMPONENTS 32 -Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> ---- - drivers/gpu/drm/qxl/qxl_display.c | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) +-extern int qxl_log_level; + extern int qxl_num_crtc; + extern int qxl_max_ioctls; -diff --git a/drivers/gpu/drm/qxl/qxl_display.c b/drivers/gpu/drm/qxl/qxl_display.c -index 7babdd8f..afc2272 100644 ---- a/drivers/gpu/drm/qxl/qxl_display.c -+++ b/drivers/gpu/drm/qxl/qxl_display.c -@@ -705,14 +705,15 @@ static void qxl_plane_cleanup_fb(struct drm_plane *plane, - struct drm_gem_object *obj; - struct qxl_bo *user_bo; - -- if (!plane->state->fb) { -- /* we never executed prepare_fb, so there's nothing to -+ if (!old_state->fb) { -+ /* -+ * we never executed prepare_fb, so there's nothing to - * unpin. - */ - return; +-enum { +- QXL_INFO_LEVEL = 1, +- QXL_DEBUG_LEVEL = 2, +-}; +- +-#define QXL_INFO(qdev, fmt, ...) do { \ +- if (qxl_log_level >= QXL_INFO_LEVEL) { \ +- qxl_io_log(qdev, fmt, __VA_ARGS__); \ +- } \ +- } while (0) +-#define QXL_DEBUG(qdev, fmt, ...) do { \ +- if (qxl_log_level >= QXL_DEBUG_LEVEL) { \ +- qxl_io_log(qdev, fmt, __VA_ARGS__); \ +- } \ +- } while (0) +-#define QXL_INFO_ONCE(qdev, fmt, ...) do { \ +- static int done; \ +- if (!done) { \ +- done = 1; \ +- QXL_INFO(qdev, fmt, __VA_ARGS__); \ +- } \ +- } while (0) +- + #define DRM_FILE_OFFSET 0x100000000ULL + #define DRM_FILE_PAGE_OFFSET (DRM_FILE_OFFSET >> PAGE_SHIFT) + +@@ -351,7 +327,7 @@ int qxl_check_idle(struct qxl_ring *ring); + static inline void * + qxl_fb_virtual_address(struct qxl_device *qdev, unsigned long physical) + { +- QXL_INFO(qdev, "not implemented (%lu)\n", physical); ++ DRM_DEBUG_DRIVER("not implemented (%lu)\n", physical); + return 0; + } + +diff --git a/drivers/gpu/drm/qxl/qxl_fb.c b/drivers/gpu/drm/qxl/qxl_fb.c +index 844c4a31ca13..23af3e352673 100644 +--- a/drivers/gpu/drm/qxl/qxl_fb.c ++++ b/drivers/gpu/drm/qxl/qxl_fb.c +@@ -240,18 +240,15 @@ static int qxlfb_create(struct qxl_fbdev *qfbdev, + return ret; + + qbo = gem_to_qxl_bo(gobj); +- QXL_INFO(qdev, "%s: %dx%d %d\n", __func__, mode_cmd.width, +- mode_cmd.height, mode_cmd.pitches[0]); ++ DRM_DEBUG_DRIVER("%dx%d %d\n", mode_cmd.width, ++ mode_cmd.height, mode_cmd.pitches[0]); + + shadow = vmalloc(mode_cmd.pitches[0] * mode_cmd.height); + /* TODO: what's the usual response to memory allocation errors? */ + BUG_ON(!shadow); +- QXL_INFO(qdev, +- "surface0 at gpu offset %lld, mmap_offset %lld (virt %p, shadow %p)\n", +- qxl_bo_gpu_offset(qbo), +- qxl_bo_mmap_offset(qbo), +- qbo->kptr, +- shadow); ++ DRM_DEBUG_DRIVER("surface0 at gpu offset %lld, mmap_offset %lld (virt %p, shadow %p)\n", ++ qxl_bo_gpu_offset(qbo), qxl_bo_mmap_offset(qbo), ++ qbo->kptr, shadow); + size = mode_cmd.pitches[0] * mode_cmd.height; + + info = drm_fb_helper_alloc_fbi(&qfbdev->helper); +diff --git a/drivers/gpu/drm/qxl/qxl_release.c b/drivers/gpu/drm/qxl/qxl_release.c +index e6ec845b5be0..a6da6fa6ad58 100644 +--- a/drivers/gpu/drm/qxl/qxl_release.c ++++ b/drivers/gpu/drm/qxl/qxl_release.c +@@ -154,7 +154,7 @@ qxl_release_alloc(struct qxl_device *qdev, int type, + return handle; } - -- obj = to_qxl_framebuffer(plane->state->fb)->obj; -+ obj = to_qxl_framebuffer(old_state->fb)->obj; - user_bo = gem_to_qxl_bo(obj); - qxl_bo_unpin(user_bo); + *ret = release; +- QXL_INFO(qdev, "allocated release %d\n", handle); ++ DRM_DEBUG_DRIVER("allocated release %d\n", handle); + release->id = handle; + return handle; } +@@ -179,8 +179,7 @@ void + qxl_release_free(struct qxl_device *qdev, + struct qxl_release *release) + { +- QXL_INFO(qdev, "release %d, type %d\n", release->id, +- release->type); ++ DRM_DEBUG_DRIVER("release %d, type %d\n", release->id, release->type); + + if (release->surface_release_id) + qxl_surface_id_dealloc(qdev, release->surface_release_id); +diff --git a/drivers/gpu/drm/qxl/qxl_ttm.c b/drivers/gpu/drm/qxl/qxl_ttm.c +index 7ecf8a4b9fe6..ab4823875311 100644 +--- a/drivers/gpu/drm/qxl/qxl_ttm.c ++++ b/drivers/gpu/drm/qxl/qxl_ttm.c +@@ -136,8 +136,8 @@ int qxl_mmap(struct file *filp, struct vm_area_struct *vma) + "filp->private_data->minor->dev->dev_private == NULL\n"); + return -EINVAL; + } +- QXL_INFO(qdev, "%s: filp->private_data = 0x%p, vma->vm_pgoff = %lx\n", +- __func__, filp->private_data, vma->vm_pgoff); ++ DRM_DEBUG_DRIVER("filp->private_data = 0x%p, vma->vm_pgoff = %lx\n", ++ filp->private_data, vma->vm_pgoff); + + r = ttm_bo_mmap(filp, vma, &qdev->mman.bdev); + if (unlikely(r != 0)) -- -cgit v0.12 +2.14.3 -From 7a39a01887acc66d9b318d5e5898cf00d323eb8f Mon Sep 17 00:00:00 2001 +From 62676d10b483a2ff6e8b08c5e7c7d63a831343f5 Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann <kraxel@redhat.com> -Date: Wed, 18 Oct 2017 13:18:40 +0200 -Subject: qxl: alloc & use shadow for dumb buffers +Date: Thu, 19 Oct 2017 08:21:50 +0200 +Subject: [PATCH] qxl: alloc & use shadow for dumb buffers This patch changes the way the primary surface is used for dumb framebuffers. Instead of configuring the bo itself as primary surface @@ -148,6 +216,8 @@ case qemu is asked to write out a dump of the guest display (screendump monitor command). Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> +Reviewed-by: Dave Airlie <airlied@redhat.com> +Link: http://patchwork.freedesktop.org/patch/msgid/20171019062150.28090-3-kraxel@redhat.com --- drivers/gpu/drm/qxl/qxl_cmd.c | 6 ++++- drivers/gpu/drm/qxl/qxl_display.c | 49 ++++++++++++++++++++++++++++++++++++--- @@ -156,10 +226,10 @@ Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> 4 files changed, 54 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/qxl/qxl_cmd.c b/drivers/gpu/drm/qxl/qxl_cmd.c -index 74fc936..3eb9208 100644 +index 8ec53d5abd62..c0fb52c6d4ca 100644 --- a/drivers/gpu/drm/qxl/qxl_cmd.c +++ b/drivers/gpu/drm/qxl/qxl_cmd.c -@@ -388,7 +388,11 @@ void qxl_io_create_primary(struct qxl_device *qdev, +@@ -387,7 +387,11 @@ void qxl_io_create_primary(struct qxl_device *qdev, create->width = bo->surf.width; create->height = bo->surf.height; create->stride = bo->surf.stride; @@ -170,10 +240,10 @@ index 74fc936..3eb9208 100644 + create->mem = qxl_bo_physical_address(qdev, bo, offset); + } - QXL_INFO(qdev, "%s: mem = %llx, from %p\n", __func__, create->mem, - bo->kptr); + DRM_DEBUG_DRIVER("mem = %llx, from %p\n", create->mem, bo->kptr); + diff --git a/drivers/gpu/drm/qxl/qxl_display.c b/drivers/gpu/drm/qxl/qxl_display.c -index afc2272..da6648e 100644 +index afbf50d0c08f..4756b3c9bf2c 100644 --- a/drivers/gpu/drm/qxl/qxl_display.c +++ b/drivers/gpu/drm/qxl/qxl_display.c @@ -305,7 +305,9 @@ static const struct drm_crtc_funcs qxl_crtc_funcs = { @@ -186,7 +256,7 @@ index afc2272..da6648e 100644 drm_gem_object_unreference_unlocked(qxl_fb->obj); drm_framebuffer_cleanup(fb); kfree(qxl_fb); -@@ -511,6 +513,7 @@ static void qxl_primary_atomic_update(struct drm_plane *plane, +@@ -508,6 +510,7 @@ static void qxl_primary_atomic_update(struct drm_plane *plane, .x2 = qfb->base.width, .y2 = qfb->base.height }; @@ -194,7 +264,7 @@ index afc2272..da6648e 100644 if (old_state->fb) { qfb_old = to_qxl_framebuffer(old_state->fb); -@@ -522,15 +525,23 @@ static void qxl_primary_atomic_update(struct drm_plane *plane, +@@ -519,15 +522,23 @@ static void qxl_primary_atomic_update(struct drm_plane *plane, if (bo == bo_old) return; @@ -220,9 +290,9 @@ index afc2272..da6648e 100644 qxl_draw_dirty_fb(qdev, qfb, bo, 0, 0, &norect, 1, 1); } -@@ -682,8 +693,9 @@ void qxl_cursor_atomic_disable(struct drm_plane *plane, - int qxl_plane_prepare_fb(struct drm_plane *plane, - struct drm_plane_state *new_state) +@@ -679,8 +690,9 @@ static void qxl_cursor_atomic_disable(struct drm_plane *plane, + static int qxl_plane_prepare_fb(struct drm_plane *plane, + struct drm_plane_state *new_state) { + struct qxl_device *qdev = plane->dev->dev_private; struct drm_gem_object *obj; @@ -231,7 +301,7 @@ index afc2272..da6648e 100644 int ret; if (!new_state->fb) -@@ -692,6 +704,32 @@ int qxl_plane_prepare_fb(struct drm_plane *plane, +@@ -689,6 +701,32 @@ static int qxl_plane_prepare_fb(struct drm_plane *plane, obj = to_qxl_framebuffer(new_state->fb)->obj; user_bo = gem_to_qxl_bo(obj); @@ -264,7 +334,7 @@ index afc2272..da6648e 100644 ret = qxl_bo_pin(user_bo, QXL_GEM_DOMAIN_CPU, NULL); if (ret) return ret; -@@ -716,6 +754,11 @@ static void qxl_plane_cleanup_fb(struct drm_plane *plane, +@@ -713,6 +751,11 @@ static void qxl_plane_cleanup_fb(struct drm_plane *plane, obj = to_qxl_framebuffer(old_state->fb)->obj; user_bo = gem_to_qxl_bo(obj); qxl_bo_unpin(user_bo); @@ -277,10 +347,10 @@ index afc2272..da6648e 100644 static const uint32_t qxl_cursor_plane_formats[] = { diff --git a/drivers/gpu/drm/qxl/qxl_drv.h b/drivers/gpu/drm/qxl/qxl_drv.h -index 3591d23..b5e9dc6 100644 +index d707b351875c..08752c0ffb35 100644 --- a/drivers/gpu/drm/qxl/qxl_drv.h +++ b/drivers/gpu/drm/qxl/qxl_drv.h -@@ -112,6 +112,8 @@ struct qxl_bo { +@@ -89,6 +89,8 @@ struct qxl_bo { /* Constant after initialization */ struct drm_gem_object gem_base; bool is_primary; /* is this now a primary surface */ @@ -290,7 +360,7 @@ index 3591d23..b5e9dc6 100644 struct qxl_surface surf; uint32_t surface_id; diff --git a/drivers/gpu/drm/qxl/qxl_dumb.c b/drivers/gpu/drm/qxl/qxl_dumb.c -index 5e65d5d..11085ab 100644 +index 5e65d5d2d937..11085ab01374 100644 --- a/drivers/gpu/drm/qxl/qxl_dumb.c +++ b/drivers/gpu/drm/qxl/qxl_dumb.c @@ -63,6 +63,7 @@ int qxl_mode_dumb_create(struct drm_file *file_priv, @@ -302,5 +372,5 @@ index 5e65d5d..11085ab 100644 args->handle = handle; return 0; -- -2.13.5 +2.14.3 diff --git a/freed-ora/current/f26/qxl_cursor_fix.patch b/freed-ora/current/f26/qxl_cursor_fix.patch deleted file mode 100644 index 8d59cb48b..000000000 --- a/freed-ora/current/f26/qxl_cursor_fix.patch +++ /dev/null @@ -1,565 +0,0 @@ -From fda212272d75dd46a53bdeba9466c6f7db7ee3fa Mon Sep 17 00:00:00 2001 -From: Ray Strode <rstrode@redhat.com> -Date: Fri, 17 Nov 2017 15:08:05 -0500 -Subject: [PATCH 1/2] drm/qxl: unref cursor bo when finished with it - -qxl_cursor_atomic_update allocs a bo for the cursor that -it never frees up at the end of the function. - -This commit fixes that. - -Signed-off-by: Ray Strode <rstrode@redhat.com> ---- - drivers/gpu/drm/qxl/qxl_display.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/drivers/gpu/drm/qxl/qxl_display.c b/drivers/gpu/drm/qxl/qxl_display.c -index da6648e75374..dab9f860626f 100644 ---- a/drivers/gpu/drm/qxl/qxl_display.c -+++ b/drivers/gpu/drm/qxl/qxl_display.c -@@ -551,61 +551,61 @@ static void qxl_primary_atomic_disable(struct drm_plane *plane, - struct qxl_device *qdev = plane->dev->dev_private; - - if (old_state->fb) { - struct qxl_framebuffer *qfb = - to_qxl_framebuffer(old_state->fb); - struct qxl_bo *bo = gem_to_qxl_bo(qfb->obj); - - if (bo->is_primary) { - qxl_io_destroy_primary(qdev); - bo->is_primary = false; - } - } - } - - int qxl_plane_atomic_check(struct drm_plane *plane, - struct drm_plane_state *state) - { - return 0; - } - - static void qxl_cursor_atomic_update(struct drm_plane *plane, - struct drm_plane_state *old_state) - { - struct drm_device *dev = plane->dev; - struct qxl_device *qdev = dev->dev_private; - struct drm_framebuffer *fb = plane->state->fb; - struct qxl_release *release; - struct qxl_cursor_cmd *cmd; - struct qxl_cursor *cursor; - struct drm_gem_object *obj; -- struct qxl_bo *cursor_bo, *user_bo = NULL; -+ struct qxl_bo *cursor_bo = NULL, *user_bo = NULL; - int ret; - void *user_ptr; - int size = 64*64*4; - - ret = qxl_alloc_release_reserved(qdev, sizeof(*cmd), - QXL_RELEASE_CURSOR_CMD, - &release, NULL); - if (ret) - return; - - if (fb != old_state->fb) { - obj = to_qxl_framebuffer(fb)->obj; - user_bo = gem_to_qxl_bo(obj); - - /* pinning is done in the prepare/cleanup framevbuffer */ - ret = qxl_bo_kmap(user_bo, &user_ptr); - if (ret) - goto out_free_release; - - ret = qxl_alloc_bo_reserved(qdev, release, - sizeof(struct qxl_cursor) + size, - &cursor_bo); - if (ret) - goto out_kunmap; - - ret = qxl_release_reserve_list(release, true); - if (ret) - goto out_free_bo; - - ret = qxl_bo_kmap(cursor_bo, (void **)&cursor); -@@ -621,60 +621,62 @@ static void qxl_cursor_atomic_update(struct drm_plane *plane, - cursor->data_size = size; - cursor->chunk.next_chunk = 0; - cursor->chunk.prev_chunk = 0; - cursor->chunk.data_size = size; - memcpy(cursor->chunk.data, user_ptr, size); - qxl_bo_kunmap(cursor_bo); - qxl_bo_kunmap(user_bo); - - cmd = (struct qxl_cursor_cmd *) qxl_release_map(qdev, release); - cmd->u.set.visible = 1; - cmd->u.set.shape = qxl_bo_physical_address(qdev, - cursor_bo, 0); - cmd->type = QXL_CURSOR_SET; - } else { - - ret = qxl_release_reserve_list(release, true); - if (ret) - goto out_free_release; - - cmd = (struct qxl_cursor_cmd *) qxl_release_map(qdev, release); - cmd->type = QXL_CURSOR_MOVE; - } - - cmd->u.position.x = plane->state->crtc_x + fb->hot_x; - cmd->u.position.y = plane->state->crtc_y + fb->hot_y; - - qxl_release_unmap(qdev, release, &cmd->release_info); - qxl_push_cursor_ring_release(qdev, release, QXL_CMD_CURSOR, false); - qxl_release_fence_buffer_objects(release); - -+ qxl_bo_unref (&cursor_bo); -+ - return; - - out_backoff: - qxl_release_backoff_reserve_list(release); - out_free_bo: - qxl_bo_unref(&cursor_bo); - out_kunmap: - qxl_bo_kunmap(user_bo); - out_free_release: - qxl_release_free(qdev, release); - return; - - } - - void qxl_cursor_atomic_disable(struct drm_plane *plane, - struct drm_plane_state *old_state) - { - struct qxl_device *qdev = plane->dev->dev_private; - struct qxl_release *release; - struct qxl_cursor_cmd *cmd; - int ret; - - ret = qxl_alloc_release_reserved(qdev, sizeof(*cmd), - QXL_RELEASE_CURSOR_CMD, - &release, NULL); - if (ret) - return; - - ret = qxl_release_reserve_list(release, true); - if (ret) { --- -2.14.3 - - -From c779c917be6cd38a0c39ebb10f75f223efc5ffef Mon Sep 17 00:00:00 2001 -From: Ray Strode <rstrode@redhat.com> -Date: Fri, 17 Nov 2017 14:49:46 -0500 -Subject: [PATCH 2/2] drm/qxl: reapply cursor after resetting primary - -QXL associates mouse state with its primary plane. - -Destroying a primary plane and putting a new one -in place has the side effect of destroying the cursor -as well. - -This commit changes the driver to reapply the cursor -any time a new primary is created. It achieves this -by keeping a reference to the cursor bo on the qxl_crtc -struct. - -This fix is very similar to commit 4532b241a4b which -got implicitly reverted as part of implementing the -atomic modeset feature. - -Signed-off-by: Ray Strode <rstrode@redhat.com> - -https://bugzilla.redhat.com/show_bug.cgi?id=1512097 ---- - drivers/gpu/drm/qxl/qxl_display.c | 59 +++++++++++++++++++++++++++++++++++++++ - drivers/gpu/drm/qxl/qxl_drv.h | 2 ++ - 2 files changed, 61 insertions(+) - -diff --git a/drivers/gpu/drm/qxl/qxl_display.c b/drivers/gpu/drm/qxl/qxl_display.c -index dab9f860626f..ef5c3a83130f 100644 ---- a/drivers/gpu/drm/qxl/qxl_display.c -+++ b/drivers/gpu/drm/qxl/qxl_display.c -@@ -262,60 +262,61 @@ static int qxl_add_common_modes(struct drm_connector *connector, - mode = drm_cvt_mode(dev, common_modes[i].w, common_modes[i].h, - 60, false, false, false); - if (common_modes[i].w == pwidth && common_modes[i].h == pheight) - mode->type |= DRM_MODE_TYPE_PREFERRED; - drm_mode_probed_add(connector, mode); - } - return i - 1; - } - - static void qxl_crtc_atomic_flush(struct drm_crtc *crtc, - struct drm_crtc_state *old_crtc_state) - { - struct drm_device *dev = crtc->dev; - struct drm_pending_vblank_event *event; - unsigned long flags; - - if (crtc->state && crtc->state->event) { - event = crtc->state->event; - crtc->state->event = NULL; - - spin_lock_irqsave(&dev->event_lock, flags); - drm_crtc_send_vblank_event(crtc, event); - spin_unlock_irqrestore(&dev->event_lock, flags); - } - } - - static void qxl_crtc_destroy(struct drm_crtc *crtc) - { - struct qxl_crtc *qxl_crtc = to_qxl_crtc(crtc); - -+ qxl_bo_unref(&qxl_crtc->cursor_bo); - drm_crtc_cleanup(crtc); - kfree(qxl_crtc); - } - - static const struct drm_crtc_funcs qxl_crtc_funcs = { - .set_config = drm_atomic_helper_set_config, - .destroy = qxl_crtc_destroy, - .page_flip = drm_atomic_helper_page_flip, - .reset = drm_atomic_helper_crtc_reset, - .atomic_duplicate_state = drm_atomic_helper_crtc_duplicate_state, - .atomic_destroy_state = drm_atomic_helper_crtc_destroy_state, - }; - - void qxl_user_framebuffer_destroy(struct drm_framebuffer *fb) - { - struct qxl_framebuffer *qxl_fb = to_qxl_framebuffer(fb); - struct qxl_bo *bo = gem_to_qxl_bo(qxl_fb->obj); - - WARN_ON(bo->shadow); - drm_gem_object_unreference_unlocked(qxl_fb->obj); - drm_framebuffer_cleanup(fb); - kfree(qxl_fb); - } - - static int qxl_framebuffer_surface_dirty(struct drm_framebuffer *fb, - struct drm_file *file_priv, - unsigned flags, unsigned color, - struct drm_clip_rect *clips, - unsigned num_clips) - { -@@ -471,193 +472,251 @@ static void qxl_crtc_disable(struct drm_crtc *crtc) - static const struct drm_crtc_helper_funcs qxl_crtc_helper_funcs = { - .dpms = qxl_crtc_dpms, - .disable = qxl_crtc_disable, - .mode_fixup = qxl_crtc_mode_fixup, - .mode_set_nofb = qxl_mode_set_nofb, - .commit = qxl_crtc_commit, - .atomic_flush = qxl_crtc_atomic_flush, - }; - - int qxl_primary_atomic_check(struct drm_plane *plane, - struct drm_plane_state *state) - { - struct qxl_device *qdev = plane->dev->dev_private; - struct qxl_framebuffer *qfb; - struct qxl_bo *bo; - - if (!state->crtc || !state->fb) - return 0; - - qfb = to_qxl_framebuffer(state->fb); - bo = gem_to_qxl_bo(qfb->obj); - - if (bo->surf.stride * bo->surf.height > qdev->vram_size) { - DRM_ERROR("Mode doesn't fit in vram size (vgamem)"); - return -EINVAL; - } - - return 0; - } - -+static int qxl_primary_apply_cursor(struct drm_plane *plane) -+{ -+ struct drm_device *dev = plane->dev; -+ struct qxl_device *qdev = dev->dev_private; -+ struct drm_framebuffer *fb = plane->state->fb; -+ struct qxl_crtc *qcrtc = to_qxl_crtc(plane->state->crtc); -+ struct qxl_cursor_cmd *cmd; -+ struct qxl_release *release; -+ int ret = 0; -+ -+ if (!qcrtc->cursor_bo) -+ return 0; -+ -+ ret = qxl_alloc_release_reserved(qdev, sizeof(*cmd), -+ QXL_RELEASE_CURSOR_CMD, -+ &release, NULL); -+ if (ret) -+ return ret; -+ -+ ret = qxl_release_list_add(release, qcrtc->cursor_bo); -+ if (ret) -+ goto out_free_release; -+ -+ ret = qxl_release_reserve_list(release, false); -+ if (ret) -+ goto out_free_release; -+ -+ cmd = (struct qxl_cursor_cmd *)qxl_release_map(qdev, release); -+ cmd->type = QXL_CURSOR_SET; -+ cmd->u.set.position.x = plane->state->crtc_x + fb->hot_x; -+ cmd->u.set.position.y = plane->state->crtc_y + fb->hot_y; -+ -+ cmd->u.set.shape = qxl_bo_physical_address(qdev, qcrtc->cursor_bo, 0); -+ -+ cmd->u.set.visible = 1; -+ qxl_release_unmap(qdev, release, &cmd->release_info); -+ -+ qxl_push_cursor_ring_release(qdev, release, QXL_CMD_CURSOR, false); -+ qxl_release_fence_buffer_objects(release); -+ -+ return ret; -+ -+out_free_release: -+ qxl_release_free(qdev, release); -+ return ret; -+} -+ - static void qxl_primary_atomic_update(struct drm_plane *plane, - struct drm_plane_state *old_state) - { - struct qxl_device *qdev = plane->dev->dev_private; - struct qxl_framebuffer *qfb = - to_qxl_framebuffer(plane->state->fb); - struct qxl_framebuffer *qfb_old; - struct qxl_bo *bo = gem_to_qxl_bo(qfb->obj); - struct qxl_bo *bo_old; - struct drm_clip_rect norect = { - .x1 = 0, - .y1 = 0, - .x2 = qfb->base.width, - .y2 = qfb->base.height - }; -+ int ret; - bool same_shadow = false; - - if (old_state->fb) { - qfb_old = to_qxl_framebuffer(old_state->fb); - bo_old = gem_to_qxl_bo(qfb_old->obj); - } else { - bo_old = NULL; - } - - if (bo == bo_old) - return; - - if (bo_old && bo_old->shadow && bo->shadow && - bo_old->shadow == bo->shadow) { - same_shadow = true; - } - - if (bo_old && bo_old->is_primary) { - if (!same_shadow) - qxl_io_destroy_primary(qdev); - bo_old->is_primary = false; -+ -+ ret = qxl_primary_apply_cursor(plane); -+ if (ret) { -+ DRM_ERROR("could not set cursor after creating primary"); -+ } - } - - if (!bo->is_primary) { - if (!same_shadow) - qxl_io_create_primary(qdev, 0, bo); - bo->is_primary = true; - } - - qxl_draw_dirty_fb(qdev, qfb, bo, 0, 0, &norect, 1, 1); - } - - static void qxl_primary_atomic_disable(struct drm_plane *plane, - struct drm_plane_state *old_state) - { - struct qxl_device *qdev = plane->dev->dev_private; - - if (old_state->fb) { - struct qxl_framebuffer *qfb = - to_qxl_framebuffer(old_state->fb); - struct qxl_bo *bo = gem_to_qxl_bo(qfb->obj); - - if (bo->is_primary) { - qxl_io_destroy_primary(qdev); - bo->is_primary = false; - } - } - } - - int qxl_plane_atomic_check(struct drm_plane *plane, - struct drm_plane_state *state) - { - return 0; - } - - static void qxl_cursor_atomic_update(struct drm_plane *plane, - struct drm_plane_state *old_state) - { - struct drm_device *dev = plane->dev; - struct qxl_device *qdev = dev->dev_private; - struct drm_framebuffer *fb = plane->state->fb; -+ struct qxl_crtc *qcrtc = to_qxl_crtc(plane->state->crtc); - struct qxl_release *release; - struct qxl_cursor_cmd *cmd; - struct qxl_cursor *cursor; - struct drm_gem_object *obj; - struct qxl_bo *cursor_bo = NULL, *user_bo = NULL; - int ret; - void *user_ptr; - int size = 64*64*4; - - ret = qxl_alloc_release_reserved(qdev, sizeof(*cmd), - QXL_RELEASE_CURSOR_CMD, - &release, NULL); - if (ret) - return; - - if (fb != old_state->fb) { - obj = to_qxl_framebuffer(fb)->obj; - user_bo = gem_to_qxl_bo(obj); - - /* pinning is done in the prepare/cleanup framevbuffer */ - ret = qxl_bo_kmap(user_bo, &user_ptr); - if (ret) - goto out_free_release; - - ret = qxl_alloc_bo_reserved(qdev, release, - sizeof(struct qxl_cursor) + size, - &cursor_bo); - if (ret) - goto out_kunmap; - - ret = qxl_release_reserve_list(release, true); - if (ret) - goto out_free_bo; - - ret = qxl_bo_kmap(cursor_bo, (void **)&cursor); - if (ret) - goto out_backoff; - - cursor->header.unique = 0; - cursor->header.type = SPICE_CURSOR_TYPE_ALPHA; - cursor->header.width = 64; - cursor->header.height = 64; - cursor->header.hot_spot_x = fb->hot_x; - cursor->header.hot_spot_y = fb->hot_y; - cursor->data_size = size; - cursor->chunk.next_chunk = 0; - cursor->chunk.prev_chunk = 0; - cursor->chunk.data_size = size; - memcpy(cursor->chunk.data, user_ptr, size); - qxl_bo_kunmap(cursor_bo); - qxl_bo_kunmap(user_bo); - - cmd = (struct qxl_cursor_cmd *) qxl_release_map(qdev, release); - cmd->u.set.visible = 1; - cmd->u.set.shape = qxl_bo_physical_address(qdev, - cursor_bo, 0); - cmd->type = QXL_CURSOR_SET; -+ -+ qxl_bo_unref (&qcrtc->cursor_bo); -+ qcrtc->cursor_bo = cursor_bo; -+ cursor_bo = NULL; - } else { - - ret = qxl_release_reserve_list(release, true); - if (ret) - goto out_free_release; - - cmd = (struct qxl_cursor_cmd *) qxl_release_map(qdev, release); - cmd->type = QXL_CURSOR_MOVE; - } - - cmd->u.position.x = plane->state->crtc_x + fb->hot_x; - cmd->u.position.y = plane->state->crtc_y + fb->hot_y; - - qxl_release_unmap(qdev, release, &cmd->release_info); - qxl_push_cursor_ring_release(qdev, release, QXL_CMD_CURSOR, false); - qxl_release_fence_buffer_objects(release); - - qxl_bo_unref (&cursor_bo); - - return; - - out_backoff: - qxl_release_backoff_reserve_list(release); - out_free_bo: - qxl_bo_unref(&cursor_bo); - out_kunmap: - qxl_bo_kunmap(user_bo); - out_free_release: - qxl_release_free(qdev, release); - return; -diff --git a/drivers/gpu/drm/qxl/qxl_drv.h b/drivers/gpu/drm/qxl/qxl_drv.h -index b5e9dc6eebac..d3e2373ef821 100644 ---- a/drivers/gpu/drm/qxl/qxl_drv.h -+++ b/drivers/gpu/drm/qxl/qxl_drv.h -@@ -107,60 +107,62 @@ struct qxl_bo { - struct ttm_bo_kmap_obj kmap; - unsigned pin_count; - void *kptr; - int type; - - /* Constant after initialization */ - struct drm_gem_object gem_base; - bool is_primary; /* is this now a primary surface */ - bool is_dumb; - struct qxl_bo *shadow; - bool hw_surf_alloc; - struct qxl_surface surf; - uint32_t surface_id; - struct qxl_release *surf_create; - }; - #define gem_to_qxl_bo(gobj) container_of((gobj), struct qxl_bo, gem_base) - #define to_qxl_bo(tobj) container_of((tobj), struct qxl_bo, tbo) - - struct qxl_gem { - struct mutex mutex; - struct list_head objects; - }; - - struct qxl_bo_list { - struct ttm_validate_buffer tv; - }; - - struct qxl_crtc { - struct drm_crtc base; - int index; -+ -+ struct qxl_bo *cursor_bo; - }; - - struct qxl_output { - int index; - struct drm_connector base; - struct drm_encoder enc; - }; - - struct qxl_framebuffer { - struct drm_framebuffer base; - struct drm_gem_object *obj; - }; - - #define to_qxl_crtc(x) container_of(x, struct qxl_crtc, base) - #define drm_connector_to_qxl_output(x) container_of(x, struct qxl_output, base) - #define drm_encoder_to_qxl_output(x) container_of(x, struct qxl_output, enc) - #define to_qxl_framebuffer(x) container_of(x, struct qxl_framebuffer, base) - - struct qxl_mman { - struct ttm_bo_global_ref bo_global_ref; - struct drm_global_reference mem_global_ref; - bool mem_global_referenced; - struct ttm_bo_device bdev; - }; - - struct qxl_mode_info { - bool mode_config_initialized; - - /* pointer to fbdev info structure */ - struct qxl_fbdev *qfbdev; --- -2.14.3 - diff --git a/freed-ora/current/f26/selinux-Generalize-support-for-NNP-nosuid-SELinux-do.patch b/freed-ora/current/f26/selinux-Generalize-support-for-NNP-nosuid-SELinux-do.patch deleted file mode 100644 index 797566c8d..000000000 --- a/freed-ora/current/f26/selinux-Generalize-support-for-NNP-nosuid-SELinux-do.patch +++ /dev/null @@ -1,220 +0,0 @@ -From af63f4193f9fbbbac50fc766417d74735afd87ef Mon Sep 17 00:00:00 2001 -From: Stephen Smalley <sds@tycho.nsa.gov> -Date: Mon, 31 Jul 2017 10:12:46 -0400 -Subject: [PATCH] selinux: Generalize support for NNP/nosuid SELinux domain - transitions - -As systemd ramps up enabling NNP (NoNewPrivileges) for system services, -it is increasingly breaking SELinux domain transitions for those services -and their descendants. systemd enables NNP not only for services whose -unit files explicitly specify NoNewPrivileges=yes but also for services -whose unit files specify any of the following options in combination with -running without CAP_SYS_ADMIN (e.g. specifying User= or a -CapabilityBoundingSet= without CAP_SYS_ADMIN): SystemCallFilter=, -SystemCallArchitectures=, RestrictAddressFamilies=, RestrictNamespaces=, -PrivateDevices=, ProtectKernelTunables=, ProtectKernelModules=, -MemoryDenyWriteExecute=, or RestrictRealtime= as per the systemd.exec(5) -man page. - -The end result is bad for the security of both SELinux-disabled and -SELinux-enabled systems. Packagers have to turn off these -options in the unit files to preserve SELinux domain transitions. For -users who choose to disable SELinux, this means that they miss out on -at least having the systemd-supported protections. For users who keep -SELinux enabled, they may still be missing out on some protections -because it isn't necessarily guaranteed that the SELinux policy for -that service provides the same protections in all cases. - -commit 7b0d0b40cd78 ("selinux: Permit bounded transitions under -NO_NEW_PRIVS or NOSUID.") allowed bounded transitions under NNP in -order to support limited usage for sandboxing programs. However, -defining typebounds for all of the affected service domains -is impractical to implement in policy, since typebounds requires us -to ensure that each domain is allowed everything all of its descendant -domains are allowed, and this has to be repeated for the entire chain -of domain transitions. There is no way to clone all allow rules from -descendants to their ancestors in policy currently, and doing so would -be undesirable even if it were practical, as it requires leaking -permissions to objects and operations into ancestor domains that could -weaken their own security in order to allow them to the descendants -(e.g. if a descendant requires execmem permission, then so do all of -its ancestors; if a descendant requires execute permission to a file, -then so do all of its ancestors; if a descendant requires read to a -symbolic link or temporary file, then so do all of its ancestors...). -SELinux domains are intentionally not hierarchical / bounded in this -manner normally, and making them so would undermine their protections -and least privilege. - -We have long had a similar tension with SELinux transitions and nosuid -mounts, albeit not as severe. Users often have had to choose between -retaining nosuid on a mount and allowing SELinux domain transitions on -files within those mounts. This likewise leads to unfortunate tradeoffs -in security. - -Decouple NNP/nosuid from SELinux transitions, so that we don't have to -make a choice between them. Introduce a nnp_nosuid_transition policy -capability that enables transitions under NNP/nosuid to be based on -a permission (nnp_transition for NNP; nosuid_transition for nosuid) -between the old and new contexts in addition to the current support -for bounded transitions. Domain transitions can then be allowed in -policy without requiring the parent to be a strict superset of all of -its children. - -With this change, systemd unit files can be left unmodified from upstream. -SELinux-disabled and SELinux-enabled users will benefit from retaining any -of the systemd-provided protections. SELinux policy will only need to -be adapted to enable the new policy capability and to allow the -new permissions between domain pairs as appropriate. - -NB: Allowing nnp_transition between two contexts opens up the potential -for the old context to subvert the new context by installing seccomp -filters before the execve. Allowing nosuid_transition between two contexts -opens up the potential for a context transition to occur on a file from -an untrusted filesystem (e.g. removable media or remote filesystem). Use -with care. - -Signed-off-by: Stephen Smalley <sds@tycho.nsa.gov> -Signed-off-by: Paul Moore <paul@paul-moore.com> ---- - security/selinux/hooks.c | 47 +++++++++++++++++++++++++------------ - security/selinux/include/classmap.h | 2 ++ - security/selinux/include/security.h | 2 ++ - security/selinux/ss/services.c | 7 +++++- - 4 files changed, 42 insertions(+), 16 deletions(-) - -diff --git a/security/selinux/hooks.c b/security/selinux/hooks.c -index 00ad46e166f6..04b8e1082c9a 100644 ---- a/security/selinux/hooks.c -+++ b/security/selinux/hooks.c -@@ -2318,6 +2318,7 @@ static int check_nnp_nosuid(const struct linux_binprm *bprm, - int nnp = (bprm->unsafe & LSM_UNSAFE_NO_NEW_PRIVS); - int nosuid = !mnt_may_suid(bprm->file->f_path.mnt); - int rc; -+ u32 av; - - if (!nnp && !nosuid) - return 0; /* neither NNP nor nosuid */ -@@ -2326,24 +2327,40 @@ static int check_nnp_nosuid(const struct linux_binprm *bprm, - return 0; /* No change in credentials */ - - /* -- * The only transitions we permit under NNP or nosuid -- * are transitions to bounded SIDs, i.e. SIDs that are -- * guaranteed to only be allowed a subset of the permissions -- * of the current SID. -+ * If the policy enables the nnp_nosuid_transition policy capability, -+ * then we permit transitions under NNP or nosuid if the -+ * policy allows the corresponding permission between -+ * the old and new contexts. - */ -- rc = security_bounded_transition(old_tsec->sid, new_tsec->sid); -- if (rc) { -- /* -- * On failure, preserve the errno values for NNP vs nosuid. -- * NNP: Operation not permitted for caller. -- * nosuid: Permission denied to file. -- */ -+ if (selinux_policycap_nnp_nosuid_transition) { -+ av = 0; - if (nnp) -- return -EPERM; -- else -- return -EACCES; -+ av |= PROCESS2__NNP_TRANSITION; -+ if (nosuid) -+ av |= PROCESS2__NOSUID_TRANSITION; -+ rc = avc_has_perm(old_tsec->sid, new_tsec->sid, -+ SECCLASS_PROCESS2, av, NULL); -+ if (!rc) -+ return 0; - } -- return 0; -+ -+ /* -+ * We also permit NNP or nosuid transitions to bounded SIDs, -+ * i.e. SIDs that are guaranteed to only be allowed a subset -+ * of the permissions of the current SID. -+ */ -+ rc = security_bounded_transition(old_tsec->sid, new_tsec->sid); -+ if (!rc) -+ return 0; -+ -+ /* -+ * On failure, preserve the errno values for NNP vs nosuid. -+ * NNP: Operation not permitted for caller. -+ * nosuid: Permission denied to file. -+ */ -+ if (nnp) -+ return -EPERM; -+ return -EACCES; - } - - static int selinux_bprm_set_creds(struct linux_binprm *bprm) -diff --git a/security/selinux/include/classmap.h b/security/selinux/include/classmap.h -index b9fe3434b036..35ffb29a69cb 100644 ---- a/security/selinux/include/classmap.h -+++ b/security/selinux/include/classmap.h -@@ -48,6 +48,8 @@ struct security_class_mapping secclass_map[] = { - "setrlimit", "rlimitinh", "dyntransition", "setcurrent", - "execmem", "execstack", "execheap", "setkeycreate", - "setsockcreate", "getrlimit", NULL } }, -+ { "process2", -+ { "nnp_transition", "nosuid_transition", NULL } }, - { "system", - { "ipc_info", "syslog_read", "syslog_mod", - "syslog_console", "module_request", "module_load", NULL } }, -diff --git a/security/selinux/include/security.h b/security/selinux/include/security.h -index e91f08c16c0b..3e323179159a 100644 ---- a/security/selinux/include/security.h -+++ b/security/selinux/include/security.h -@@ -73,6 +73,7 @@ enum { - POLICYDB_CAPABILITY_EXTSOCKCLASS, - POLICYDB_CAPABILITY_ALWAYSNETWORK, - POLICYDB_CAPABILITY_CGROUPSECLABEL, -+ POLICYDB_CAPABILITY_NNP_NOSUID_TRANSITION, - __POLICYDB_CAPABILITY_MAX - }; - #define POLICYDB_CAPABILITY_MAX (__POLICYDB_CAPABILITY_MAX - 1) -@@ -84,6 +85,7 @@ extern int selinux_policycap_openperm; - extern int selinux_policycap_extsockclass; - extern int selinux_policycap_alwaysnetwork; - extern int selinux_policycap_cgroupseclabel; -+extern int selinux_policycap_nnp_nosuid_transition; - - /* - * type_datum properties -diff --git a/security/selinux/ss/services.c b/security/selinux/ss/services.c -index 2f02fa67ec2e..16c55de21b9f 100644 ---- a/security/selinux/ss/services.c -+++ b/security/selinux/ss/services.c -@@ -76,7 +76,8 @@ char *selinux_policycap_names[__POLICYDB_CAPABILITY_MAX] = { - "open_perms", - "extended_socket_class", - "always_check_network", -- "cgroup_seclabel" -+ "cgroup_seclabel", -+ "nnp_nosuid_transition" - }; - - int selinux_policycap_netpeer; -@@ -84,6 +85,7 @@ int selinux_policycap_openperm; - int selinux_policycap_extsockclass; - int selinux_policycap_alwaysnetwork; - int selinux_policycap_cgroupseclabel; -+int selinux_policycap_nnp_nosuid_transition; - - static DEFINE_RWLOCK(policy_rwlock); - -@@ -2009,6 +2011,9 @@ static void security_load_policycaps(void) - selinux_policycap_cgroupseclabel = - ebitmap_get_bit(&policydb.policycaps, - POLICYDB_CAPABILITY_CGROUPSECLABEL); -+ selinux_policycap_nnp_nosuid_transition = -+ ebitmap_get_bit(&policydb.policycaps, -+ POLICYDB_CAPABILITY_NNP_NOSUID_TRANSITION); - - for (i = 0; i < ARRAY_SIZE(selinux_policycap_names); i++) - pr_info("SELinux: policy capability %s=%d\n", --- -2.14.3 - diff --git a/freed-ora/current/f26/silence-fbcon-logo.patch b/freed-ora/current/f26/silence-fbcon-logo.patch index b8f099679..2054b3c6b 100644 --- a/freed-ora/current/f26/silence-fbcon-logo.patch +++ b/freed-ora/current/f26/silence-fbcon-logo.patch @@ -6,13 +6,13 @@ Subject: [PATCH] silence fbcon logo Bugzilla: N/A Upstream-status: Fedora mustard --- - drivers/video/console/fbcon.c | 26 +++++++++++++++++++------- + drivers/video/fbdev/core/fbcon.c | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) -diff --git a/drivers/video/console/fbcon.c b/drivers/video/console/fbcon.c +diff --git a/drivers/video/fbdev/core/fbcon.c b/drivers/video/fbdev/core/fbcon.c index afd3301ac40c..2e08ba0ade3e 100644 ---- a/drivers/video/console/fbcon.c -+++ b/drivers/video/console/fbcon.c +--- a/drivers/video/fbdev/core/fbcon.c ++++ b/drivers/video/fbdev/core/fbcon.c @@ -634,13 +634,15 @@ static void fbcon_prepare_logo(struct vc_data *vc, struct fb_info *info, kfree(save); } @@ -36,10 +36,11 @@ index afd3301ac40c..2e08ba0ade3e 100644 } } #endif /* MODULE */ -@@ -3654,6 +3656,16 @@ static void __exit fb_console_exit(void) - - module_exit(fb_console_exit); - +@@ -3671,4 +3671,15 @@ void __exit fb_console_exit(void) + do_unregister_con_driver(&fb_con); + console_unlock(); + } ++ +#else + +static int __init quiet_logo(char *str) @@ -51,8 +52,6 @@ index afd3301ac40c..2e08ba0ade3e 100644 +early_param("quiet", quiet_logo); + #endif - - MODULE_LICENSE("GPL"); -- 2.7.4 diff --git a/freed-ora/current/f26/sources b/freed-ora/current/f26/sources index bc8cdd7ac..d7f582b6f 100644 --- a/freed-ora/current/f26/sources +++ b/freed-ora/current/f26/sources @@ -1,3 +1,3 @@ -SHA512 (linux-libre-4.13-gnu.tar.xz) = 9ad6866c68f29f7e4f8b53d0b857f9b3c7f6abd0054460675c76f3100db34a77c2777d7f4191831008b532cb2ab6f686d8c4f457a4d005226c73f90937963518 -SHA512 (perf-man-4.13.tar.gz) = 9bcc2cd8e56ec583ed2d8e0b0c88e7a94035a1915e40b3177bb02d6c0f10ddd4df9b097b1f5af59efc624226b613e240ddba8ddc2156f3682f992d5455fc5c03 -SHA512 (patch-4.13-gnu-4.13.16-gnu.xz) = 751c29a56114586cdbda0a6faafff97dfefa3e5a8f9d3e93bd1a37b7d9e5d9db5c9a574e601e252ea3d61ad9d4ce4544ff1d6a31ce12aaba7c4333296979f40a +SHA512 (linux-libre-4.14-gnu.tar.xz) = 0d4b0b8ec1ffc39c59295adf56f6a2cccf77cad56d8a8bf8072624bbb52ba3e684147ebed91d1528d2685423dd784c5fca0f3650f874f2b93cfc6b7689b9a87f +SHA512 (perf-man-4.14.tar.gz) = 76a9d8adc284cdffd4b3fbb060e7f9a14109267707ce1d03f4c3239cd70d8d164f697da3a0f90a363fbcac42a61d3c378afbcc2a86f112c501b9cb5ce74ef9f8 +SHA512 (patch-4.14-gnu-4.14.4-gnu.xz) = 36e1d7b03568436dab3a0fcbd37f57902f726bfb518fbe00faccb9cea6ecd1a56a063f35d88f2e9fb0f5aa750f787f9df3ce553a047c45329aa37a1e0060624a diff --git a/freed-ora/current/f26/v3-1-2-Input-synaptics-rmi4---RMI4-can-also-use-SMBUS-version-3.patch b/freed-ora/current/f26/v3-1-2-Input-synaptics-rmi4---RMI4-can-also-use-SMBUS-version-3.patch deleted file mode 100644 index 5a8825793..000000000 --- a/freed-ora/current/f26/v3-1-2-Input-synaptics-rmi4---RMI4-can-also-use-SMBUS-version-3.patch +++ /dev/null @@ -1,42 +0,0 @@ -From patchwork Sun Nov 5 17:09:50 2017 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [v3,1/2] Input: synaptics-rmi4 - RMI4 can also use SMBUS version 3 -From: Yiannis Marangos <yiannis.marangos@gmail.com> -X-Patchwork-Id: 10042385 -Message-Id: <20171105170951.20261-2-yiannis.marangos@gmail.com> -To: linux-input@vger.kernel.org, dmitry.torokhov@gmail.com -Cc: Yiannis Marangos <yiannis.marangos@gmail.com> -Date: Sun, 5 Nov 2017 19:09:50 +0200 - -Some synaptics devices such as LEN0073 use SMBUS version 3. - -Signed-off-by: Yiannis Marangos <yiannis.marangos@gmail.com> -Acked-by: Benjamin Tissoires <benjamion.tissoires@redhat.com> ---- - drivers/input/rmi4/rmi_smbus.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/drivers/input/rmi4/rmi_smbus.c b/drivers/input/rmi4/rmi_smbus.c -index 225025a0940c..b6ccf39c6a7b 100644 ---- a/drivers/input/rmi4/rmi_smbus.c -+++ b/drivers/input/rmi4/rmi_smbus.c -@@ -312,7 +312,7 @@ static int rmi_smb_probe(struct i2c_client *client, - rmi_smb->xport.dev = &client->dev; - rmi_smb->xport.pdata = *pdata; - rmi_smb->xport.pdata.irq = client->irq; -- rmi_smb->xport.proto_name = "smb2"; -+ rmi_smb->xport.proto_name = "smb"; - rmi_smb->xport.ops = &rmi_smb_ops; - - smbus_version = rmi_smb_get_version(rmi_smb); -@@ -322,7 +322,7 @@ static int rmi_smb_probe(struct i2c_client *client, - rmi_dbg(RMI_DEBUG_XPORT, &client->dev, "Smbus version is %d", - smbus_version); - -- if (smbus_version != 2) { -+ if (smbus_version != 2 && smbus_version != 3) { - dev_err(&client->dev, "Unrecognized SMB version %d\n", - smbus_version); - return -ENODEV; |