locking tree changes for v3.16
Subsystems (86)
Linus,
Please pull the latest locking-core-for-linus git tree from:
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git locking-core-for-linus
# HEAD: 3cf2f34e1a3d4d5ff209d087925cf950e52f4805 rwsem: Add comments to explain the meaning of the rwsem's count field
The main changes in this cycle were:
- reduced/streamlined smp_mb__*() interface that allows more usecases and makes the existing ones less buggy, especially in rarer architectures
- add rwsem implementation comments
- bump up lockdep limits
Thanks,
Ingo
------------------>
Peter Zijlstra (31):
ia64: Fix up smp_mb__{before,after}_clear_bit()
arc,hexagon: Delete asm/barrier.h
arch: Prepare for smp_mb__{before,after}_atomic()
arch,alpha: Convert smp_mb__*() to the asm-generic primitives
arch,arc: Convert smp_mb__*()
arch,arm: Convert smp_mb__*()
arch,arm64: Convert smp_mb__*()
arch,avr32: Convert smp_mb__*()
arch,blackfin: Convert smp_mb__*()
arch,c6x: Convert smp_mb__*()
arch,cris: Convert smp_mb__*()
arch,frv: Convert smp_mb__*()
arch,hexagon: Convert smp_mb__*()
arch,ia64: Convert smp_mb__*()
arch,m32r: Convert smp_mb__*()
arch,m68k: Convert smp_mb__*()
arch,metag: Convert smp_mb__*()
arch,mips: Convert smp_mb__*()
arch,mn10300: Convert smp_mb__*()
arch,openrisc: Convert smp_mb__*()
arch,parisc: Convert smp_mb__*()
arch,powerpc: Convert smp_mb__*()
arch,s390: Convert smp_mb__*()
arch,score: Convert smp_mb__*()
arch,sh: Convert smp_mb__*()
arch,sparc: Convert smp_mb__*()
arch,tile: Convert smp_mb__*()
arch,x86: Convert smp_mb__*()
arch,xtensa: Convert smp_mb__*()
arch,doc: Convert smp_mb__*()
arch: Mass conversion of smp_mb__*()Sasha Levin (1):
lockdep: Increase static allocations
Tim Chen (1):
rwsem: Add comments to explain the meaning of the rwsem's count field
Documentation/atomic_ops.txt | 31 +++++-------- Documentation/memory-barriers.txt | 42 +++++------------ arch/alpha/include/asm/atomic.h | 5 -- arch/alpha/include/asm/bitops.h | 3 -- arch/arc/include/asm/atomic.h | 5 -- arch/arc/include/asm/barrier.h | 37 --------------- arch/arc/include/asm/bitops.h | 5 +- arch/arm/include/asm/atomic.h | 5 -- arch/arm/include/asm/barrier.h | 3 ++ arch/arm/include/asm/bitops.h | 4 +- arch/arm64/include/asm/atomic.h | 5 -- arch/arm64/include/asm/barrier.h | 3 ++ arch/arm64/include/asm/bitops.h | 9 ---- arch/avr32/include/asm/atomic.h | 5 -- arch/avr32/include/asm/bitops.h | 9 +--- arch/blackfin/include/asm/barrier.h | 3 ++ arch/blackfin/include/asm/bitops.h | 14 +----- arch/c6x/include/asm/bitops.h | 8 +--- arch/cris/include/asm/atomic.h | 8 +--- arch/cris/include/asm/bitops.h | 9 +--- arch/frv/include/asm/atomic.h | 7 +-- arch/frv/include/asm/bitops.h | 6 --- arch/hexagon/include/asm/atomic.h | 6 +-- arch/hexagon/include/asm/barrier.h | 37 --------------- arch/hexagon/include/asm/bitops.h | 4 +- arch/ia64/include/asm/atomic.h | 7 +-- arch/ia64/include/asm/barrier.h | 3 ++ arch/ia64/include/asm/bitops.h | 9 +--- arch/ia64/include/uapi/asm/cmpxchg.h | 9 ++++ arch/m32r/include/asm/atomic.h | 7 +-- arch/m32r/include/asm/bitops.h | 6 +-- arch/m68k/include/asm/atomic.h | 8 +--- arch/m68k/include/asm/bitops.h | 7 +-- arch/metag/include/asm/atomic.h | 6 +-- arch/metag/include/asm/barrier.h | 3 ++ arch/metag/include/asm/bitops.h | 6 --- arch/mips/include/asm/atomic.h | 9 ---- arch/mips/include/asm/barrier.h | 3 ++ arch/mips/include/asm/bitops.h | 11 +---- arch/mips/kernel/irq.c | 4 +- arch/mn10300/include/asm/atomic.h | 7 +-- arch/mn10300/include/asm/bitops.h | 4 +- arch/mn10300/mm/tlb-smp.c | 4 +- arch/openrisc/include/asm/bitops.h | 9 +--- arch/parisc/include/asm/atomic.h | 6 +-- arch/parisc/include/asm/bitops.h | 4 +- arch/powerpc/include/asm/atomic.h | 6 +-- arch/powerpc/include/asm/barrier.h | 3 ++ arch/powerpc/include/asm/bitops.h | 6 +-- arch/powerpc/kernel/crash.c | 2 +- arch/s390/include/asm/atomic.h | 5 -- arch/s390/include/asm/barrier.h | 5 +- arch/score/include/asm/bitops.h | 7 +-- arch/sh/include/asm/atomic.h | 6 +-- arch/sh/include/asm/bitops.h | 7 +-- arch/sparc/include/asm/atomic_32.h | 7 +-- arch/sparc/include/asm/atomic_64.h | 7 +-- arch/sparc/include/asm/barrier_64.h | 3 ++ arch/sparc/include/asm/bitops_32.h | 3 -- arch/sparc/include/asm/bitops_64.h | 4 +- arch/tile/include/asm/atomic_32.h | 10 ---- arch/tile/include/asm/atomic_64.h | 6 --- arch/tile/include/asm/barrier.h | 14 ++++++ arch/tile/include/asm/bitops.h | 1 + arch/tile/include/asm/bitops_32.h | 8 +--- arch/tile/include/asm/bitops_64.h | 4 -- arch/x86/include/asm/atomic.h | 7 +-- arch/x86/include/asm/barrier.h | 4 ++ arch/x86/include/asm/bitops.h | 6 +-- arch/x86/include/asm/sync_bitops.h | 2 +- arch/x86/kernel/apic/hw_nmi.c | 2 +- arch/xtensa/include/asm/atomic.h | 7 +-- arch/xtensa/include/asm/barrier.h | 3 ++ arch/xtensa/include/asm/bitops.h | 4 +- block/blk-iopoll.c | 4 +- crypto/chainiv.c | 2 +- drivers/base/power/domain.c | 2 +- drivers/block/mtip32xx/mtip32xx.c | 4 +- drivers/cpuidle/coupled.c | 2 +- drivers/firewire/ohci.c | 2 +- drivers/gpu/drm/drm_irq.c | 10 ++-- drivers/gpu/drm/i915/i915_irq.c | 2 +- drivers/md/bcache/bcache.h | 2 +- drivers/md/bcache/closure.h | 2 +- drivers/md/dm-bufio.c | 8 ++-- drivers/md/dm-snap.c | 4 +- drivers/md/dm.c | 2 +- drivers/md/raid5.c | 2 +- drivers/media/usb/dvb-usb-v2/dvb_usb_core.c | 6 +-- drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c | 6 +-- drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c | 18 ++++---- drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.c | 26 +++++------ drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c | 8 ++-- drivers/net/ethernet/broadcom/cnic.c | 8 ++-- drivers/net/ethernet/brocade/bna/bnad.c | 6 +-- drivers/net/ethernet/chelsio/cxgb/cxgb2.c | 2 +- drivers/net/ethernet/chelsio/cxgb3/sge.c | 6 +-- drivers/net/ethernet/chelsio/cxgb4/sge.c | 2 +- drivers/net/ethernet/chelsio/cxgb4vf/sge.c | 2 +- drivers/net/ethernet/freescale/gianfar.c | 8 ++-- drivers/net/ethernet/intel/i40e/i40e_main.c | 2 +- drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 8 ++-- drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 6 +-- drivers/net/wireless/ti/wlcore/main.c | 2 +- drivers/pci/xen-pcifront.c | 4 +- drivers/scsi/isci/remote_device.c | 2 +- drivers/target/loopback/tcm_loop.c | 4 +- drivers/target/target_core_alua.c | 26 +++++------ drivers/target/target_core_device.c | 6 +-- drivers/target/target_core_iblock.c | 2 +- drivers/target/target_core_pr.c | 56 +++++++++++------------ drivers/target/target_core_transport.c | 16 +++---- drivers/target/target_core_ua.c | 10 ++-- drivers/tty/n_tty.c | 2 +- drivers/tty/serial/mxs-auart.c | 4 +- drivers/usb/gadget/tcm_usb_gadget.c | 4 +- drivers/usb/serial/usb_wwan.c | 2 +- drivers/vhost/scsi.c | 2 +- drivers/w1/w1_family.c | 4 +- drivers/xen/xen-pciback/pciback_ops.c | 4 +- fs/btrfs/btrfs_inode.h | 2 +- fs/btrfs/extent_io.c | 2 +- fs/btrfs/inode.c | 6 +-- fs/btrfs/ioctl.c | 2 +- fs/buffer.c | 2 +- fs/ext4/resize.c | 2 +- fs/gfs2/glock.c | 8 ++-- fs/gfs2/glops.c | 2 +- fs/gfs2/lock_dlm.c | 4 +- fs/gfs2/recovery.c | 2 +- fs/gfs2/sys.c | 4 +- fs/jbd2/commit.c | 6 +-- fs/nfs/dir.c | 12 ++--- fs/nfs/inode.c | 2 +- fs/nfs/nfs4filelayoutdev.c | 4 +- fs/nfs/nfs4state.c | 4 +- fs/nfs/pagelist.c | 6 +-- fs/nfs/pnfs.c | 2 +- fs/nfs/pnfs.h | 2 +- fs/nfs/write.c | 4 +- fs/ubifs/lpt_commit.c | 4 +- fs/ubifs/tnc_commit.c | 4 +- include/asm-generic/atomic.h | 7 +-- include/asm-generic/barrier.h | 8 ++++ include/asm-generic/bitops.h | 9 +--- include/asm-generic/bitops/atomic.h | 2 +- include/asm-generic/bitops/lock.h | 2 +- include/linux/atomic.h | 36 +++++++++++++++ include/linux/bitops.h | 20 ++++++++ include/linux/buffer_head.h | 2 +- include/linux/genhd.h | 2 +- include/linux/interrupt.h | 8 ++-- include/linux/netdevice.h | 2 +- include/linux/sched.h | 6 +-- include/linux/sunrpc/sched.h | 8 ++-- include/linux/sunrpc/xprt.h | 8 ++-- include/linux/tracehook.h | 2 +- include/net/ip_vs.h | 4 +- kernel/debug/debug_core.c | 4 +- kernel/futex.c | 4 +- kernel/kmod.c | 2 +- kernel/locking/lockdep_internals.h | 6 +-- kernel/locking/rwsem-xadd.c | 49 ++++++++++++++++++++ kernel/rcu/tree.c | 22 ++++----- kernel/rcu/tree_plugin.h | 8 ++-- kernel/sched/core.c | 16 +++++++ kernel/sched/cpupri.c | 6 +-- kernel/sched/wait.c | 2 +- mm/backing-dev.c | 2 +- mm/filemap.c | 4 +- net/atm/pppoatm.c | 2 +- net/bluetooth/hci_event.c | 4 +- net/core/dev.c | 8 ++-- net/core/link_watch.c | 2 +- net/ipv4/inetpeer.c | 2 +- net/ipv4/tcp_output.c | 4 +- net/netfilter/nf_conntrack_core.c | 2 +- net/rds/ib_recv.c | 4 +- net/rds/iw_recv.c | 4 +- net/rds/send.c | 6 +-- net/rds/tcp_send.c | 2 +- net/sunrpc/auth.c | 2 +- net/sunrpc/auth_gss/auth_gss.c | 2 +- net/sunrpc/backchannel_rqst.c | 4 +- net/sunrpc/xprt.c | 4 +- net/sunrpc/xprtsock.c | 16 +++---- net/unix/af_unix.c | 2 +- sound/pci/bt87x.c | 4 +- 188 files changed, 551 insertions(+), 726 deletions(-) delete mode 100644 arch/arc/include/asm/barrier.h delete mode 100644 arch/hexagon/include/asm/barrier.h
Documentation/atomic_ops.txt +12 -19
@@ -285,15 +285,13 @@ If a caller requires memory barrier semantics around an atomic_t operation which does not return a value, a set of interfaces are defined which accomplish this: - void smp_mb__before_atomic_dec(void); - void smp_mb__after_atomic_dec(void); - void smp_mb__before_atomic_inc(void); - void smp_mb__after_atomic_inc(void); + void smp_mb__before_atomic(void); + void smp_mb__after_atomic(void); -For example, smp_mb__before_atomic_dec() can be used like so: +For example, smp_mb__before_atomic() can be used like so: obj->dead = 1; - smp_mb__before_atomic_dec(); + smp_mb__before_atomic(); atomic_dec(&obj->ref_count); It makes sure that all memory operations preceding the atomic_dec()
@@ -302,15 +300,10 @@ operation. In the above example, it guarantees that the assignment of "1" to obj->dead will be globally visible to other cpus before the atomic counter decrement. -Without the explicit smp_mb__before_atomic_dec() call, the +Without the explicit smp_mb__before_atomic() call, the implementation could legally allow the atomic counter update visible to other cpus before the "obj->dead = 1;" assignment. -The other three interfaces listed are used to provide explicit -ordering with respect to memory operations after an atomic_dec() call -(smp_mb__after_atomic_dec()) and around atomic_inc() calls -(smp_mb__{before,after}_atomic_inc()). - A missing memory barrier in the cases where they are required by the atomic_t implementation above can have disastrous results. Here is an example, which follows a pattern occurring frequently in the Linux
@@ -487,12 +480,12 @@ Finally there is the basic operation: Which returns a boolean indicating if bit "nr" is set in the bitmask pointed to by "addr". -If explicit memory barriers are required around clear_bit() (which -does not return a value, and thus does not need to provide memory -barrier semantics), two interfaces are provided: +If explicit memory barriers are required around {set,clear}_bit() (which do +not return a value, and thus does not need to provide memory barrier +semantics), two interfaces are provided: - void smp_mb__before_clear_bit(void); - void smp_mb__after_clear_bit(void); + void smp_mb__before_atomic(void); + void smp_mb__after_atomic(void); They are used as follows, and are akin to their atomic_t operation brothers:
@@ -500,13 +493,13 @@ brothers: /* All memory operations before this call will * be globally visible before the clear_bit(). */ - smp_mb__before_clear_bit(); + smp_mb__before_atomic(); clear_bit( ... ); /* The clear_bit() will be visible before all * subsequent memory operations. */ - smp_mb__after_clear_bit(); + smp_mb__after_atomic(); There are two special bitops with lock barrier semantics (acquire/release, same as spinlocks). These operate in the same way as their non-_lock/unlock
Documentation/memory-barriers.txt +11 -31
69 lines not on this page · raw message
arch/alpha/include/asm/atomic.h +0 -5
@@ -292,9 +292,4 @@ static inline long atomic64_dec_if_positive(atomic64_t *v)#define atomic_dec (v) atomic_sub(1,(v))#define atomic64_dec (v) atomic64_sub(1,(v)) -#define smp_mb__before_atomic_dec () smp_mb() -#define smp_mb__after_atomic_dec () smp_mb() -#define smp_mb__before_atomic_inc () smp_mb() -#define smp_mb__after_atomic_inc () smp_mb() -#endif /* _ALPHA_ATOMIC_H */
arch/alpha/include/asm/bitops.h +0 -3
@@ -53,9 +53,6 @@ __set_bit(unsigned long nr, volatile void * addr) *m |=1 << (nr &31 ); } -#define smp_mb__before_clear_bit () smp_mb() -#define smp_mb__after_clear_bit () smp_mb() -static inline void clear_bit (unsigned long nr,volatile void * addr) {
arch/arc/include/asm/atomic.h +0 -5
@@ -190,11 +190,6 @@ static inline void atomic_clear_mask(unsigned long mask, unsigned long *addr)#endif /* !CONFIG_ARC_HAS_LLSC */ -#define smp_mb__before_atomic_dec () barrier() -#define smp_mb__after_atomic_dec () barrier() -#define smp_mb__before_atomic_inc () barrier() -#define smp_mb__after_atomic_inc () barrier() -/** * __atomic_add_unless - add unless the number is a given value * @v: pointer of type atomic_t
arch/arc/include/asm/barrier.h deleted +0 -37
@@ -1,37 +0,0 @@ -/* -* Copyright (C) 2004, 2007-2010, 2011-2012 Synopsys, Inc. (www.synopsys.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. -*/ - -#ifndef __ASM_BARRIER_H -#define __ASM_BARRIER_H - -#ifndef __ASSEMBLY__ - -/* TODO-vineetg: Need to see what this does, don't we need sync anywhere */ -#define mb () __asm__ __volatile__ ("" : : : "memory") -#define rmb () mb() -#define wmb () mb() -#define set_mb (var, value) do { var = value; mb(); } while (0) -#define set_wmb (var, value) do { var = value; wmb(); } while (0) -#define read_barrier_depends () mb() - -/* TODO-vineetg verify the correctness of macros here */ -#ifdef CONFIG_SMP -#define smp_mb () mb() -#define smp_rmb () rmb() -#define smp_wmb () wmb() -#else -#define smp_mb () barrier() -#define smp_rmb () barrier() -#define smp_wmb () barrier() -#endif - -#define smp_read_barrier_depends () do { } while (0) - -#endif - -#endif
arch/arc/include/asm/bitops.h +1 -4
@@ -19,6 +19,7 @@#include <linux/types.h> #include <linux/compiler.h> +#include <asm/barrier.h> /* * Hardware assisted read-modify-write using ARC700 LLOCK/SCOND insns.
@@ -496,10 +497,6 @@ static inline __attribute__ ((const)) int __ffs(unsigned long word)*/ #define ffz (x) __ffs(~(x)) -/* TODO does this affect uni-processor code */ -#define smp_mb__before_clear_bit () barrier() -#define smp_mb__after_clear_bit () barrier() -#include <asm-generic/bitops/hweight.h> #include <asm-generic/bitops/fls64.h> #include <asm-generic/bitops/sched.h>
arch/arm/include/asm/atomic.h +0 -5
@@ -241,11 +241,6 @@ static inline int __atomic_add_unless(atomic_t *v, int a, int u)#define atomic_add_negative (i,v) (atomic_add_return(i, v) < 0) -#define smp_mb__before_atomic_dec () smp_mb() -#define smp_mb__after_atomic_dec () smp_mb() -#define smp_mb__before_atomic_inc () smp_mb() -#define smp_mb__after_atomic_inc () smp_mb() - #ifndef CONFIG_GENERIC_ATOMIC64 typedef struct { long long counter;
arch/arm/include/asm/barrier.h +3 -0
@@ -79,5 +79,8 @@ do { \#define set_mb (var, value) do { var = value; smp_mb(); } while (0) +#define smp_mb__before_atomic () smp_mb() +#define smp_mb__after_atomic () smp_mb() +#endif /* !__ASSEMBLY__ */ #endif /* __ASM_BARRIER_H */
arch/arm/include/asm/bitops.h +1 -3
@@ -25,9 +25,7 @@#include <linux/compiler.h> #include <linux/irqflags.h> - -#define smp_mb__before_clear_bit () smp_mb() -#define smp_mb__after_clear_bit () smp_mb() +#include <asm/barrier.h> /* * These functions are the basis of our bit ops.
arch/arm64/include/asm/atomic.h +0 -5
@@ -152,11 +152,6 @@ static inline int __atomic_add_unless(atomic_t *v, int a, int u)#define atomic_add_negative (i,v) (atomic_add_return(i, v) < 0) -#define smp_mb__before_atomic_dec () smp_mb() -#define smp_mb__after_atomic_dec () smp_mb() -#define smp_mb__before_atomic_inc () smp_mb() -#define smp_mb__after_atomic_inc () smp_mb() -/* * 64-bit atomic operations. */
arch/arm64/include/asm/barrier.h +3 -0
@@ -98,6 +98,9 @@ do { \#define set_mb (var, value) do { var = value; smp_mb(); } while (0)#define nop () asm volatile("nop"); +#define smp_mb__before_atomic () smp_mb() +#define smp_mb__after_atomic () smp_mb() +#endif /* __ASSEMBLY__ */ #endif /* __ASM_BARRIER_H */
arch/arm64/include/asm/bitops.h +0 -9
@@ -17,17 +17,8 @@#define __ASM_BITOPS_H#include <linux/compiler.h> -#include <asm/barrier.h> -/* -* clear_bit may not imply a memory barrier -*/ -#ifndef smp_mb__before_clear_bit -#define smp_mb__before_clear_bit () smp_mb() -#define smp_mb__after_clear_bit () smp_mb() -#endif -#ifndef _LINUX_BITOPS_H#error only <linux/bitops.h> can be included directly#endif
arch/avr32/include/asm/atomic.h +0 -5
@@ -183,9 +183,4 @@ static inline int atomic_sub_if_positive(int i, atomic_t *v)#define atomic_dec_if_positive (v) atomic_sub_if_positive(1, v) -#define smp_mb__before_atomic_dec () barrier() -#define smp_mb__after_atomic_dec () barrier() -#define smp_mb__before_atomic_inc () barrier() -#define smp_mb__after_atomic_inc () barrier() -#endif /* __ASM_AVR32_ATOMIC_H */
arch/avr32/include/asm/bitops.h +2 -7
@@ -13,12 +13,7 @@#endif #include <asm/byteorder.h> - -/* -* clear_bit() doesn't provide any barrier for the compiler -*/ -#define smp_mb__before_clear_bit () barrier() -#define smp_mb__after_clear_bit () barrier() +#include <asm/barrier.h> /* * set_bit - Atomically set a bit in memory
@@ -67,7 +62,7 @@ static inline void set_bit(int nr, volatile void * addr)* * clear_bit() is atomic and may not be reordered. However, it does * not contain a memory barrier, so if it is used for locking purposes, -* you should call smp_mb__before_clear_bit() and/or smp_mb__after_clear_bit() +* you should call smp_mb__before_atomic() and/or smp_mb__after_atomic() * in order to ensure changes are visible on other processors. */ static inline void clear_bit (int nr,volatile void * addr)
arch/blackfin/include/asm/barrier.h +3 -0
@@ -27,6 +27,9 @@#endif /* !CONFIG_SMP */ +#define smp_mb__before_atomic () barrier() +#define smp_mb__after_atomic () barrier() +#include <asm-generic/barrier.h> #endif /* _BLACKFIN_BARRIER_H */
arch/blackfin/include/asm/bitops.h +2 -12
@@ -27,21 +27,17 @@#include <asm-generic/bitops/ext2-atomic.h> +#include <asm/barrier.h> +#ifndef CONFIG_SMP #include <linux/irqflags.h> -/* * clear_bit may not imply a memory barrier */ -#ifndef smp_mb__before_clear_bit -#define smp_mb__before_clear_bit () smp_mb() -#define smp_mb__after_clear_bit () smp_mb() -#endif #include <asm-generic/bitops/atomic.h> #include <asm-generic/bitops/non-atomic.h> #else -#include <asm/barrier.h> #include <asm/byteorder.h> /* swab32 */ #include <linux/linkage.h>
@@ -101,12 +97,6 @@ static inline int test_and_change_bit(int nr, volatile unsigned long *addr)return __raw_bit_test_toggle_asm (a, nr &0x1f ); } -/* -* clear_bit() doesn't provide any barrier for the compiler. -*/ -#define smp_mb__before_clear_bit () barrier() -#define smp_mb__after_clear_bit () barrier() -#define test_bit __skip_test_bit#include <asm-generic/bitops/non-atomic.h> #undef test_bit
arch/c6x/include/asm/bitops.h +1 -7
@@ -14,14 +14,8 @@#ifdef __KERNEL__#include <linux/bitops.h> -#include <asm/byteorder.h> - -/* -* clear_bit() doesn't provide any barrier for the compiler. -*/ -#define smp_mb__before_clear_bit () barrier() -#define smp_mb__after_clear_bit () barrier() +#include <asm/barrier.h> /* * We are lucky, DSP is perfect for bitops: do it in 3 cycles
arch/cris/include/asm/atomic.h +2 -6
@@ -7,6 +7,8 @@#include <linux/types.h> #include <asm/cmpxchg.h> #include <arch/atomic.h> +#include <arch/system.h> +#include <asm/barrier.h> /* * Atomic operations that C can't guarantee us. Useful for
@@ -151,10 +153,4 @@ static inline int __atomic_add_unless(atomic_t *v, int a, int u) return ret; } -/* Atomic operations are already serializing */ -#define smp_mb__before_atomic_dec () barrier() -#define smp_mb__after_atomic_dec () barrier() -#define smp_mb__before_atomic_inc () barrier() -#define smp_mb__after_atomic_inc () barrier() -#endif
arch/cris/include/asm/bitops.h +2 -7
@@ -21,6 +21,7 @@#include <arch/bitops.h> #include <linux/atomic.h> #include <linux/compiler.h> +#include <asm/barrier.h> /* * set_bit - Atomically set a bit in memory
@@ -42,7 +43,7 @@* * clear_bit() is atomic and may not be reordered. However, it does * not contain a memory barrier, so if it is used for locking purposes, -* you should call smp_mb__before_clear_bit() and/or smp_mb__after_clear_bit() +* you should call smp_mb__before_atomic() and/or smp_mb__after_atomic() * in order to ensure changes are visible on other processors. */
@@ -84,12 +85,6 @@ static inline int test_and_set_bit(int nr, volatile unsigned long *addr)return retval; } -/* -* clear_bit() doesn't provide any barrier for the compiler. -*/ -#define smp_mb__before_clear_bit () barrier() -#define smp_mb__after_clear_bit () barrier() -/** * test_and_clear_bit - Clear a bit and return its old value * @nr: Bit to clear
arch/frv/include/asm/atomic.h +1 -6
@@ -17,6 +17,7 @@#include <linux/types.h> #include <asm/spr-regs.h> #include <asm/cmpxchg.h> +#include <asm/barrier.h> #ifdef CONFIG_SMP #error not SMP safe
@@ -29,12 +30,6 @@* We do not have SMP systems, so we don't have to deal with that. */ -/* Atomic operations are already serializing */ -#define smp_mb__before_atomic_dec () barrier() -#define smp_mb__after_atomic_dec () barrier() -#define smp_mb__before_atomic_inc () barrier() -#define smp_mb__after_atomic_inc () barrier() -#define ATOMIC_INIT (i) { (i) }#define atomic_read (v) (*(volatile int *)&(v)->counter)#define atomic_set (v, i) (((v)->counter) = (i))
arch/frv/include/asm/bitops.h +0 -6
@@ -25,12 +25,6 @@#include <asm-generic/bitops/ffz.h> -/* -* clear_bit() doesn't provide any barrier for the compiler. -*/ -#define smp_mb__before_clear_bit () barrier() -#define smp_mb__after_clear_bit () barrier() -#ifndef CONFIG_FRV_OUTOFLINE_ATOMIC_OPS static inline unsigned long atomic_test_and_ANDNOT_mask (unsigned long mask,volatile unsigned long *v)
arch/hexagon/include/asm/atomic.h +1 -5
@@ -24,6 +24,7 @@#include <linux/types.h> #include <asm/cmpxchg.h> +#include <asm/barrier.h> #define ATOMIC_INIT (i) { (i) }
@@ -176,9 +177,4 @@ static inline int __atomic_add_unless(atomic_t *v, int a, int u)#define atomic_inc_return (v) (atomic_add_return(1, v))#define atomic_dec_return (v) (atomic_sub_return(1, v)) -#define smp_mb__before_atomic_dec () barrier() -#define smp_mb__after_atomic_dec () barrier() -#define smp_mb__before_atomic_inc () barrier() -#define smp_mb__after_atomic_inc () barrier() -#endif
arch/hexagon/include/asm/barrier.h deleted +0 -37
@@ -1,37 +0,0 @@ -/* -* Memory barrier definitions for the Hexagon architecture -* -* Copyright (c) 2010-2011, The Linux Foundation. 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 and -* only 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., 51 Franklin Street, Fifth Floor, Boston, MA -* 02110-1301, USA. -*/ - -#ifndef _ASM_BARRIER_H -#define _ASM_BARRIER_H - -#define rmb () barrier() -#define read_barrier_depends () barrier() -#define wmb () barrier() -#define mb () barrier() -#define smp_rmb () barrier() -#define smp_read_barrier_depends () barrier() -#define smp_wmb () barrier() -#define smp_mb () barrier() - -/* Set a value and use a memory barrier. Used by the scheduler somewhere. */ -#define set_mb (var, value) \ - do { var = value; mb(); } while (0) - -#endif /* _ASM_BARRIER_H */
arch/hexagon/include/asm/bitops.h +1 -3
@@ -25,12 +25,10 @@#include <linux/compiler.h> #include <asm/byteorder.h> #include <asm/atomic.h> +#include <asm/barrier.h> #ifdef __KERNEL__ -#define smp_mb__before_clear_bit () barrier() -#define smp_mb__after_clear_bit () barrier() -/* * The offset calculations for these are based on BITS_PER_LONG == 32 * (i.e. I get to shift by #5-2 (32 bits per long, 4 bytes per access),
arch/ia64/include/asm/atomic.h +1 -6
@@ -15,6 +15,7 @@#include <linux/types.h> #include <asm/intrinsics.h> +#include <asm/barrier.h> #define ATOMIC_INIT (i) { (i) }
@@ -208,10 +209,4 @@ atomic64_add_negative (__s64 i, atomic64_t *v)#define atomic64_inc (v) atomic64_add(1, (v))#define atomic64_dec (v) atomic64_sub(1, (v)) -/* Atomic operations are already serializing */ -#define smp_mb__before_atomic_dec () barrier() -#define smp_mb__after_atomic_dec () barrier() -#define smp_mb__before_atomic_inc () barrier() -#define smp_mb__after_atomic_inc () barrier() -#endif /* _ASM_IA64_ATOMIC_H */
arch/ia64/include/asm/barrier.h +3 -0
@@ -55,6 +55,9 @@#endif +#define smp_mb__before_atomic () barrier() +#define smp_mb__after_atomic () barrier() +/* * IA64 GCC turns volatile stores into st.rel and volatile loads into ld.acq no * need for asm trickery!
arch/ia64/include/asm/bitops.h +2 -7
@@ -16,6 +16,7 @@#include <linux/compiler.h> #include <linux/types.h> #include <asm/intrinsics.h> +#include <asm/barrier.h> /** * set_bit - Atomically set a bit in memory
@@ -65,12 +66,6 @@ __set_bit (int nr, volatile void *addr) *((__u32 *) addr + (nr >>5 )) |= (1 << (nr &31 )); } -/* -* clear_bit() has "acquire" semantics. -*/ -#define smp_mb__before_clear_bit () smp_mb() -#define smp_mb__after_clear_bit () do {/* skip */ ; }while (0 ) -/** * clear_bit - Clears a bit in memory * @nr: Bit to clear
@@ -78,7 +73,7 @@ __set_bit (int nr, volatile void *addr)* * clear_bit() is atomic and may not be reordered. However, it does * not contain a memory barrier, so if it is used for locking purposes, -* you should call smp_mb__before_clear_bit() and/or smp_mb__after_clear_bit() +* you should call smp_mb__before_atomic() and/or smp_mb__after_atomic() * in order to ensure changes are visible on other processors. */ static __inline__ void
arch/ia64/include/uapi/asm/cmpxchg.h +9 -0
@@ -118,6 +118,15 @@ extern long ia64_cmpxchg_called_with_bad_pointer(void);#define cmpxchg_rel (ptr, o, n) \ ia64_cmpxchg(rel, (ptr), (o), (n), sizeof(*(ptr))) +/* +* Worse still - early processor implementations actually just ignored +* the acquire/release and did a full fence all the time. Unfortunately +* this meant a lot of badly written code that used .acq when they really +* wanted .rel became legacy out in the wild - so when we made a cpu +* that strictly did the .acq or .rel ... all that code started breaking - so +* we had to back-pedal and keep the "legacy" behavior of a full fence :-( +*/ +/* for compatibility with other platforms: */ #define cmpxchg (ptr, o, n) cmpxchg_acq((ptr), (o), (n))#define cmpxchg64 (ptr, o, n) cmpxchg_acq((ptr), (o), (n))
arch/m32r/include/asm/atomic.h +1 -6
@@ -13,6 +13,7 @@#include <asm/assembler.h> #include <asm/cmpxchg.h> #include <asm/dcache_clear.h> +#include <asm/barrier.h> /* * Atomic operations that C can't guarantee us. Useful for
@@ -308,10 +309,4 @@ static __inline__ void atomic_set_mask(unsigned long mask, atomic_t *addr) local_irq_restore(flags); } -/* Atomic operations are already serializing on m32r */ -#define smp_mb__before_atomic_dec () barrier() -#define smp_mb__after_atomic_dec () barrier() -#define smp_mb__before_atomic_inc () barrier() -#define smp_mb__after_atomic_inc () barrier() -#endif /* _ASM_M32R_ATOMIC_H */
arch/m32r/include/asm/bitops.h +2 -4
@@ -21,6 +21,7 @@#include <asm/byteorder.h> #include <asm/dcache_clear.h> #include <asm/types.h> +#include <asm/barrier.h> /* * These have to be done with inline assembly: that way the bit-setting
@@ -73,7 +74,7 @@ static __inline__ void set_bit(int nr, volatile void * addr)* * clear_bit() is atomic and may not be reordered. However, it does * not contain a memory barrier, so if it is used for locking purposes, -* you should call smp_mb__before_clear_bit() and/or smp_mb__after_clear_bit() +* you should call smp_mb__before_atomic() and/or smp_mb__after_atomic() * in order to ensure changes are visible on other processors. */ static __inline__void clear_bit (int nr,volatile void * addr)
@@ -103,9 +104,6 @@ static __inline__ void clear_bit(int nr, volatile void * addr)local_irq_restore (flags); } -#define smp_mb__before_clear_bit () barrier() -#define smp_mb__after_clear_bit () barrier() -/** * change_bit - Toggle a bit in memory * @nr: Bit to clear
arch/m68k/include/asm/atomic.h +1 -7
@@ -4,6 +4,7 @@#include <linux/types.h> #include <linux/irqflags.h> #include <asm/cmpxchg.h> +#include <asm/barrier.h> /* * Atomic operations that C can't guarantee us. Useful for
@@ -209,11 +210,4 @@ static __inline__ int __atomic_add_unless(atomic_t *v, int a, int u) return c; } - -/* Atomic operations are already serializing */ -#define smp_mb__before_atomic_dec () barrier() -#define smp_mb__after_atomic_dec () barrier() -#define smp_mb__before_atomic_inc () barrier() -#define smp_mb__after_atomic_inc () barrier() -#endif /* __ARCH_M68K_ATOMIC __ */
arch/m68k/include/asm/bitops.h +1 -6
@@ -13,6 +13,7 @@#endif #include <linux/compiler.h> +#include <asm/barrier.h> /* * Bit access functions vary across the ColdFire and 68k families.
@@ -67,12 +68,6 @@ static inline void bfset_mem_set_bit(int nr, volatile unsigned long *vaddr)#define __set_bit (nr, vaddr) set_bit(nr, vaddr) -/* -* clear_bit() doesn't provide any barrier for the compiler. -*/ -#define smp_mb__before_clear_bit () barrier() -#define smp_mb__after_clear_bit () barrier() -static inline void bclr_reg_clear_bit (int nr,volatile unsigned long *vaddr) {char *p = (char *)vaddr + (nr ^31 ) /8 ;
arch/metag/include/asm/atomic.h +1 -5
@@ -4,6 +4,7 @@#include <linux/compiler.h> #include <linux/types.h> #include <asm/cmpxchg.h> +#include <asm/barrier.h> #if defined(CONFIG_METAG_ATOMICITY_IRQSOFF )/* The simple UP case. */
@@ -39,11 +40,6 @@#define atomic_inc_not_zero (v) atomic_add_unless((v), 1, 0) -#define smp_mb__before_atomic_dec () barrier() -#define smp_mb__after_atomic_dec () barrier() -#define smp_mb__before_atomic_inc () barrier() -#define smp_mb__after_atomic_inc () barrier() -#endif #define atomic_dec_if_positive (v) atomic_sub_if_positive(1, v)
arch/metag/include/asm/barrier.h +3 -0
@@ -97,4 +97,7 @@ do { \ ___p1; \ }) +#define smp_mb__before_atomic () barrier() +#define smp_mb__after_atomic () barrier() +#endif /* _ASM_METAG_BARRIER_H */
arch/metag/include/asm/bitops.h +0 -6
@@ -5,12 +5,6 @@#include <asm/barrier.h> #include <asm/global_lock.h> -/* -* clear_bit() doesn't provide any barrier for the compiler. -*/ -#define smp_mb__before_clear_bit () barrier() -#define smp_mb__after_clear_bit () barrier() -#ifdef CONFIG_SMP /* * These functions are the basis of our bit ops.
arch/mips/include/asm/atomic.h +0 -9
@@ -761,13 +761,4 @@ static __inline__ int atomic64_add_unless(atomic64_t *v, long a, long u)#endif /* CONFIG_64BIT */ -/* -* atomic*_return operations are serializing but not the non-*_return -* versions. -*/ -#define smp_mb__before_atomic_dec () smp_mb__before_llsc() -#define smp_mb__after_atomic_dec () smp_llsc_mb() -#define smp_mb__before_atomic_inc () smp_mb__before_llsc() -#define smp_mb__after_atomic_inc () smp_llsc_mb() -#endif /* _ASM_ATOMIC_H */
arch/mips/include/asm/barrier.h +3 -0
@@ -195,4 +195,7 @@ do { \ ___p1; \ }) +#define smp_mb__before_atomic () smp_mb__before_llsc() +#define smp_mb__after_atomic () smp_llsc_mb() +#endif /* __ASM_BARRIER_H */
arch/mips/include/asm/bitops.h +2 -9
@@ -38,13 +38,6 @@#endif /* -* clear_bit() doesn't provide any barrier for the compiler. -*/ -#define smp_mb__before_clear_bit () smp_mb__before_llsc() -#define smp_mb__after_clear_bit () smp_llsc_mb() - - -/* * These are the "slower" versions of the functions and are in bitops.c. * These functions call raw_local_irq_{save,restore}(). */
@@ -120,7 +113,7 @@ static inline void set_bit(unsigned long nr, volatile unsigned long *addr)* * clear_bit() is atomic and may not be reordered. However, it does * not contain a memory barrier, so if it is used for locking purposes, -* you should call smp_mb__before_clear_bit() and/or smp_mb__after_clear_bit() +* you should call smp_mb__before_atomic() and/or smp_mb__after_atomic() * in order to ensure changes are visible on other processors. */ static inline void clear_bit (unsigned long nr,volatile unsigned long *addr)
@@ -175,7 +168,7 @@ static inline void clear_bit(unsigned long nr, volatile unsigned long *addr)*/ static inline void clear_bit_unlock (unsigned long nr,volatile unsigned long *addr) { -smp_mb__before_clear_bit (); +smp_mb__before_atomic ();clear_bit (nr, addr); }
arch/mips/kernel/irq.c +2 -2
@@ -62,9 +62,9 @@ void __init alloc_legacy_irqno(void)void free_irqno (unsigned int irq) { -smp_mb__before_clear_bit (); +smp_mb__before_atomic ();clear_bit (irq, irq_map); -smp_mb__after_clear_bit (); +smp_mb__after_atomic (); }/*
arch/mn10300/include/asm/atomic.h +1 -6
@@ -13,6 +13,7 @@#include <asm/irqflags.h> #include <asm/cmpxchg.h> +#include <asm/barrier.h> #ifndef CONFIG_SMP #include <asm-generic/atomic.h>
@@ -234,12 +235,6 @@ static inline void atomic_set_mask(unsigned long mask, unsigned long *addr)#endif } -/* Atomic operations are already serializing on MN10300??? */ -#define smp_mb__before_atomic_dec () barrier() -#define smp_mb__after_atomic_dec () barrier() -#define smp_mb__before_atomic_inc () barrier() -#define smp_mb__after_atomic_inc () barrier() -#endif /* __KERNEL__ */ #endif /* CONFIG_SMP */ #endif /* _ASM_ATOMIC_H */
arch/mn10300/include/asm/bitops.h +1 -3
@@ -18,9 +18,7 @@#define __ASM_BITOPS_H#include <asm/cpu-regs.h> - -#define smp_mb__before_clear_bit () barrier() -#define smp_mb__after_clear_bit () barrier() +#include <asm/barrier.h> /* * set bit
arch/mn10300/mm/tlb-smp.c +2 -2
@@ -78,9 +78,9 @@ void smp_flush_tlb(void *unused)else local_flush_tlb_page (flush_mm, flush_va); -smp_mb__before_clear_bit (); +smp_mb__before_atomic ();cpumask_clear_cpu (cpu_id, &flush_cpumask); -smp_mb__after_clear_bit (); +smp_mb__after_atomic (); out:put_cpu (); }
arch/openrisc/include/asm/bitops.h +1 -8
@@ -27,14 +27,7 @@#include <linux/irqflags.h> #include <linux/compiler.h> - -/* -* clear_bit may not imply a memory barrier -*/ -#ifndef smp_mb__before_clear_bit -#define smp_mb__before_clear_bit () smp_mb() -#define smp_mb__after_clear_bit () smp_mb() -#endif +#include <asm/barrier.h> #include <asm/bitops/__ffs.h> #include <asm-generic/bitops/ffz.h>
arch/parisc/include/asm/atomic.h +1 -5
@@ -7,6 +7,7 @@#include <linux/types.h> #include <asm/cmpxchg.h> +#include <asm/barrier.h> /* * Atomic operations that C can't guarantee us. Useful for
@@ -143,11 +144,6 @@ static __inline__ int __atomic_add_unless(atomic_t *v, int a, int u)#define ATOMIC_INIT (i) { (i) } -#define smp_mb__before_atomic_dec () smp_mb() -#define smp_mb__after_atomic_dec () smp_mb() -#define smp_mb__before_atomic_inc () smp_mb() -#define smp_mb__after_atomic_inc () smp_mb() -#ifdef CONFIG_64BIT #define ATOMIC64_INIT (i) { (i) }
arch/parisc/include/asm/bitops.h +1 -3
@@ -8,6 +8,7 @@#include <linux/compiler.h> #include <asm/types.h> /* for BITS_PER_LONG/SHIFT_PER_LONG */ #include <asm/byteorder.h> +#include <asm/barrier.h> #include <linux/atomic.h> /*
@@ -19,9 +20,6 @@#define CHOP_SHIFTCOUNT (x) (((unsigned long) (x)) & (BITS_PER_LONG - 1)) -#define smp_mb__before_clear_bit () smp_mb() -#define smp_mb__after_clear_bit () smp_mb() -/* See http://marc.theaimsgroup.com/?t=108826637900003 for discussion * on use of volatile and __*_bit() (set/clear/change): * *_bit() want use of volatile.
arch/powerpc/include/asm/atomic.h +1 -5
@@ -8,6 +8,7 @@#ifdef __KERNEL__#include <linux/types.h> #include <asm/cmpxchg.h> +#include <asm/barrier.h> #define ATOMIC_INIT (i) { (i) }
@@ -270,11 +271,6 @@ static __inline__ int atomic_dec_if_positive(atomic_t *v) }#define atomic_dec_if_positive atomic_dec_if_positive -#define smp_mb__before_atomic_dec () smp_mb() -#define smp_mb__after_atomic_dec () smp_mb() -#define smp_mb__before_atomic_inc () smp_mb() -#define smp_mb__after_atomic_inc () smp_mb() -#ifdef __powerpc64__#define ATOMIC64_INIT (i) { (i) }
arch/powerpc/include/asm/barrier.h +3 -0
@@ -84,4 +84,7 @@ do { \ ___p1; \ }) +#define smp_mb__before_atomic () smp_mb() +#define smp_mb__after_atomic () smp_mb() +#endif /* _ASM_POWERPC_BARRIER_H */
arch/powerpc/include/asm/bitops.h +1 -5
@@ -51,11 +51,7 @@#define PPC_BIT (bit) (1UL << PPC_BITLSHIFT(bit))#define PPC_BITMASK (bs, be) ((PPC_BIT(bs) - PPC_BIT(be)) | PPC_BIT(bs)) -/* -* clear_bit doesn't imply a memory barrier -*/ -#define smp_mb__before_clear_bit () smp_mb() -#define smp_mb__after_clear_bit () smp_mb() +#include <asm/barrier.h> /* Macro for generating the ***_bits() functions */ #define DEFINE_BITOP (fn, op, prefix) \
arch/powerpc/kernel/crash.c +1 -1
@@ -81,7 +81,7 @@ void crash_ipi_callback(struct pt_regs *regs) }atomic_inc (&cpus_in_crash); -smp_mb__after_atomic_inc (); +smp_mb__after_atomic ();/* * Starting the kdump boot.
arch/s390/include/asm/atomic.h +0 -5
@@ -412,9 +412,4 @@ static inline long long atomic64_dec_if_positive(atomic64_t *v)#define atomic64_dec_and_test (_v) (atomic64_sub_return(1, _v) == 0)#define atomic64_inc_not_zero (v) atomic64_add_unless((v), 1, 0) -#define smp_mb__before_atomic_dec () smp_mb() -#define smp_mb__after_atomic_dec () smp_mb() -#define smp_mb__before_atomic_inc () smp_mb() -#define smp_mb__after_atomic_inc () smp_mb() -#endif /* __ARCH_S390_ATOMIC__ */
arch/s390/include/asm/barrier.h +3 -2
@@ -27,8 +27,9 @@#define smp_rmb () rmb()#define smp_wmb () wmb()#define smp_read_barrier_depends () read_barrier_depends() -#define smp_mb__before_clear_bit () smp_mb() -#define smp_mb__after_clear_bit () smp_mb() + +#define smp_mb__before_atomic () smp_mb() +#define smp_mb__after_atomic () smp_mb()#define set_mb (var, value) do { var = value; mb(); } while (0)
arch/score/include/asm/bitops.h +1 -6
@@ -2,12 +2,7 @@#define _ASM_SCORE_BITOPS_H#include <asm/byteorder.h> /* swab32 */ - -/* -* clear_bit() doesn't provide any barrier for the compiler. -*/ -#define smp_mb__before_clear_bit () barrier() -#define smp_mb__after_clear_bit () barrier() +#include <asm/barrier.h> #include <asm-generic/bitops.h> #include <asm-generic/bitops/__fls.h>
arch/sh/include/asm/atomic.h +1 -5
@@ -10,6 +10,7 @@#include <linux/compiler.h> #include <linux/types.h> #include <asm/cmpxchg.h> +#include <asm/barrier.h> #define ATOMIC_INIT (i) { (i) }
@@ -62,9 +63,4 @@ static inline int __atomic_add_unless(atomic_t *v, int a, int u) return c; } -#define smp_mb__before_atomic_dec () smp_mb() -#define smp_mb__after_atomic_dec () smp_mb() -#define smp_mb__before_atomic_inc () smp_mb() -#define smp_mb__after_atomic_inc () smp_mb() -#endif /* __ASM_SH_ATOMIC_H */
arch/sh/include/asm/bitops.h +1 -6
@@ -9,6 +9,7 @@/* For __swab32 */ #include <asm/byteorder.h> +#include <asm/barrier.h> #ifdef CONFIG_GUSA_RB #include <asm/bitops-grb.h>
@@ -22,12 +23,6 @@#include <asm-generic/bitops/non-atomic.h> #endif -/* -* clear_bit() doesn't provide any barrier for the compiler. -*/ -#define smp_mb__before_clear_bit () smp_mb() -#define smp_mb__after_clear_bit () smp_mb() -#ifdef CONFIG_SUPERH32 static inline unsigned long ffz (unsigned long word) {
arch/sparc/include/asm/atomic_32.h +1 -6
@@ -14,6 +14,7 @@#include <linux/types.h> #include <asm/cmpxchg.h> +#include <asm/barrier.h> #include <asm-generic/atomic64.h>
@@ -52,10 +53,4 @@ extern void atomic_set(atomic_t *, int);#define atomic_dec_and_test (v) (atomic_dec_return(v) == 0)#define atomic_sub_and_test (i, v) (atomic_sub_return(i, v) == 0) -/* Atomic operations are already serializing */ -#define smp_mb__before_atomic_dec () barrier() -#define smp_mb__after_atomic_dec () barrier() -#define smp_mb__before_atomic_inc () barrier() -#define smp_mb__after_atomic_inc () barrier() -#endif /* !(__ARCH_SPARC_ATOMIC__) */
arch/sparc/include/asm/atomic_64.h +1 -6
@@ -9,6 +9,7 @@#include <linux/types.h> #include <asm/cmpxchg.h> +#include <asm/barrier.h> #define ATOMIC_INIT (i) { (i) }#define ATOMIC64_INIT (i) { (i) }
@@ -108,10 +109,4 @@ static inline long atomic64_add_unless(atomic64_t *v, long a, long u)extern long atomic64_dec_if_positive (atomic64_t *v); -/* Atomic operations are already serializing */ -#define smp_mb__before_atomic_dec () barrier() -#define smp_mb__after_atomic_dec () barrier() -#define smp_mb__before_atomic_inc () barrier() -#define smp_mb__after_atomic_inc () barrier() -#endif /* !(__ARCH_SPARC64_ATOMIC__) */
arch/sparc/include/asm/barrier_64.h +3 -0
@@ -68,4 +68,7 @@ do { \ ___p1; \ }) +#define smp_mb__before_atomic () barrier() +#define smp_mb__after_atomic () barrier() +#endif /* !(__SPARC64_BARRIER_H) */
arch/sparc/include/asm/bitops_32.h +0 -3
@@ -90,9 +90,6 @@ static inline void change_bit(unsigned long nr, volatile unsigned long *addr)#include <asm-generic/bitops/non-atomic.h> -#define smp_mb__before_clear_bit () do { } while(0) -#define smp_mb__after_clear_bit () do { } while(0) -#include <asm-generic/bitops/ffz.h> #include <asm-generic/bitops/__ffs.h> #include <asm-generic/bitops/sched.h>
arch/sparc/include/asm/bitops_64.h +1 -3
@@ -13,6 +13,7 @@#include <linux/compiler.h> #include <asm/byteorder.h> +#include <asm/barrier.h> extern int test_and_set_bit (unsigned long nr,volatile unsigned long *addr);extern int test_and_clear_bit (unsigned long nr,volatile unsigned long *addr);
@@ -23,9 +24,6 @@ extern void change_bit(unsigned long nr, volatile unsigned long *addr);#include <asm-generic/bitops/non-atomic.h> -#define smp_mb__before_clear_bit () barrier() -#define smp_mb__after_clear_bit () barrier() -#include <asm-generic/bitops/fls.h> #include <asm-generic/bitops/__fls.h> #include <asm-generic/bitops/fls64.h>
arch/tile/include/asm/atomic_32.h +0 -10
@@ -169,16 +169,6 @@ static inline void atomic64_set(atomic64_t *v, long long n)#define atomic64_dec_and_test (v) (atomic64_dec_return((v)) == 0)#define atomic64_inc_not_zero (v) atomic64_add_unless((v), 1LL, 0LL) -/* -* We need to barrier before modifying the word, since the _atomic_xxx() -* routines just tns the lock and then read/modify/write of the word. -* But after the word is updated, the routine issues an "mf" before returning, -* and since it's a function call, we don't even need a compiler barrier. -*/ -#define smp_mb__before_atomic_dec () smp_mb() -#define smp_mb__before_atomic_inc () smp_mb() -#define smp_mb__after_atomic_dec () do { } while (0) -#define smp_mb__after_atomic_inc () do { } while (0)#endif /* !__ASSEMBLY__ */
arch/tile/include/asm/atomic_64.h +0 -6
@@ -105,12 +105,6 @@ static inline long atomic64_add_unless(atomic64_t *v, long a, long u)#define atomic64_inc_not_zero (v) atomic64_add_unless((v), 1, 0) -/* Atomic dec and inc don't implement barrier, so provide them if needed. */ -#define smp_mb__before_atomic_dec () smp_mb() -#define smp_mb__after_atomic_dec () smp_mb() -#define smp_mb__before_atomic_inc () smp_mb() -#define smp_mb__after_atomic_inc () smp_mb() -/* Define this to indicate that cmpxchg is an efficient operation. */ #define __HAVE_ARCH_CMPXCHG
arch/tile/include/asm/barrier.h +14 -0
@@ -72,6 +72,20 @@ mb_incoherent(void)#define mb () fast_mb()#define iob () fast_iob() +#ifndef __tilegx__/* 32 bit */ +/* +* We need to barrier before modifying the word, since the _atomic_xxx() +* routines just tns the lock and then read/modify/write of the word. +* But after the word is updated, the routine issues an "mf" before returning, +* and since it's a function call, we don't even need a compiler barrier. +*/ +#define smp_mb__before_atomic () smp_mb() +#define smp_mb__after_atomic () do { } while (0) +#else /* 64 bit */ +#define smp_mb__before_atomic () smp_mb() +#define smp_mb__after_atomic () smp_mb() +#endif +#include <asm-generic/barrier.h> #endif /* !__ASSEMBLY__ */
arch/tile/include/asm/bitops.h +1 -0
@@ -17,6 +17,7 @@#define _ASM_TILE_BITOPS_H#include <linux/types.h> +#include <asm/barrier.h> #ifndef _LINUX_BITOPS_H#error only <linux/bitops.h> can be included directly
arch/tile/include/asm/bitops_32.h +2 -6
@@ -49,8 +49,8 @@ static inline void set_bit(unsigned nr, volatile unsigned long *addr)* restricted to acting on a single-word quantity. * * clear_bit() may not contain a memory barrier, so if it is used for -* locking purposes, you should call smp_mb__before_clear_bit() and/or -* smp_mb__after_clear_bit() to ensure changes are visible on other cpus. +* locking purposes, you should call smp_mb__before_atomic() and/or +* smp_mb__after_atomic() to ensure changes are visible on other cpus. */ static inline void clear_bit (unsigned nr,volatile unsigned long *addr) {
@@ -121,10 +121,6 @@ static inline int test_and_change_bit(unsigned nr, return (_atomic_xor(addr, mask) & mask) != 0; } -/* See discussion at smp_mb__before_atomic_dec() in <asm/atomic_32.h>. */ -#define smp_mb__before_clear_bit () smp_mb() -#define smp_mb__after_clear_bit () do {} while (0) -#include <asm-generic/bitops/ext2-atomic.h> #endif /* _ASM_TILE_BITOPS_32_H */
arch/tile/include/asm/bitops_64.h +0 -4
@@ -32,10 +32,6 @@ static inline void clear_bit(unsigned nr, volatile unsigned long *addr)__insn_fetchand ((void *)(addr + nr /BITS_PER_LONG ), ~mask); } -#define smp_mb__before_clear_bit () smp_mb() -#define smp_mb__after_clear_bit () smp_mb() - -static inline void change_bit (unsigned nr,volatile unsigned long *addr) {unsigned long mask = (1UL << (nr %BITS_PER_LONG ));
arch/x86/include/asm/atomic.h +1 -6
@@ -7,6 +7,7 @@#include <asm/alternative.h> #include <asm/cmpxchg.h> #include <asm/rmwcc.h> +#include <asm/barrier.h> /* * Atomic operations that C can't guarantee us. Useful for
@@ -243,12 +244,6 @@ static inline void atomic_or_long(unsigned long *v1, unsigned long v2) : : "r" ((unsigned)(mask)), "m" (*(addr)) \ : "memory") -/* Atomic operations are already serializing on x86 */ -#define smp_mb__before_atomic_dec () barrier() -#define smp_mb__after_atomic_dec () barrier() -#define smp_mb__before_atomic_inc () barrier() -#define smp_mb__after_atomic_inc () barrier() -#ifdef CONFIG_X86_32 # include <asm/atomic64_32.h> #else
arch/x86/include/asm/barrier.h +4 -0
@@ -137,6 +137,10 @@ do { \#endif +/* Atomic operations are already serializing on x86 */ +#define smp_mb__before_atomic () barrier() +#define smp_mb__after_atomic () barrier() +/* * Stop RDTSC speculation. This is needed when you need to use RDTSC * (or get_cycles or vread that possibly accesses the TSC) in a defined
arch/x86/include/asm/bitops.h +2 -4
@@ -15,6 +15,7 @@#include <linux/compiler.h> #include <asm/alternative.h> #include <asm/rmwcc.h> +#include <asm/barrier.h> #if BITS_PER_LONG ==32 # define _BITOPS_LONG_SHIFT 5
@@ -102,7 +103,7 @@ static inline void __set_bit(long nr, volatile unsigned long *addr)* * clear_bit() is atomic and may not be reordered. However, it does * not contain a memory barrier, so if it is used for locking purposes, -* you should call smp_mb__before_clear_bit() and/or smp_mb__after_clear_bit() +* you should call smp_mb__before_atomic() and/or smp_mb__after_atomic() * in order to ensure changes are visible on other processors. */ static __always_inline void
@@ -156,9 +157,6 @@ static inline void __clear_bit_unlock(long nr, volatile unsigned long *addr)__clear_bit (nr, addr); } -#define smp_mb__before_clear_bit () barrier() -#define smp_mb__after_clear_bit () barrier() -/** * __change_bit - Toggle a bit in memory * @nr: the bit to change
arch/x86/include/asm/sync_bitops.h +1 -1
@@ -41,7 +41,7 @@ static inline void sync_set_bit(long nr, volatile unsigned long *addr)* * sync_clear_bit() is atomic and may not be reordered. However, it does * not contain a memory barrier, so if it is used for locking purposes, -* you should call smp_mb__before_clear_bit() and/or smp_mb__after_clear_bit() +* you should call smp_mb__before_atomic() and/or smp_mb__after_atomic() * in order to ensure changes are visible on other processors. */ static inline void sync_clear_bit (long nr,volatile unsigned long *addr)
arch/x86/kernel/apic/hw_nmi.c +1 -1
@@ -57,7 +57,7 @@ void arch_trigger_all_cpu_backtrace(void) }clear_bit (0 , &backtrace_flag); -smp_mb__after_clear_bit (); +smp_mb__after_atomic (); } static int __kprobes
arch/xtensa/include/asm/atomic.h +1 -6
@@ -19,6 +19,7 @@#ifdef __KERNEL__#include <asm/processor.h> #include <asm/cmpxchg.h> +#include <asm/barrier.h> #define ATOMIC_INIT (i) { (i) }
@@ -387,12 +388,6 @@ static inline void atomic_set_mask(unsigned int mask, atomic_t *v)#endif } -/* Atomic operations are already serializing */ -#define smp_mb__before_atomic_dec () barrier() -#define smp_mb__after_atomic_dec () barrier() -#define smp_mb__before_atomic_inc () barrier() -#define smp_mb__after_atomic_inc () barrier() -#endif /* __KERNEL__ */ #endif /* _XTENSA_ATOMIC_H */
arch/xtensa/include/asm/barrier.h +3 -0
@@ -13,6 +13,9 @@#define rmb () barrier()#define wmb () mb() +#define smp_mb__before_atomic () barrier() +#define smp_mb__after_atomic () barrier() +#include <asm-generic/barrier.h> #endif /* _XTENSA_SYSTEM_H */
arch/xtensa/include/asm/bitops.h +1 -3
@@ -21,9 +21,7 @@#include <asm/processor.h> #include <asm/byteorder.h> - -#define smp_mb__before_clear_bit () smp_mb() -#define smp_mb__after_clear_bit () smp_mb() +#include <asm/barrier.h> #include <asm-generic/bitops/non-atomic.h>
block/blk-iopoll.c +2 -2
@@ -49,7 +49,7 @@ EXPORT_SYMBOL(blk_iopoll_sched);void __blk_iopoll_complete (struct blk_iopoll *iop) {list_del (&iop->list); -smp_mb__before_clear_bit (); +smp_mb__before_atomic ();clear_bit_unlock (IOPOLL_F_SCHED , &iop->state); }EXPORT_SYMBOL (__blk_iopoll_complete);
@@ -161,7 +161,7 @@ EXPORT_SYMBOL(blk_iopoll_disable);void blk_iopoll_enable (struct blk_iopoll *iop) {BUG_ON (!test_bit (IOPOLL_F_SCHED , &iop->state)); -smp_mb__before_clear_bit (); +smp_mb__before_atomic ();clear_bit_unlock (IOPOLL_F_SCHED , &iop->state); }EXPORT_SYMBOL (blk_iopoll_enable);
crypto/chainiv.c +1 -1
@@ -126,7 +126,7 @@ static int async_chainiv_schedule_work(struct async_chainiv_ctx *ctx)int err = ctx->err;if (!ctx->queue.qlen) { -smp_mb__before_clear_bit (); +smp_mb__before_atomic ();clear_bit (CHAINIV_STATE_INUSE , &ctx->state); if (!ctx->queue.qlen ||
drivers/base/power/domain.c +1 -1
@@ -105,7 +105,7 @@ static bool genpd_sd_counter_dec(struct generic_pm_domain *genpd)static void genpd_sd_counter_inc (struct generic_pm_domain *genpd) {atomic_inc (&genpd->sd_count); -smp_mb__after_atomic_inc (); +smp_mb__after_atomic (); }static void genpd_acquire_lock (struct generic_pm_domain *genpd)
drivers/block/mtip32xx/mtip32xx.c +2 -2
@@ -224,9 +224,9 @@ static int get_slot(struct mtip_port *port)*/ static inline void release_slot (struct mtip_port *port,int tag) { -smp_mb__before_clear_bit (); +smp_mb__before_atomic ();clear_bit (tag, port->allocated); -smp_mb__after_clear_bit (); +smp_mb__after_atomic (); }/*
drivers/cpuidle/coupled.c +1 -1
@@ -159,7 +159,7 @@ void cpuidle_coupled_parallel_barrier(struct cpuidle_device *dev, atomic_t *a) {int n = dev->coupled->online_count; -smp_mb__before_atomic_inc (); +smp_mb__before_atomic ();atomic_inc (a);while (atomic_read (a) < n)
drivers/firewire/ohci.c +1 -1
@@ -3498,7 +3498,7 @@ static int ohci_flush_iso_completions(struct fw_iso_context *base) }clear_bit_unlock (0 , &ctx->flushing_completions); -smp_mb__after_clear_bit (); +smp_mb__after_atomic (); }tasklet_enable (&ctx->context.tasklet);
drivers/gpu/drm/drm_irq.c +5 -5
@@ -156,7 +156,7 @@ static void vblank_disable_and_save(struct drm_device *dev, int crtc)*/ if ((vblrc >0 ) && (abs64 (diff_ns) >1000000 )) {atomic_inc (&dev->vblank[crtc].count); -smp_mb__after_atomic_inc (); +smp_mb__after_atomic (); }/* Invalidate all timestamps while vblank irq's are off. */
@@ -864,9 +864,9 @@ static void drm_update_vblank_count(struct drm_device *dev, int crtc)vblanktimestamp (dev, crtc, tslot) = t_vblank; } -smp_mb__before_atomic_inc (); +smp_mb__before_atomic ();atomic_add (diff, &dev->vblank[crtc].count); -smp_mb__after_atomic_inc (); +smp_mb__after_atomic (); }/**
@@ -1330,9 +1330,9 @@ bool drm_handle_vblank(struct drm_device *dev, int crtc)/* Increment cooked vblank count. This also atomically commits * the timestamp computed above. */ -smp_mb__before_atomic_inc (); +smp_mb__before_atomic ();atomic_inc (&dev->vblank[crtc].count); -smp_mb__after_atomic_inc (); +smp_mb__after_atomic (); }else {DRM_DEBUG ("crtc %d: Redundant vblirq ignored. diff_ns = %d\n" , crtc, (int ) diff_ns);
drivers/gpu/drm/i915/i915_irq.c +1 -1
@@ -2147,7 +2147,7 @@ static void i915_error_work_func(struct work_struct *work)* updates before * the counter increment. */ -smp_mb__before_atomic_inc (); +smp_mb__before_atomic ();atomic_inc (&dev_priv->gpu_error.reset_counter); kobject_uevent_env(&dev->primary->kdev->kobj,
drivers/md/bcache/bcache.h +1 -1
@@ -828,7 +828,7 @@ static inline bool cached_dev_get(struct cached_dev *dc)return false;/* Paired with the mb in cached_dev_attach */ -smp_mb__after_atomic_inc (); +smp_mb__after_atomic ();return true; }
drivers/md/bcache/closure.h +1 -1
@@ -243,7 +243,7 @@ static inline void set_closure_fn(struct closure *cl, closure_fn *fn, cl->fn = fn; cl->wq = wq;/* between atomic_dec() in closure_put() */ -smp_mb__before_atomic_dec (); +smp_mb__before_atomic (); }static inline void closure_queue (struct closure *cl)
drivers/md/dm-bufio.c +4 -4
@@ -607,9 +607,9 @@ static void write_endio(struct bio *bio, int error)BUG_ON (!test_bit (B_WRITING , &b->state)); -smp_mb__before_clear_bit (); +smp_mb__before_atomic ();clear_bit (B_WRITING , &b->state); -smp_mb__after_clear_bit (); +smp_mb__after_atomic ();wake_up_bit (&b->state,B_WRITING ); }
@@ -997,9 +997,9 @@ static void read_endio(struct bio *bio, int error)BUG_ON (!test_bit (B_READING , &b->state)); -smp_mb__before_clear_bit (); +smp_mb__before_atomic ();clear_bit (B_READING , &b->state); -smp_mb__after_clear_bit (); +smp_mb__after_atomic ();wake_up_bit (&b->state,B_READING ); }
drivers/md/dm-snap.c +2 -2
@@ -642,7 +642,7 @@ static void free_pending_exception(struct dm_snap_pending_exception *pe)struct dm_snapshot *s = pe->snap;mempool_free (pe, s->pending_pool); -smp_mb__before_atomic_dec (); +smp_mb__before_atomic ();atomic_dec (&s->pending_exceptions_count); }
@@ -783,7 +783,7 @@ static int init_hash_tables(struct dm_snapshot *s)static void merge_shutdown (struct dm_snapshot *s) {clear_bit_unlock (RUNNING_MERGE , &s->state_bits); -smp_mb__after_clear_bit (); +smp_mb__after_atomic ();wake_up_bit (&s->state_bits,RUNNING_MERGE ); }
drivers/md/dm.c +1 -1
@@ -2447,7 +2447,7 @@ static void dm_wq_work(struct work_struct *work)static void dm_queue_flush (struct mapped_device *md) {clear_bit (DMF_BLOCK_IO_FOR_SUSPEND , &md->flags); -smp_mb__after_clear_bit (); +smp_mb__after_atomic ();queue_work (md->wq, &md->work); }
drivers/md/raid5.c +1 -1
@@ -4400,7 +4400,7 @@ static void raid5_unplug(struct blk_plug_cb *blk_cb, bool from_schedule)* STRIPE_ON_UNPLUG_LIST clear but the stripe * is still in our list */ -smp_mb__before_clear_bit (); +smp_mb__before_atomic ();clear_bit (STRIPE_ON_UNPLUG_LIST , &sh->state);/* * STRIPE_ON_RELEASE_LIST could be set here. In that
drivers/media/usb/dvb-usb-v2/dvb_usb_core.c +3 -3
@@ -399,7 +399,7 @@ static int dvb_usb_stop_feed(struct dvb_demux_feed *dvbdmxfeed)/* clear 'streaming' status bit */ clear_bit (ADAP_STREAMING , &adap->state_bits); -smp_mb__after_clear_bit (); +smp_mb__after_atomic ();wake_up_bit (&adap->state_bits,ADAP_STREAMING ); skip_feed_stop:
@@ -550,7 +550,7 @@ static int dvb_usb_fe_init(struct dvb_frontend *fe) err:if (!adap->suspend_resume_active) {clear_bit (ADAP_INIT , &adap->state_bits); -smp_mb__after_clear_bit (); +smp_mb__after_atomic ();wake_up_bit (&adap->state_bits,ADAP_INIT ); }
@@ -591,7 +591,7 @@ err:if (!adap->suspend_resume_active) { adap->active_fe =-1 ;clear_bit (ADAP_SLEEP , &adap->state_bits); -smp_mb__after_clear_bit (); +smp_mb__after_atomic ();wake_up_bit (&adap->state_bits,ADAP_SLEEP ); }
drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c +3 -3
@@ -2781,7 +2781,7 @@ int bnx2x_nic_load(struct bnx2x *bp, int load_mode)case LOAD_OPEN :netif_tx_start_all_queues (bp->dev); -smp_mb__after_clear_bit (); +smp_mb__after_atomic ();break ;case LOAD_DIAG :
@@ -4939,9 +4939,9 @@ void bnx2x_update_coalesce_sb_index(struct bnx2x *bp, u8 fw_sb_id,void bnx2x_schedule_sp_rtnl (struct bnx2x *bp,enum sp_rtnl_flag flag,u32 verbose) { -smp_mb__before_clear_bit (); +smp_mb__before_atomic ();set_bit (flag, &bp->sp_rtnl_state); -smp_mb__after_clear_bit (); +smp_mb__after_atomic ();DP ((BNX2X_MSG_SP | verbose),"Scheduling sp_rtnl task [Flag: %d]\n" , flag);schedule_delayed_work (&bp->sp_rtnl_task,0 );
drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c +9 -9
@@ -1858,10 +1858,10 @@ void bnx2x_sp_event(struct bnx2x_fastpath *fp, union eth_rx_cqe *rr_cqe)return ;#endif -smp_mb__before_atomic_inc (); +smp_mb__before_atomic ();atomic_inc (&bp->cq_spq_left);/* push the change in bp->spq_left and towards the memory */ -smp_mb__after_atomic_inc (); +smp_mb__after_atomic ();DP (BNX2X_MSG_SP ,"bp->cq_spq_left %x\n" ,atomic_read (&bp->cq_spq_left));
@@ -1876,11 +1876,11 @@ void bnx2x_sp_event(struct bnx2x_fastpath *fp, union eth_rx_cqe *rr_cqe)* sp_state is cleared, and this order prevents * races */ -smp_mb__before_clear_bit (); +smp_mb__before_atomic ();set_bit (BNX2X_AFEX_PENDING_VIFSET_MCP_ACK , &bp->sp_state);wmb ();clear_bit (BNX2X_AFEX_FCOE_Q_UPDATE_PENDING , &bp->sp_state); -smp_mb__after_clear_bit (); +smp_mb__after_atomic ();/* schedule the sp task as mcp ack is required */ bnx2x_schedule_sp_task (bp);
@@ -5272,9 +5272,9 @@ static void bnx2x_after_function_update(struct bnx2x *bp)__clear_bit (RAMROD_COMP_WAIT , &queue_params.ramrod_flags);/* mark latest Q bit */ -smp_mb__before_clear_bit (); +smp_mb__before_atomic ();set_bit (BNX2X_AFEX_FCOE_Q_UPDATE_PENDING , &bp->sp_state); -smp_mb__after_clear_bit (); +smp_mb__after_atomic ();/* send Q update ramrod for FCoE Q */ rc =bnx2x_queue_state_change (bp, &queue_params);
@@ -5500,7 +5500,7 @@ next_spqe: spqe_cnt++; }/* for */ -smp_mb__before_atomic_inc (); +smp_mb__before_atomic ();atomic_add (spqe_cnt, &bp->eq_spq_left); bp->eq_cons = sw_cons;
@@ -13869,9 +13869,9 @@ static int bnx2x_drv_ctl(struct net_device *dev, struct drv_ctl_info *ctl)case DRV_CTL_RET_L2_SPQ_CREDIT_CMD : {int count = ctl->data.credit.credit_count; -smp_mb__before_atomic_inc (); +smp_mb__before_atomic ();atomic_add (count, &bp->cq_spq_left); -smp_mb__after_atomic_inc (); +smp_mb__after_atomic ();break ; }case DRV_CTL_ULP_REGISTER_CMD : {
drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.c +13 -13
@@ -258,16 +258,16 @@ static bool bnx2x_raw_check_pending(struct bnx2x_raw_obj *o)static void bnx2x_raw_clear_pending (struct bnx2x_raw_obj *o) { -smp_mb__before_clear_bit (); +smp_mb__before_atomic ();clear_bit (o->state, o->pstate); -smp_mb__after_clear_bit (); +smp_mb__after_atomic (); }static void bnx2x_raw_set_pending (struct bnx2x_raw_obj *o) { -smp_mb__before_clear_bit (); +smp_mb__before_atomic ();set_bit (o->state, o->pstate); -smp_mb__after_clear_bit (); +smp_mb__after_atomic (); }/**
@@ -2131,7 +2131,7 @@ static int bnx2x_set_rx_mode_e1x(struct bnx2x *bp,/* The operation is completed */ clear_bit (p->state, p->pstate); -smp_mb__after_clear_bit (); +smp_mb__after_atomic ();return 0 ; }
@@ -3576,16 +3576,16 @@ error_exit1:static void bnx2x_mcast_clear_sched (struct bnx2x_mcast_obj *o) { -smp_mb__before_clear_bit (); +smp_mb__before_atomic ();clear_bit (o->sched_state, o->raw.pstate); -smp_mb__after_clear_bit (); +smp_mb__after_atomic (); }static void bnx2x_mcast_set_sched (struct bnx2x_mcast_obj *o) { -smp_mb__before_clear_bit (); +smp_mb__before_atomic ();set_bit (o->sched_state, o->raw.pstate); -smp_mb__after_clear_bit (); +smp_mb__after_atomic (); }static bool bnx2x_mcast_check_sched (struct bnx2x_mcast_obj *o)
@@ -4200,7 +4200,7 @@ int bnx2x_queue_state_change(struct bnx2x *bp,if (rc) { o->next_state =BNX2X_Q_STATE_MAX ;clear_bit (pending_bit, pending); -smp_mb__after_clear_bit (); +smp_mb__after_atomic ();return rc; }
@@ -4288,7 +4288,7 @@ static int bnx2x_queue_comp_cmd(struct bnx2x *bp,wmb ();clear_bit (cmd, &o->pending); -smp_mb__after_clear_bit (); +smp_mb__after_atomic ();return 0 ; }
@@ -5279,7 +5279,7 @@ static inline int bnx2x_func_state_change_comp(struct bnx2x *bp,wmb ();clear_bit (cmd, &o->pending); -smp_mb__after_clear_bit (); +smp_mb__after_atomic ();return 0 ; }
@@ -5926,7 +5926,7 @@ int bnx2x_func_state_change(struct bnx2x *bp,if (rc) { o->next_state =BNX2X_F_STATE_MAX ;clear_bit (cmd, pending); -smp_mb__after_clear_bit (); +smp_mb__after_atomic ();return rc; }
drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c +4 -4
@@ -1626,9 +1626,9 @@ staticvoid bnx2x_vf_handle_filters_eqe (struct bnx2x *bp,struct bnx2x_virtf *vf) { -smp_mb__before_clear_bit (); +smp_mb__before_atomic ();clear_bit (BNX2X_FILTER_RX_MODE_PENDING , &vf->filter_state); -smp_mb__after_clear_bit (); +smp_mb__after_atomic (); } static void bnx2x_vf_handle_rss_update_eqe(struct bnx2x *bp,
@@ -2960,9 +2960,9 @@ void bnx2x_iov_task(struct work_struct *work)void bnx2x_schedule_iov_task (struct bnx2x *bp,enum bnx2x_iov_flag flag) { -smp_mb__before_clear_bit (); +smp_mb__before_atomic ();set_bit (flag, &bp->iov_task_state); -smp_mb__after_clear_bit (); +smp_mb__after_atomic ();DP (BNX2X_MSG_IOV ,"Scheduling iov task [Flag: %d]\n" , flag);queue_delayed_work (bnx2x_iov_wq, &bp->iov_task,0 ); }
drivers/net/ethernet/broadcom/cnic.c +4 -4
@@ -436,7 +436,7 @@ static int cnic_offld_prep(struct cnic_sock *csk)static int cnic_close_prep (struct cnic_sock *csk) {clear_bit (SK_F_CONNECT_START , &csk->flags); -smp_mb__after_clear_bit (); +smp_mb__after_atomic ();if (test_and_clear_bit (SK_F_OFFLD_COMPLETE , &csk->flags)) {while (test_and_set_bit (SK_F_OFFLD_SCHED , &csk->flags))
@@ -450,7 +450,7 @@ static int cnic_close_prep(struct cnic_sock *csk)static int cnic_abort_prep (struct cnic_sock *csk) {clear_bit (SK_F_CONNECT_START , &csk->flags); -smp_mb__after_clear_bit (); +smp_mb__after_atomic ();while (test_and_set_bit (SK_F_OFFLD_SCHED , &csk->flags))msleep (1 );
@@ -3646,7 +3646,7 @@ static int cnic_cm_destroy(struct cnic_sock *csk)csk_hold (csk);clear_bit (SK_F_INUSE , &csk->flags); -smp_mb__after_clear_bit (); +smp_mb__after_atomic ();while (atomic_read (&csk->ref_count) !=1 )msleep (1 );cnic_cm_cleanup (csk);
@@ -4026,7 +4026,7 @@ static void cnic_cm_process_kcqe(struct cnic_dev *dev, struct kcqe *kcqe) L4_KCQE_COMPLETION_STATUS_PARITY_ERROR) set_bit(SK_F_HW_ERR, &csk->flags); -smp_mb__before_clear_bit (); +smp_mb__before_atomic ();clear_bit (SK_F_OFFLD_SCHED , &csk->flags);cnic_cm_upcall (cp, csk, opcode);break ;
drivers/net/ethernet/brocade/bna/bnad.c +3 -3
@@ -249,7 +249,7 @@ bnad_tx_complete(struct bnad *bnad, struct bna_tcb *tcb)if (likely (test_bit (BNAD_TXQ_TX_STARTED , &tcb->flags)))bna_ib_ack (tcb->i_dbell, sent); -smp_mb__before_clear_bit (); +smp_mb__before_atomic ();clear_bit (BNAD_TXQ_FREE_SENT , &tcb->flags);return sent;
@@ -1126,7 +1126,7 @@ bnad_tx_cleanup(struct delayed_work *work)bnad_txq_cleanup (bnad, tcb); -smp_mb__before_clear_bit (); +smp_mb__before_atomic ();clear_bit (BNAD_TXQ_FREE_SENT , &tcb->flags); }
@@ -2992,7 +2992,7 @@ bnad_start_xmit(struct sk_buff *skb, struct net_device *netdev) sent =bnad_txcmpl_process (bnad, tcb);if (likely (test_bit (BNAD_TXQ_TX_STARTED , &tcb->flags)))bna_ib_ack (tcb->i_dbell, sent); -smp_mb__before_clear_bit (); +smp_mb__before_atomic ();clear_bit (BNAD_TXQ_FREE_SENT , &tcb->flags); }else {netif_stop_queue (netdev);
drivers/net/ethernet/chelsio/cxgb/cxgb2.c +1 -1
@@ -281,7 +281,7 @@ static int cxgb_close(struct net_device *dev)if (adapter->params.stats_update_period && !(adapter->open_device_map &PORT_MASK )) {/* Stop statistics accumulation. */ -smp_mb__after_clear_bit (); +smp_mb__after_atomic ();spin_lock (&adapter->work_lock);/* sync with update task */ spin_unlock (&adapter->work_lock);cancel_mac_stats_update (adapter);
drivers/net/ethernet/chelsio/cxgb3/sge.c +3 -3
@@ -1379,7 +1379,7 @@ static inline int check_desc_avail(struct adapter *adap, struct sge_txq *q,struct sge_qset *qs =txq_to_qset (q, qid);set_bit (qid, &qs->txq_stopped); -smp_mb__after_clear_bit (); +smp_mb__after_atomic ();if (should_restart_tx (q) &&test_and_clear_bit (qid, &qs->txq_stopped))
@@ -1492,7 +1492,7 @@ static void restart_ctrlq(unsigned long data)if (!skb_queue_empty (&q->sendq)) {set_bit (TXQ_CTRL , &qs->txq_stopped); -smp_mb__after_clear_bit (); +smp_mb__after_atomic ();if (should_restart_tx (q) &&test_and_clear_bit (TXQ_CTRL , &qs->txq_stopped))
@@ -1697,7 +1697,7 @@ again: reclaim_completed_tx(adap, q, TX_RECLAIM_CHUNK);if (unlikely (q->size - q->in_use < ndesc)) {set_bit (TXQ_OFLD , &qs->txq_stopped); -smp_mb__after_clear_bit (); +smp_mb__after_atomic ();if (should_restart_tx (q) &&test_and_clear_bit (TXQ_OFLD , &qs->txq_stopped))
drivers/net/ethernet/chelsio/cxgb4/sge.c +1 -1
@@ -2031,7 +2031,7 @@ static void sge_rx_timer_cb(unsigned long data)struct sge_fl *fl = s->egr_map[id];clear_bit (id, s->starving_fl); -smp_mb__after_clear_bit (); +smp_mb__after_atomic ();if (fl_starving (fl)) { rxq = container_of(fl, struct sge_eth_rxq, fl);
drivers/net/ethernet/chelsio/cxgb4vf/sge.c +1 -1
@@ -1951,7 +1951,7 @@ static void sge_rx_timer_cb(unsigned long data)struct sge_fl *fl = s->egr_map[id];clear_bit (id, s->starving_fl); -smp_mb__after_clear_bit (); +smp_mb__after_atomic ();/* * Since we are accessing fl without a lock there's a
drivers/net/ethernet/freescale/gianfar.c +4 -4
@@ -1797,9 +1797,9 @@ void stop_gfar(struct net_device *dev)netif_tx_stop_all_queues (dev); -smp_mb__before_clear_bit (); +smp_mb__before_atomic ();set_bit (GFAR_DOWN , &priv->state); -smp_mb__after_clear_bit (); +smp_mb__after_atomic ();disable_napi (priv);
@@ -2042,9 +2042,9 @@ int startup_gfar(struct net_device *ndev)gfar_init_tx_rx_base (priv); -smp_mb__before_clear_bit (); +smp_mb__before_atomic ();clear_bit (GFAR_DOWN , &priv->state); -smp_mb__after_clear_bit (); +smp_mb__after_atomic ();/* Start Rx/Tx DMA and enable the interrupts */ gfar_start (priv);
drivers/net/ethernet/intel/i40e/i40e_main.c +1 -1
@@ -4671,7 +4671,7 @@ static void i40e_service_event_complete(struct i40e_pf *pf)BUG_ON (!test_bit (__I40E_SERVICE_SCHED, &pf->state));/* flush memory to make sure state is correct before next watchog */ -smp_mb__before_clear_bit (); +smp_mb__before_atomic ();clear_bit (__I40E_SERVICE_SCHED, &pf->state); }
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c +4 -4
@@ -376,7 +376,7 @@ static void ixgbe_service_event_complete(struct ixgbe_adapter *adapter)BUG_ON (!test_bit (__IXGBE_SERVICE_SCHED, &adapter->state));/* flush memory to make sure state is correct before next watchdog */ -smp_mb__before_clear_bit (); +smp_mb__before_atomic ();clear_bit (__IXGBE_SERVICE_SCHED, &adapter->state); }
@@ -4671,7 +4671,7 @@ static void ixgbe_up_complete(struct ixgbe_adapter *adapter)if (hw->mac.ops.enable_tx_laser) hw->mac.ops.enable_tx_laser (hw); -smp_mb__before_clear_bit (); +smp_mb__before_atomic ();clear_bit (__IXGBE_DOWN, &adapter->state);ixgbe_napi_enable_all (adapter);
@@ -5567,7 +5567,7 @@ static int ixgbe_resume(struct pci_dev *pdev)e_dev_err ("Cannot enable PCI device from suspend\n" );return err; } -smp_mb__before_clear_bit (); +smp_mb__before_atomic ();clear_bit (__IXGBE_DISABLED, &adapter->state);pci_set_master (pdev);
@@ -8541,7 +8541,7 @@ static pci_ers_result_t ixgbe_io_slot_reset(struct pci_dev *pdev)e_err (probe,"Cannot re-enable PCI device after reset.\n" ); result =PCI_ERS_RESULT_DISCONNECT ; }else { -smp_mb__before_clear_bit (); +smp_mb__before_atomic ();clear_bit (__IXGBE_DISABLED, &adapter->state); adapter->hw.hw_addr = adapter->io_addr;pci_set_master (pdev);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c +3 -3
@@ -1668,7 +1668,7 @@ static void ixgbevf_up_complete(struct ixgbevf_adapter *adapter)spin_unlock_bh (&adapter->mbx_lock); -smp_mb__before_clear_bit (); +smp_mb__before_atomic ();clear_bit (__IXGBEVF_DOWN, &adapter->state);ixgbevf_napi_enable_all (adapter);
@@ -3354,7 +3354,7 @@ static int ixgbevf_resume(struct pci_dev *pdev)dev_err (&pdev->dev,"Cannot enable PCI device from suspend\n" );return err; } -smp_mb__before_clear_bit (); +smp_mb__before_atomic ();clear_bit (__IXGBEVF_DISABLED, &adapter->state);pci_set_master (pdev);
@@ -3712,7 +3712,7 @@ static pci_ers_result_t ixgbevf_io_slot_reset(struct pci_dev *pdev)return PCI_ERS_RESULT_DISCONNECT ; } -smp_mb__before_clear_bit (); +smp_mb__before_atomic ();clear_bit (__IXGBEVF_DISABLED, &adapter->state);pci_set_master (pdev);
drivers/net/wireless/ti/wlcore/main.c +1 -1
@@ -543,7 +543,7 @@ static int wlcore_irq_locked(struct wl1271 *wl)* wl1271_ps_elp_wakeup cannot be called concurrently. */ clear_bit (WL1271_FLAG_IRQ_RUNNING , &wl->flags); -smp_mb__after_clear_bit (); +smp_mb__after_atomic (); ret =wlcore_fw_status (wl, wl->fw_status);if (ret <0 )
drivers/pci/xen-pcifront.c +2 -2
@@ -662,9 +662,9 @@ static void pcifront_do_aer(struct work_struct *data)notify_remote_via_evtchn (pdev->evtchn);/*in case of we lost an aer request in four lines time_window*/ -smp_mb__before_clear_bit (); +smp_mb__before_atomic ();clear_bit (_PDEVB_op_active, &pdev->flags); -smp_mb__after_clear_bit (); +smp_mb__after_atomic ();schedule_pcifront_aer_op (pdev);
drivers/scsi/isci/remote_device.c +1 -1
@@ -1541,7 +1541,7 @@ void isci_remote_device_release(struct kref *kref)clear_bit (IDEV_STOP_PENDING , &idev->flags);clear_bit (IDEV_IO_READY , &idev->flags);clear_bit (IDEV_GONE , &idev->flags); -smp_mb__before_clear_bit (); +smp_mb__before_atomic ();clear_bit (IDEV_ALLOCATED , &idev->flags);wake_up (&ihost->eventq); }
drivers/target/loopback/tcm_loop.c +2 -2
@@ -951,7 +951,7 @@ static int tcm_loop_port_link(struct tcm_loop_hba *tl_hba = tl_tpg->tl_hba;atomic_inc (&tl_tpg->tl_tpg_port_count); -smp_mb__after_atomic_inc (); +smp_mb__after_atomic ();/* * Add Linux/SCSI struct scsi_device by HCTL */
@@ -986,7 +986,7 @@ static void tcm_loop_port_unlink(scsi_device_put (sd);atomic_dec (&tl_tpg->tl_tpg_port_count); -smp_mb__after_atomic_dec (); +smp_mb__after_atomic ();pr_debug ("TCM_Loop_ConfigFS: Port Unlink Successful\n" ); }
drivers/target/target_core_alua.c +13 -13
@@ -393,7 +393,7 @@ target_emulate_set_target_port_groups(struct se_cmd *cmd)continue ;atomic_inc (&tg_pt_gp->tg_pt_gp_ref_cnt); -smp_mb__after_atomic_inc (); +smp_mb__after_atomic ();spin_unlock (&dev->t10_alua.tg_pt_gps_lock);
@@ -404,7 +404,7 @@ target_emulate_set_target_port_groups(struct se_cmd *cmd)spin_lock (&dev->t10_alua.tg_pt_gps_lock);atomic_dec (&tg_pt_gp->tg_pt_gp_ref_cnt); -smp_mb__after_atomic_dec (); +smp_mb__after_atomic ();break ; }spin_unlock (&dev->t10_alua.tg_pt_gps_lock);
@@ -990,7 +990,7 @@ static void core_alua_do_transition_tg_pt_work(struct work_struct *work)* TARGET PORT GROUPS command */ atomic_inc (&mem->tg_pt_gp_mem_ref_cnt); -smp_mb__after_atomic_inc (); +smp_mb__after_atomic ();spin_unlock (&tg_pt_gp->tg_pt_gp_lock);spin_lock_bh (&port->sep_alua_lock);
@@ -1020,7 +1020,7 @@ static void core_alua_do_transition_tg_pt_work(struct work_struct *work)spin_lock (&tg_pt_gp->tg_pt_gp_lock);atomic_dec (&mem->tg_pt_gp_mem_ref_cnt); -smp_mb__after_atomic_dec (); +smp_mb__after_atomic (); }spin_unlock (&tg_pt_gp->tg_pt_gp_lock);/*
@@ -1054,7 +1054,7 @@ static void core_alua_do_transition_tg_pt_work(struct work_struct *work) core_alua_dump_state(tg_pt_gp->tg_pt_gp_alua_pending_state));spin_lock (&dev->t10_alua.tg_pt_gps_lock);atomic_dec (&tg_pt_gp->tg_pt_gp_ref_cnt); -smp_mb__after_atomic_dec (); +smp_mb__after_atomic ();spin_unlock (&dev->t10_alua.tg_pt_gps_lock);if (tg_pt_gp->tg_pt_gp_transition_complete)
@@ -1116,7 +1116,7 @@ static int core_alua_do_transition_tg_pt(*/ spin_lock (&dev->t10_alua.tg_pt_gps_lock);atomic_inc (&tg_pt_gp->tg_pt_gp_ref_cnt); -smp_mb__after_atomic_inc (); +smp_mb__after_atomic ();spin_unlock (&dev->t10_alua.tg_pt_gps_lock);if (!explicit && tg_pt_gp->tg_pt_gp_implicit_trans_secs) {
@@ -1159,7 +1159,7 @@ int core_alua_do_port_transition(spin_lock (&local_lu_gp_mem->lu_gp_mem_lock); lu_gp = local_lu_gp_mem->lu_gp;atomic_inc (&lu_gp->lu_gp_ref_cnt); -smp_mb__after_atomic_inc (); +smp_mb__after_atomic ();spin_unlock (&local_lu_gp_mem->lu_gp_mem_lock);/* * For storage objects that are members of the 'default_lu_gp',
@@ -1176,7 +1176,7 @@ int core_alua_do_port_transition( rc =core_alua_do_transition_tg_pt (l_tg_pt_gp, new_state, explicit);atomic_dec (&lu_gp->lu_gp_ref_cnt); -smp_mb__after_atomic_dec (); +smp_mb__after_atomic ();return rc; }/*
@@ -1190,7 +1190,7 @@ int core_alua_do_port_transition( dev = lu_gp_mem->lu_gp_mem_dev;atomic_inc (&lu_gp_mem->lu_gp_mem_ref_cnt); -smp_mb__after_atomic_inc (); +smp_mb__after_atomic ();spin_unlock (&lu_gp->lu_gp_lock);spin_lock (&dev->t10_alua.tg_pt_gps_lock);
@@ -1219,7 +1219,7 @@ int core_alua_do_port_transition( tg_pt_gp->tg_pt_gp_alua_nacl =NULL ; }atomic_inc (&tg_pt_gp->tg_pt_gp_ref_cnt); -smp_mb__after_atomic_inc (); +smp_mb__after_atomic ();spin_unlock (&dev->t10_alua.tg_pt_gps_lock);/* * core_alua_do_transition_tg_pt() will always return
@@ -1230,7 +1230,7 @@ int core_alua_do_port_transition(spin_lock (&dev->t10_alua.tg_pt_gps_lock);atomic_dec (&tg_pt_gp->tg_pt_gp_ref_cnt); -smp_mb__after_atomic_dec (); +smp_mb__after_atomic ();if (rc)break ; }
@@ -1238,7 +1238,7 @@ int core_alua_do_port_transition(spin_lock (&lu_gp->lu_gp_lock);atomic_dec (&lu_gp_mem->lu_gp_mem_ref_cnt); -smp_mb__after_atomic_dec (); +smp_mb__after_atomic (); }spin_unlock (&lu_gp->lu_gp_lock);
@@ -1252,7 +1252,7 @@ int core_alua_do_port_transition( }atomic_dec (&lu_gp->lu_gp_ref_cnt); -smp_mb__after_atomic_dec (); +smp_mb__after_atomic ();return rc; }
drivers/target/target_core_device.c +3 -3
@@ -225,7 +225,7 @@ struct se_dev_entry *core_get_se_deve_from_rtpi(continue ;atomic_inc (&deve->pr_ref_count); -smp_mb__after_atomic_inc (); +smp_mb__after_atomic ();spin_unlock_irq (&nacl->device_list_lock);return deve;
@@ -1392,7 +1392,7 @@ int core_dev_add_initiator_node_lun_acl(spin_lock (&lun->lun_acl_lock);list_add_tail (&lacl->lacl_list, &lun->lun_acl_list);atomic_inc (&lun->lun_acl_count); -smp_mb__after_atomic_inc (); +smp_mb__after_atomic ();spin_unlock (&lun->lun_acl_lock); pr_debug("%s_TPG[%hu]_LUN[%u->%u] - Added %s ACL for "
@@ -1426,7 +1426,7 @@ int core_dev_del_initiator_node_lun_acl(spin_lock (&lun->lun_acl_lock);list_del (&lacl->lacl_list);atomic_dec (&lun->lun_acl_count); -smp_mb__after_atomic_dec (); +smp_mb__after_atomic ();spin_unlock (&lun->lun_acl_lock); core_disable_device_list_for_node(lun, NULL, lacl->mapped_lun,
drivers/target/target_core_iblock.c +1 -1
@@ -323,7 +323,7 @@ static void iblock_bio_done(struct bio *bio, int err)* Bump the ib_bio_err_cnt and release bio. */ atomic_inc (&ibr->ib_bio_err_cnt); -smp_mb__after_atomic_inc (); +smp_mb__after_atomic (); }bio_put (bio);
drivers/target/target_core_pr.c +28 -28
214 lines not on this page · raw message
drivers/target/target_core_transport.c +8 -8
@@ -736,7 +736,7 @@ void target_qf_do_work(struct work_struct *work)list_for_each_entry_safe (cmd, cmd_tmp, &qf_cmd_list, se_qf_node) {list_del (&cmd->se_qf_node);atomic_dec (&dev->dev_qf_count); -smp_mb__after_atomic_dec (); +smp_mb__after_atomic (); pr_debug("Processing %s cmd: %p QUEUE_FULL in work queue" " context: %s\n", cmd->se_tfo->get_fabric_name(), cmd,
@@ -1148,7 +1148,7 @@ transport_check_alloc_task_attr(struct se_cmd *cmd)* Dormant to Active status. */ cmd->se_ordered_id =atomic_inc_return (&dev->dev_ordered_id); -smp_mb__after_atomic_inc (); +smp_mb__after_atomic ();pr_debug ("Allocated se_ordered_id: %u for Task Attr: 0x%02x on %s\n" , cmd->se_ordered_id, cmd->sam_task_attr, dev->transport->name);
@@ -1705,7 +1705,7 @@ static bool target_handle_task_attr(struct se_cmd *cmd)return false;case MSG_ORDERED_TAG :atomic_inc (&dev->dev_ordered_sync); -smp_mb__after_atomic_inc (); +smp_mb__after_atomic (); pr_debug("Added ORDERED for CDB: 0x%02x to ordered list, " " se_ordered_id: %u\n",
@@ -1723,7 +1723,7 @@ static bool target_handle_task_attr(struct se_cmd *cmd)* For SIMPLE and UNTAGGED Task Attribute commands */ atomic_inc (&dev->simple_cmds); -smp_mb__after_atomic_inc (); +smp_mb__after_atomic ();break ; }
@@ -1828,7 +1828,7 @@ static void transport_complete_task_attr(struct se_cmd *cmd)if (cmd->sam_task_attr ==MSG_SIMPLE_TAG ) {atomic_dec (&dev->simple_cmds); -smp_mb__after_atomic_dec (); +smp_mb__after_atomic (); dev->dev_cur_ordered_id++; pr_debug("Incremented dev->dev_cur_ordered_id: %u for" " SIMPLE: %u\n", dev->dev_cur_ordered_id,
@@ -1840,7 +1840,7 @@ static void transport_complete_task_attr(struct se_cmd *cmd) cmd->se_ordered_id); }else if (cmd->sam_task_attr ==MSG_ORDERED_TAG ) {atomic_dec (&dev->dev_ordered_sync); -smp_mb__after_atomic_dec (); +smp_mb__after_atomic (); dev->dev_cur_ordered_id++; pr_debug("Incremented dev_cur_ordered_id: %u for ORDERED:"
@@ -1899,7 +1899,7 @@ static void transport_handle_queue_full(spin_lock_irq (&dev->qf_cmd_lock);list_add_tail (&cmd->se_qf_node, &cmd->se_dev->qf_cmd_list);atomic_inc (&dev->dev_qf_count); -smp_mb__after_atomic_inc (); +smp_mb__after_atomic ();spin_unlock_irq (&cmd->se_dev->qf_cmd_lock);schedule_work (&cmd->se_dev->qf_work_queue);
@@ -2875,7 +2875,7 @@ void transport_send_task_abort(struct se_cmd *cmd)if (cmd->se_tfo->write_pending_status (cmd) !=0 ) { cmd->transport_state |=CMD_T_ABORTED ; cmd->se_cmd_flags |=SCF_SEND_DELAYED_TAS ; -smp_mb__after_atomic_inc (); +smp_mb__after_atomic ();return ; } }
drivers/target/target_core_ua.c +5 -5
@@ -162,7 +162,7 @@ int core_scsi3_ua_allocate(spin_unlock_irq (&nacl->device_list_lock);atomic_inc (&deve->ua_count); -smp_mb__after_atomic_inc (); +smp_mb__after_atomic ();return 0 ; }list_add_tail (&ua->ua_nacl_list, &deve->ua_list);
@@ -175,7 +175,7 @@ int core_scsi3_ua_allocate( asc, ascq);atomic_inc (&deve->ua_count); -smp_mb__after_atomic_inc (); +smp_mb__after_atomic ();return 0 ; }
@@ -190,7 +190,7 @@ void core_scsi3_ua_release_all(kmem_cache_free (se_ua_cache, ua);atomic_dec (&deve->ua_count); -smp_mb__after_atomic_dec (); +smp_mb__after_atomic (); }spin_unlock (&deve->ua_lock); }
@@ -251,7 +251,7 @@ void core_scsi3_ua_for_check_condition(kmem_cache_free (se_ua_cache, ua);atomic_dec (&deve->ua_count); -smp_mb__after_atomic_dec (); +smp_mb__after_atomic (); }spin_unlock (&deve->ua_lock);spin_unlock_irq (&nacl->device_list_lock);
@@ -310,7 +310,7 @@ int core_scsi3_ua_clear_for_request_sense(kmem_cache_free (se_ua_cache, ua);atomic_dec (&deve->ua_count); -smp_mb__after_atomic_dec (); +smp_mb__after_atomic (); }spin_unlock (&deve->ua_lock);spin_unlock_irq (&nacl->device_list_lock);
drivers/tty/n_tty.c +1 -1
@@ -2041,7 +2041,7 @@ static int canon_copy_from_read_buf(struct tty_struct *tty,if (found)clear_bit (eol, ldata->read_flags); -smp_mb__after_clear_bit (); +smp_mb__after_atomic (); ldata->read_tail += c;if (found) {
drivers/tty/serial/mxs-auart.c +2 -2
@@ -200,7 +200,7 @@ static void dma_tx_callback(void *param)/* clear the bit used to serialize the DMA tx. */ clear_bit (MXS_AUART_DMA_TX_SYNC , &s->flags); -smp_mb__after_clear_bit (); +smp_mb__after_atomic ();/* wake up the possible processes. */ if (uart_circ_chars_pending (xmit) <WAKEUP_CHARS )
@@ -275,7 +275,7 @@ static void mxs_auart_tx_chars(struct mxs_auart_port *s)mxs_auart_dma_tx (s, i); }else {clear_bit (MXS_AUART_DMA_TX_SYNC , &s->flags); -smp_mb__after_clear_bit (); +smp_mb__after_atomic (); }return ; }
drivers/usb/gadget/tcm_usb_gadget.c +2 -2
@@ -1851,7 +1851,7 @@ static int usbg_port_link(struct se_portal_group *se_tpg, struct se_lun *lun) struct usbg_tpg *tpg = container_of(se_tpg, struct usbg_tpg, se_tpg);atomic_inc (&tpg->tpg_port_count); -smp_mb__after_atomic_inc (); +smp_mb__after_atomic ();return 0 ; }
@@ -1861,7 +1861,7 @@ static void usbg_port_unlink(struct se_portal_group *se_tpg, struct usbg_tpg *tpg = container_of(se_tpg, struct usbg_tpg, se_tpg);atomic_dec (&tpg->tpg_port_count); -smp_mb__after_atomic_dec (); +smp_mb__after_atomic (); }static int usbg_check_stop_free (struct se_cmd *se_cmd)
drivers/usb/serial/usb_wwan.c +1 -1
@@ -325,7 +325,7 @@ static void usb_wwan_outdat_callback(struct urb *urb)for (i =0 ; i <N_OUT_URB ; ++i) {if (portdata->out_urbs[i] == urb) { -smp_mb__before_clear_bit (); +smp_mb__before_atomic ();clear_bit (i, &portdata->out_busy);break ; }
drivers/vhost/scsi.c +1 -1
@@ -1255,7 +1255,7 @@ vhost_scsi_set_endpoint(struct vhost_scsi *vs, tpg->tv_tpg_vhost_count++; tpg->vhost_scsi = vs; vs_tpg[tpg->tport_tpgt] = tpg; -smp_mb__after_atomic_inc (); +smp_mb__after_atomic (); match = true; }mutex_unlock (&tpg->tv_tpg_mutex);
drivers/w1/w1_family.c +2 -2
@@ -139,9 +139,9 @@ void w1_family_get(struct w1_family *f)void __w1_family_get (struct w1_family *f) { -smp_mb__before_atomic_inc (); +smp_mb__before_atomic ();atomic_inc (&f->refcnt); -smp_mb__after_atomic_inc (); +smp_mb__after_atomic (); }EXPORT_SYMBOL (w1_unregister_family);
drivers/xen/xen-pciback/pciback_ops.c +2 -2
@@ -348,9 +348,9 @@ void xen_pcibk_do_op(struct work_struct *data)notify_remote_via_irq (pdev->evtchn_irq);/* Mark that we're done. */ -smp_mb__before_clear_bit ();/* /after/ clearing PCIF_active */ +smp_mb__before_atomic ();/* /after/ clearing PCIF_active */ clear_bit (_PDEVF_op_active, &pdev->flags); -smp_mb__after_clear_bit ();/* /before/ final check for work */ +smp_mb__after_atomic ();/* /before/ final check for work */ /* Check to see if the driver domain tried to start another request in * between clearing _XEN_PCIF_active and clearing _PDEVF_op_active.
fs/btrfs/btrfs_inode.h +1 -1
@@ -279,7 +279,7 @@ static inline void btrfs_inode_block_unlocked_dio(struct inode *inode)static inline void btrfs_inode_resume_unlocked_dio (struct inode *inode) { -smp_mb__before_clear_bit (); +smp_mb__before_atomic ();clear_bit (BTRFS_INODE_READDIO_NEED_LOCK , &BTRFS_I (inode)->runtime_flags); }
fs/btrfs/extent_io.c +1 -1
@@ -3458,7 +3458,7 @@ static int lock_extent_buffer_for_io(struct extent_buffer *eb,static void end_extent_buffer_writeback (struct extent_buffer *eb) {clear_bit (EXTENT_BUFFER_WRITEBACK , &eb->bflags); -smp_mb__after_clear_bit (); +smp_mb__after_atomic ();wake_up_bit (&eb->bflags,EXTENT_BUFFER_WRITEBACK ); }
fs/btrfs/inode.c +3 -3
@@ -7126,7 +7126,7 @@ static void btrfs_end_dio_bio(struct bio *bio, int err)* before atomic variable goto zero, we must make sure * dip->errors is perceived to be set. */ -smp_mb__before_atomic_dec (); +smp_mb__before_atomic (); }/* if there are more bios still pending for this dio, just exit */
@@ -7306,7 +7306,7 @@ out_err:* before atomic variable goto zero, we must * make sure dip->errors is perceived to be set. */ -smp_mb__before_atomic_dec (); +smp_mb__before_atomic ();if (atomic_dec_and_test (&dip->pending_bios))bio_io_error (dip->orig_bio);
@@ -7449,7 +7449,7 @@ static ssize_t btrfs_direct_IO(int rw, struct kiocb *iocb,return 0 ;atomic_inc (&inode->i_dio_count); -smp_mb__after_atomic_inc (); +smp_mb__after_atomic ();/* * The generic stuff only does filemap_write_and_wait_range, which
fs/btrfs/ioctl.c +1 -1
@@ -642,7 +642,7 @@ static int create_snapshot(struct btrfs_root *root, struct inode *dir,return -EINVAL ;atomic_inc (&root->will_be_snapshoted); -smp_mb__after_atomic_inc (); +smp_mb__after_atomic ();btrfs_wait_nocow_write (root); ret =btrfs_start_delalloc_inodes (root,0 );
fs/buffer.c +1 -1
@@ -77,7 +77,7 @@ EXPORT_SYMBOL(__lock_buffer);void unlock_buffer (struct buffer_head *bh) {clear_bit_unlock (BH_Lock, &bh->b_state); -smp_mb__after_clear_bit (); +smp_mb__after_atomic ();wake_up_bit (&bh->b_state, BH_Lock); }EXPORT_SYMBOL (unlock_buffer);
fs/ext4/resize.c +1 -1
@@ -42,7 +42,7 @@ int ext4_resize_begin(struct super_block *sb)void ext4_resize_end (struct super_block *sb) {clear_bit_unlock (EXT4_RESIZING , &EXT4_SB (sb)->s_resize_flags); -smp_mb__after_clear_bit (); +smp_mb__after_atomic (); } static ext4_group_t ext4_meta_bg_first_group(struct super_block *sb,
fs/gfs2/glock.c +4 -4
@@ -277,7 +277,7 @@ static inline int may_grant(const struct gfs2_glock *gl, const struct gfs2_holdestatic void gfs2_holder_wake (struct gfs2_holder *gh) {clear_bit (HIF_WAIT , &gh->gh_iflags); -smp_mb__after_clear_bit (); +smp_mb__after_atomic ();wake_up_bit (&gh->gh_iflags,HIF_WAIT ); }
@@ -411,7 +411,7 @@ static void gfs2_demote_wake(struct gfs2_glock *gl) { gl->gl_demote_state =LM_ST_EXCLUSIVE ;clear_bit (GLF_DEMOTE , &gl->gl_flags); -smp_mb__after_clear_bit (); +smp_mb__after_atomic ();wake_up_bit (&gl->gl_flags,GLF_DEMOTE ); }
@@ -620,7 +620,7 @@ out: out_sched:clear_bit (GLF_LOCK , &gl->gl_flags); -smp_mb__after_clear_bit (); +smp_mb__after_atomic (); gl->gl_lockref.count++;if (queue_delayed_work (glock_workqueue, &gl->gl_work,0 ) ==0 ) gl->gl_lockref.count--;
@@ -628,7 +628,7 @@ out_sched: out_unlock:clear_bit (GLF_LOCK , &gl->gl_flags); -smp_mb__after_clear_bit (); +smp_mb__after_atomic ();return ; }
fs/gfs2/glops.c +1 -1
@@ -221,7 +221,7 @@ static void inode_go_sync(struct gfs2_glock *gl)* Writeback of the data mapping may cause the dirty flag to be set * so we have to clear it again here. */ -smp_mb__before_clear_bit (); +smp_mb__before_atomic ();clear_bit (GLF_DIRTY , &gl->gl_flags); }
fs/gfs2/lock_dlm.c +2 -2
@@ -1134,7 +1134,7 @@ static void gdlm_recover_done(void *arg, struct dlm_slot *slots, int num_slots,queue_delayed_work (gfs2_control_wq, &sdp->sd_control_work,0 );clear_bit (DFL_DLM_RECOVERY , &ls->ls_recover_flags); -smp_mb__after_clear_bit (); +smp_mb__after_atomic ();wake_up_bit (&ls->ls_recover_flags,DFL_DLM_RECOVERY );spin_unlock (&ls->ls_recover_spin); }
@@ -1271,7 +1271,7 @@ static int gdlm_mount(struct gfs2_sbd *sdp, const char *table) ls->ls_first = !!test_bit (DFL_FIRST_MOUNT , &ls->ls_recover_flags);clear_bit (SDF_NOJOURNALID , &sdp->sd_flags); -smp_mb__after_clear_bit (); +smp_mb__after_atomic ();wake_up_bit (&sdp->sd_flags,SDF_NOJOURNALID );return 0 ;
fs/gfs2/recovery.c +1 -1
@@ -587,7 +587,7 @@ fail:gfs2_recovery_done (sdp, jd->jd_jid,LM_RD_GAVEUP ); done:clear_bit (JDF_RECOVERY , &jd->jd_flags); -smp_mb__after_clear_bit (); +smp_mb__after_atomic ();wake_up_bit (&jd->jd_flags,JDF_RECOVERY ); }
fs/gfs2/sys.c +2 -2
@@ -333,7 +333,7 @@ static ssize_t block_store(struct gfs2_sbd *sdp, const char *buf, size_t len)set_bit (DFL_BLOCK_LOCKS , &ls->ls_recover_flags); else if (val == 0) {clear_bit (DFL_BLOCK_LOCKS , &ls->ls_recover_flags); -smp_mb__after_clear_bit (); +smp_mb__after_atomic ();gfs2_glock_thaw (sdp); } else { ret = -EINVAL ;
@@ -482,7 +482,7 @@ static ssize_t jid_store(struct gfs2_sbd *sdp, const char *buf, size_t len) rv = jid = -EINVAL ; sdp->sd_lockstruct.ls_jid = jid;clear_bit (SDF_NOJOURNALID , &sdp->sd_flags); -smp_mb__after_clear_bit (); +smp_mb__after_atomic ();wake_up_bit (&sdp->sd_flags,SDF_NOJOURNALID ); out:spin_unlock (&sdp->sd_jindex_spin);
fs/jbd2/commit.c +3 -3
@@ -43,7 +43,7 @@ static void journal_end_buffer_io_sync(struct buffer_head *bh, int uptodate)clear_buffer_uptodate (bh);if (orig_bh) {clear_bit_unlock (BH_Shadow, &orig_bh->b_state); -smp_mb__after_clear_bit (); +smp_mb__after_atomic ();wake_up_bit (&orig_bh->b_state, BH_Shadow); }unlock_buffer (bh);
@@ -239,7 +239,7 @@ static int journal_submit_data_buffers(journal_t *journal,spin_lock (&journal->j_list_lock);J_ASSERT (jinode->i_transaction == commit_transaction);clear_bit (__JI_COMMIT_RUNNING, &jinode->i_flags); -smp_mb__after_clear_bit (); +smp_mb__after_atomic ();wake_up_bit (&jinode->i_flags, __JI_COMMIT_RUNNING); }spin_unlock (&journal->j_list_lock);
@@ -277,7 +277,7 @@ static int journal_finish_inode_data_buffers(journal_t *journal, }spin_lock (&journal->j_list_lock);clear_bit (__JI_COMMIT_RUNNING, &jinode->i_flags); -smp_mb__after_clear_bit (); +smp_mb__after_atomic ();wake_up_bit (&jinode->i_flags, __JI_COMMIT_RUNNING); }
fs/nfs/dir.c +6 -6
@@ -2032,9 +2032,9 @@ static void nfs_access_free_entry(struct nfs_access_entry *entry) {put_rpccred (entry->cred);kfree (entry); -smp_mb__before_atomic_dec (); +smp_mb__before_atomic ();atomic_long_dec (&nfs_access_nr_entries); -smp_mb__after_atomic_dec (); +smp_mb__after_atomic (); }static void nfs_access_free_list (struct list_head *head)
@@ -2082,9 +2082,9 @@ nfs_access_cache_scan(struct shrinker *shrink, struct shrink_control *sc)else { remove_lru_entry:list_del_init (&nfsi->access_cache_inode_lru); -smp_mb__before_clear_bit (); +smp_mb__before_atomic ();clear_bit (NFS_INO_ACL_LRU_SET , &nfsi->flags); -smp_mb__after_clear_bit (); +smp_mb__after_atomic (); }spin_unlock (&inode->i_lock); }
@@ -2232,9 +2232,9 @@ void nfs_access_add_cache(struct inode *inode, struct nfs_access_entry *set)nfs_access_add_rbtree (inode, cache);/* Update accounting */ -smp_mb__before_atomic_inc (); +smp_mb__before_atomic ();atomic_long_inc (&nfs_access_nr_entries); -smp_mb__after_atomic_inc (); +smp_mb__after_atomic ();/* Add inode to global LRU list */ if (!test_bit (NFS_INO_ACL_LRU_SET , &NFS_I (inode)->flags)) {
fs/nfs/inode.c +1 -1
@@ -1085,7 +1085,7 @@ int nfs_revalidate_mapping(struct inode *inode, struct address_space *mapping)trace_nfs_invalidate_mapping_exit (inode, ret);clear_bit_unlock (NFS_INO_INVALIDATING , bitlock); -smp_mb__after_clear_bit (); +smp_mb__after_atomic ();wake_up_bit (bitlock,NFS_INO_INVALIDATING ); out:return ret;
fs/nfs/nfs4filelayoutdev.c +2 -2
@@ -789,9 +789,9 @@ static void nfs4_wait_ds_connect(struct nfs4_pnfs_ds *ds)static void nfs4_clear_ds_conn_bit (struct nfs4_pnfs_ds *ds) { -smp_mb__before_clear_bit (); +smp_mb__before_atomic ();clear_bit (NFS4DS_CONNECTING , &ds->ds_state); -smp_mb__after_clear_bit (); +smp_mb__after_atomic ();wake_up_bit (&ds->ds_state,NFS4DS_CONNECTING ); }
fs/nfs/nfs4state.c +2 -2
@@ -1140,9 +1140,9 @@ static int nfs4_run_state_manager(void *);static void nfs4_clear_state_manager_bit (struct nfs_client *clp) { -smp_mb__before_clear_bit (); +smp_mb__before_atomic ();clear_bit (NFS4CLNT_MANAGER_RUNNING , &clp->cl_state); -smp_mb__after_clear_bit (); +smp_mb__after_atomic ();wake_up_bit (&clp->cl_state,NFS4CLNT_MANAGER_RUNNING );rpc_wake_up (&clp->cl_rpcwaitq); }
fs/nfs/pagelist.c +3 -3
@@ -95,7 +95,7 @@ nfs_iocounter_dec(struct nfs_io_counter *c) {if (atomic_dec_and_test (&c->io_count)) {clear_bit (NFS_IO_INPROGRESS , &c->flags); -smp_mb__after_clear_bit (); +smp_mb__after_atomic ();wake_up_bit (&c->flags,NFS_IO_INPROGRESS ); } }
@@ -193,9 +193,9 @@ void nfs_unlock_request(struct nfs_page *req)printk (KERN_ERR "NFS: Invalid unlock attempted\n" );BUG (); } -smp_mb__before_clear_bit (); +smp_mb__before_atomic ();clear_bit (PG_BUSY , &req->wb_flags); -smp_mb__after_clear_bit (); +smp_mb__after_atomic ();wake_up_bit (&req->wb_flags,PG_BUSY ); }
fs/nfs/pnfs.c +1 -1
@@ -1810,7 +1810,7 @@ static void pnfs_clear_layoutcommitting(struct inode *inode)unsigned long *bitlock = &NFS_I (inode)->flags;clear_bit_unlock (NFS_INO_LAYOUTCOMMITTING , bitlock); -smp_mb__after_clear_bit (); +smp_mb__after_atomic ();wake_up_bit (bitlock,NFS_INO_LAYOUTCOMMITTING ); }
fs/nfs/pnfs.h +1 -1
@@ -275,7 +275,7 @@ pnfs_get_lseg(struct pnfs_layout_segment *lseg) {if (lseg) {atomic_inc (&lseg->pls_refcount); -smp_mb__after_atomic_inc (); +smp_mb__after_atomic (); }return lseg; }
fs/nfs/write.c +2 -2
@@ -405,7 +405,7 @@ int nfs_writepages(struct address_space *mapping, struct writeback_control *wbc)nfs_pageio_complete (&pgio);clear_bit_unlock (NFS_INO_FLUSHING , bitlock); -smp_mb__after_clear_bit (); +smp_mb__after_atomic ();wake_up_bit (bitlock,NFS_INO_FLUSHING );if (err <0 )
@@ -1458,7 +1458,7 @@ static int nfs_commit_set_lock(struct nfs_inode *nfsi, int may_wait)static void nfs_commit_clear_lock (struct nfs_inode *nfsi) {clear_bit (NFS_INO_COMMIT , &nfsi->flags); -smp_mb__after_clear_bit (); +smp_mb__after_atomic ();wake_up_bit (&nfsi->flags,NFS_INO_COMMIT ); }
fs/ubifs/lpt_commit.c +2 -2
@@ -460,9 +460,9 @@ static int write_cnodes(struct ubifs_info *c)* important. */ clear_bit (DIRTY_CNODE , &cnode->flags); -smp_mb__before_clear_bit (); +smp_mb__before_atomic ();clear_bit (COW_CNODE , &cnode->flags); -smp_mb__after_clear_bit (); +smp_mb__after_atomic (); offs += len;dbg_chk_lpt_sz (c,1 , len); cnode = cnode->cnext;
fs/ubifs/tnc_commit.c +2 -2
@@ -895,9 +895,9 @@ static int write_index(struct ubifs_info *c)* the reason for the second barrier. */ clear_bit (DIRTY_ZNODE , &znode->flags); -smp_mb__before_clear_bit (); +smp_mb__before_atomic ();clear_bit (COW_ZNODE , &znode->flags); -smp_mb__after_clear_bit (); +smp_mb__after_atomic ();/* * We have marked the znode as clean but have not updated the
include/asm-generic/atomic.h +1 -6
@@ -16,6 +16,7 @@#define __ASM_GENERIC_ATOMIC_H#include <asm/cmpxchg.h> +#include <asm/barrier.h> #ifdef CONFIG_SMP /* Force people to define core atomics */
@@ -182,11 +183,5 @@ static inline void atomic_set_mask(unsigned int mask, atomic_t *v) }#endif -/* Assume that atomic operations are already serializing */ -#define smp_mb__before_atomic_dec () barrier() -#define smp_mb__after_atomic_dec () barrier() -#define smp_mb__before_atomic_inc () barrier() -#define smp_mb__after_atomic_inc () barrier() -#endif /* __KERNEL__ */ #endif /* __ASM_GENERIC_ATOMIC_H */
include/asm-generic/barrier.h +8 -0
@@ -62,6 +62,14 @@#define set_mb (var, value) do { (var) = (value); mb(); } while (0)#endif +#ifndef smp_mb__before_atomic +#define smp_mb__before_atomic () smp_mb() +#endif + +#ifndef smp_mb__after_atomic +#define smp_mb__after_atomic () smp_mb() +#endif +#define smp_store_release (p, v) \ do { \ compiletime_assert_atomic_type(*p); \
include/asm-generic/bitops.h +1 -8
@@ -11,14 +11,7 @@#include <linux/irqflags.h> #include <linux/compiler.h> - -/* -* clear_bit may not imply a memory barrier -*/ -#ifndef smp_mb__before_clear_bit -#define smp_mb__before_clear_bit () smp_mb() -#define smp_mb__after_clear_bit () smp_mb() -#endif +#include <asm/barrier.h> #include <asm-generic/bitops/__ffs.h> #include <asm-generic/bitops/ffz.h>
include/asm-generic/bitops/atomic.h +1 -1
@@ -80,7 +80,7 @@ static inline void set_bit(int nr, volatile unsigned long *addr)* * clear_bit() is atomic and may not be reordered. However, it does * not contain a memory barrier, so if it is used for locking purposes, -* you should call smp_mb__before_clear_bit() and/or smp_mb__after_clear_bit() +* you should call smp_mb__before_atomic() and/or smp_mb__after_atomic() * in order to ensure changes are visible on other processors. */ static inline void clear_bit (int nr,volatile unsigned long *addr)
include/asm-generic/bitops/lock.h +1 -1
@@ -20,7 +20,7 @@*/ #define clear_bit_unlock (nr, addr) \ do { \ - smp_mb__before_clear_bit(); \ + smp_mb__before_atomic(); \ clear_bit(nr, addr); \ } while (0)
include/linux/atomic.h +36 -0
@@ -3,6 +3,42 @@#define _LINUX_ATOMIC_H#include <asm/atomic.h> +/* +* Provide __deprecated wrappers for the new interface, avoid flag day changes. +* We need the ugly external functions to break header recursion hell. +*/ +#ifndef smp_mb__before_atomic_inc +static inline void __deprecated smp_mb__before_atomic_inc (void ) +{ +extern void __smp_mb__before_atomic (void ); +__smp_mb__before_atomic (); +} +#endif + +#ifndef smp_mb__after_atomic_inc +static inline void __deprecated smp_mb__after_atomic_inc (void ) +{ +extern void __smp_mb__after_atomic (void ); +__smp_mb__after_atomic (); +} +#endif + +#ifndef smp_mb__before_atomic_dec +static inline void __deprecated smp_mb__before_atomic_dec (void ) +{ +extern void __smp_mb__before_atomic (void ); +__smp_mb__before_atomic (); +} +#endif + +#ifndef smp_mb__after_atomic_dec +static inline void __deprecated smp_mb__after_atomic_dec (void ) +{ +extern void __smp_mb__after_atomic (void ); +__smp_mb__after_atomic (); +} +#endif +/** * atomic_add_unless - add unless the number is already a given value * @v: pointer of type atomic_t
include/linux/bitops.h +20 -0
@@ -32,6 +32,26 @@ extern unsigned long __sw_hweight64(__u64 w);*/ #include <asm/bitops.h> +/* +* Provide __deprecated wrappers for the new interface, avoid flag day changes. +* We need the ugly external functions to break header recursion hell. +*/ +#ifndef smp_mb__before_clear_bit +static inline void __deprecated smp_mb__before_clear_bit (void ) +{ +extern void __smp_mb__before_atomic (void ); +__smp_mb__before_atomic (); +} +#endif + +#ifndef smp_mb__after_clear_bit +static inline void __deprecated smp_mb__after_clear_bit (void ) +{ +extern void __smp_mb__after_atomic (void ); +__smp_mb__after_atomic (); +} +#endif +#define for_each_set_bit (bit, addr, size) \ for ((bit) = find_first_bit((addr), (size)); \ (bit) < (size); \
include/linux/buffer_head.h +1 -1
@@ -278,7 +278,7 @@ static inline void get_bh(struct buffer_head *bh)static inline void put_bh (struct buffer_head *bh) { -smp_mb__before_atomic_dec (); +smp_mb__before_atomic ();atomic_dec (&bh->b_count); }
include/linux/genhd.h +1 -1
@@ -649,7 +649,7 @@ static inline void hd_ref_init(struct hd_struct *part)static inline void hd_struct_get (struct hd_struct *part) {atomic_inc (&part->ref); -smp_mb__after_atomic_inc (); +smp_mb__after_atomic (); }static inline int hd_struct_try_get (struct hd_struct *part)
include/linux/interrupt.h +4 -4
@@ -453,7 +453,7 @@ static inline int tasklet_trylock(struct tasklet_struct *t)static inline void tasklet_unlock (struct tasklet_struct *t) { -smp_mb__before_clear_bit (); +smp_mb__before_atomic ();clear_bit (TASKLET_STATE_RUN , &(t)->state); }
@@ -501,7 +501,7 @@ static inline void tasklet_hi_schedule_first(struct tasklet_struct *t)static inline void tasklet_disable_nosync (struct tasklet_struct *t) {atomic_inc (&t->count); -smp_mb__after_atomic_inc (); +smp_mb__after_atomic (); }static inline void tasklet_disable (struct tasklet_struct *t)
@@ -513,13 +513,13 @@ static inline void tasklet_disable(struct tasklet_struct *t)static inline void tasklet_enable (struct tasklet_struct *t) { -smp_mb__before_atomic_dec (); +smp_mb__before_atomic ();atomic_dec (&t->count); }static inline void tasklet_hi_enable (struct tasklet_struct *t) { -smp_mb__before_atomic_dec (); +smp_mb__before_atomic ();atomic_dec (&t->count); }
include/linux/netdevice.h +1 -1
@@ -493,7 +493,7 @@ static inline void napi_disable(struct napi_struct *n)static inline void napi_enable (struct napi_struct *n) {BUG_ON (!test_bit (NAPI_STATE_SCHED , &n->state)); -smp_mb__before_clear_bit (); +smp_mb__before_atomic ();clear_bit (NAPI_STATE_SCHED , &n->state); }
include/linux/sched.h +2 -4
@@ -2782,10 +2782,8 @@ static inline bool __must_check current_set_polling_and_test(void)/* * Polling state must be visible before we test NEED_RESCHED, * paired by resched_task() -* -* XXX: assumes set/clear bit are identical barrier wise. */ -smp_mb__after_clear_bit (); +smp_mb__after_atomic ();return unlikely (tif_need_resched ()); }
@@ -2803,7 +2801,7 @@ static inline bool __must_check current_clr_polling_and_test(void)* Polling state must be visible before we test NEED_RESCHED, * paired by resched_task() */ -smp_mb__after_clear_bit (); +smp_mb__after_atomic ();return unlikely (tif_need_resched ()); }
include/linux/sunrpc/sched.h +4 -4
@@ -142,18 +142,18 @@ struct rpc_task_setup { test_and_set_bit(RPC_TASK_RUNNING, &(t)->tk_runstate)#define rpc_clear_running (t) \ do { \ - smp_mb__before_clear_bit(); \ + smp_mb__before_atomic(); \ clear_bit(RPC_TASK_RUNNING, &(t)->tk_runstate); \ - smp_mb__after_clear_bit(); \ + smp_mb__after_atomic(); \ } while (0)#define RPC_IS_QUEUED (t) test_bit(RPC_TASK_QUEUED, &(t)->tk_runstate)#define rpc_set_queued (t) set_bit(RPC_TASK_QUEUED, &(t)->tk_runstate)#define rpc_clear_queued (t) \ do { \ - smp_mb__before_clear_bit(); \ + smp_mb__before_atomic(); \ clear_bit(RPC_TASK_QUEUED, &(t)->tk_runstate); \ - smp_mb__after_clear_bit(); \ + smp_mb__after_atomic(); \ } while (0)#define RPC_IS_ACTIVATED (t) test_bit(RPC_TASK_ACTIVE, &(t)->tk_runstate)
include/linux/sunrpc/xprt.h +4 -4
@@ -379,9 +379,9 @@ static inline int xprt_test_and_clear_connected(struct rpc_xprt *xprt)static inline void xprt_clear_connecting (struct rpc_xprt *xprt) { -smp_mb__before_clear_bit (); +smp_mb__before_atomic ();clear_bit (XPRT_CONNECTING , &xprt->state); -smp_mb__after_clear_bit (); +smp_mb__after_atomic (); }static inline int xprt_connecting (struct rpc_xprt *xprt)
@@ -411,9 +411,9 @@ static inline void xprt_clear_bound(struct rpc_xprt *xprt)static inline void xprt_clear_binding (struct rpc_xprt *xprt) { -smp_mb__before_clear_bit (); +smp_mb__before_atomic ();clear_bit (XPRT_BINDING , &xprt->state); -smp_mb__after_clear_bit (); +smp_mb__after_atomic (); }static inline int xprt_test_and_set_binding (struct rpc_xprt *xprt)
include/linux/tracehook.h +1 -1
@@ -191,7 +191,7 @@ static inline void tracehook_notify_resume(struct pt_regs *regs)* pairs with task_work_add()->set_notify_resume() after * hlist_add_head(task->task_works); */ -smp_mb__after_clear_bit (); +smp_mb__after_atomic ();if (unlikely (current->task_works))task_work_run (); }
include/net/ip_vs.h +2 -2
@@ -1204,7 +1204,7 @@ static inline bool __ip_vs_conn_get(struct ip_vs_conn *cp)/* put back the conn without restarting its timer */ static inline void __ip_vs_conn_put (struct ip_vs_conn *cp) { -smp_mb__before_atomic_dec (); +smp_mb__before_atomic ();atomic_dec (&cp->refcnt); }void ip_vs_conn_put (struct ip_vs_conn *cp);
@@ -1408,7 +1408,7 @@ static inline void ip_vs_dest_hold(struct ip_vs_dest *dest)static inline void ip_vs_dest_put (struct ip_vs_dest *dest) { -smp_mb__before_atomic_dec (); +smp_mb__before_atomic ();atomic_dec (&dest->refcnt); }
kernel/debug/debug_core.c +2 -2
@@ -534,7 +534,7 @@ return_normal: kgdb_info[cpu].exception_state &= ~(DCPU_WANT_MASTER |DCPU_IS_SLAVE ); kgdb_info[cpu].enter_kgdb--; -smp_mb__before_atomic_dec (); +smp_mb__before_atomic ();atomic_dec (&slaves_in_kgdb);dbg_touch_watchdogs ();local_irq_restore (flags);
@@ -662,7 +662,7 @@ kgdb_restore: kgdb_info[cpu].exception_state &= ~(DCPU_WANT_MASTER |DCPU_IS_SLAVE ); kgdb_info[cpu].enter_kgdb--; -smp_mb__before_atomic_dec (); +smp_mb__before_atomic ();atomic_dec (&masters_in_kgdb);/* Free kgdb_active */ atomic_set (&kgdb_active,-1 );
kernel/futex.c +2 -2
@@ -267,7 +267,7 @@ static inline void futex_get_mm(union futex_key *key)* get_futex_key() implies a full barrier. This is relied upon * as full barrier (B), see the ordering comment above. */ -smp_mb__after_atomic_inc (); +smp_mb__after_atomic (); }/*
@@ -280,7 +280,7 @@ static inline void hb_waiters_inc(struct futex_hash_bucket *hb)/* * Full barrier (A), see the ordering comment above. */ -smp_mb__after_atomic_inc (); +smp_mb__after_atomic ();#endif }
kernel/kmod.c +1 -1
@@ -498,7 +498,7 @@ int __usermodehelper_disable(enum umh_disable_depth depth)static void helper_lock (void ) {atomic_inc (&running_helpers); -smp_mb__after_atomic_inc (); +smp_mb__after_atomic (); }static void helper_unlock (void )
kernel/locking/lockdep_internals.h +3 -3
@@ -54,9 +54,9 @@ enum {* table (if it's not there yet), and we check it for lock order * conflicts and deadlocks. */ -#define MAX_LOCKDEP_ENTRIES 16384UL +#define MAX_LOCKDEP_ENTRIES 32768UL -#define MAX_LOCKDEP_CHAINS_BITS 15 +#define MAX_LOCKDEP_CHAINS_BITS 16#define MAX_LOCKDEP_CHAINS (1UL << MAX_LOCKDEP_CHAINS_BITS)#define MAX_LOCKDEP_CHAIN_HLOCKS (MAX_LOCKDEP_CHAINS*5)
@@ -65,7 +65,7 @@ enum {* Stack-trace: tightly packed array of stack backtrace * addresses. Protected by the hash_lock. */ -#define MAX_STACK_TRACE_ENTRIES 262144UL +#define MAX_STACK_TRACE_ENTRIES 524288ULextern struct list_head all_lock_classes;extern struct lock_chain lock_chains[];
kernel/locking/rwsem-xadd.c +49 -0
13 lines not on this page · raw message
The rest of this diff is not shown. View the raw message.
Part of the diff is not shown here. View the raw message.
Quoted 10 lines · Ingo Molnar
Linus,
Please pull the latest locking-core-for-linus git tree from:
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.gitlocking-core-for-linus# HEAD:
3cf2f34e1a3d4d5ff209d087925cf950e52f4805rwsem: Add comments to explain the meaning of the rwsem's count fieldThe main changes in this cycle were:
Quoted 7 lines
- reduced/streamlined smp_mb__*() interface that allows more usecases and makes the existing ones less buggy, especially in rarer architectures
- add rwsem implementation comments
- bump up lockdep limits
So I guess the rwsem optimistic spinning stuff will be routed through akpm then (which is already in -next for a while, through -mm).
Also curious about why Peter's rewrite of the qrwlock_t was removed from -tip... I noticed it was there for a few days then disappeared. What am I missing?
Thanks,
Davidlohr
Andrew Morton
maintainerQuoted 6 lines · On Tue, 03 Jun 2014 14:50:51 -0700 Davidlohr Bueso <[email protected]> wrote:
Quoted 6 lines
The main changes in this cycle were:
- reduced/streamlined smp_mb__*() interface that allows more usecases and makes the existing ones less buggy, especially in rarer architectures
Quoted 6 lines
Quoted 3 lines
- add rwsem implementation comments
- bump up lockdep limits
So I guess the rwsem optimistic spinning stuff will be routed through akpm then (which is already in -next for a while, through -mm).
I'd prefer not - I put it in there just to get some linux-next exposure. A change like this should be carefully poked at by people who understand what they're poking.
Quoted 10 lines · Andrew Morton
Quoted 8 lines · On Tue, 03 Jun 2014 14:50:51 -0700 Davidlohr Bueso <[email protected]> wrote:
Quoted 8 lines
The main changes in this cycle were:
- reduced/streamlined smp_mb__*() interface that allows more usecases and makes the existing ones less buggy, especially in rarer architectures
- add rwsem implementation comments
Quoted 8 lines
Quoted 4 lines
Quoted 1 line
- bump up lockdep limits
So I guess the rwsem optimistic spinning stuff will be routed through akpm then (which is already in -next for a while, through -mm).
I'd prefer not - I put it in there just to get some linux-next exposure. A change like this should be carefully poked at by people who understand what they're poking.
The patch was reviewed, tested and taken for tip by tglx -- then dropped because of the gcc warnings for archs that use the spinlock rwsem variant, which was quickly fixed and confirmed by Peter.
So I'm not sure why it dropped in the first place (the same thing occurred with the qrwlock_t stuff).
This is a pretty big change that boosts performance significantly. I really wouldn't want to wait another development cycle for nothing. If it's too late in the pull request and tip maintainers are ok with it, I would very much like it to be merged either directly through Linux (who's occasionally done such things in the past) or by you.
Thanks,
Davidlohr
Andrew Morton
maintainerQuoted 24 lines · On Tue, 03 Jun 2014 15:02:28 -0700 Davidlohr Bueso <[email protected]> wrote:
Quoted 10 lines · Andrew Morton
Quoted 8 lines · On Tue, 03 Jun 2014 14:50:51 -0700 Davidlohr Bueso <[email protected]> wrote:
Quoted 8 lines
The main changes in this cycle were:
- reduced/streamlined smp_mb__*() interface that allows more usecases and makes the existing ones less buggy, especially in rarer architectures
- add rwsem implementation comments
Quoted 8 lines
Quoted 4 lines
Quoted 1 line
- bump up lockdep limits
So I guess the rwsem optimistic spinning stuff will be routed through akpm then (which is already in -next for a while, through -mm).
I'd prefer not - I put it in there just to get some linux-next exposure. A change like this should be carefully poked at by people who understand what they're poking.
The patch was reviewed, tested and taken for tip by tglx -- then dropped because of the gcc warnings for archs that use the spinlock rwsem variant, which was quickly fixed and confirmed by Peter.
Quoted 8 lines
So I'm not sure why it dropped in the first place (the same thing occurred with the
qrwlock_tstuff).This is a pretty big change that boosts performance significantly. I really wouldn't want to wait another development cycle for nothing. If it's too late in the pull request and tip maintainers are ok with it, I would very much like it to be merged either directly through Linux (who's occasionally done such things in the past) or by you.
Here's the latest version.
From: Davidlohr Bueso <[email protected]>
Subject: rwsem: Support optimistic spinning
We have reached the point where our mutexes are quite fine tuned for a number of situations. This includes the use of heuristics and optimistic spinning, based on MCS locking techniques.
Exclusive ownership of read-write semaphores are, conceptually, just about the same as mutexes, making them close cousins. To this end we need to make them both perform similarly, and right now, rwsems are simply not up to it. This was discovered by both reverting commit 4fc3f1d6 (mm/rmap,
migration: Make rmap_walk_anon() and try_to_unmap_anon() more scalable) and similarly, converting some other mutexes (ie: i_mmap_mutex) to rwsems.
This creates a situation where users have to choose between a rwsem and
mutex taking into account this important performance difference. Specifically, biggest difference between both locks is when we fail to acquire a mutex in the fastpath, optimistic spinning comes in to play and we can avoid a large amount of unnecessary sleeping and overhead of moving tasks in and out of wait queue. Rwsems do not have such logic.
This patch, based on the work from Tim Chen and I, adds support for write-side optimistic spinning when the lock is contended. It also includes support for the recently added cancelable MCS locking for adaptive spinning. Note that is is only applicable to the xadd method, and the spinlock rwsem variant remains intact.
Allowing optimistic spinning before putting the writer on the wait queue reduces wait queue contention and provided greater chance for the rwsem to get acquired. With these changes, rwsem is on par with mutex. The performance benefits can be seen on a number of workloads. For instance, on a 8 socket, 80 core 64bit Westmere box, aim7 shows the following improvements in throughput:
+--------------+---------------------+-----------------+ | Workload | throughput-increase | number of users | +--------------+---------------------+-----------------+ | alltests | 20% | >1000 | | custom | 27%, 60% | 10-100, >1000 | | high_systime | 36%, 30% | >100, >1000 | | shared | 58%, 29% | 10-100, >1000 | +--------------+---------------------+-----------------+
There was also improvement on smaller systems, such as a quad-core x86-64 laptop running a 30Gb PostgreSQL (pgbench) workload for up to +60% in throughput for over 50 clients. Additionally, benefits were also noticed in exim (mail server) workloads. When comparing against regular non-blocking rw locks ([q]rwlock_t), this change proves that it can outperform them, for instance when studying the popular anon-vma lock:
http://www.spinics.net/lists/linux-mm/msg72705.html
Furthermore, no performance regression have been seen at all.
This patch applies on top of the -tip branch.
---
include/linux/rwsem.h | 25 +++ kernel/locking/rwsem-xadd.c | 229 +++++++++++++++++++++++++++++----- kernel/locking/rwsem.c | 31 ++++ 3 files changed, 249 insertions(+), 36 deletions(-)
include/linux/rwsem.h renamed from include/linux/rwsem.h~rwsem-support-optimistic-spinning +22 -3
@@ -16,6 +16,7 @@#include <linux/atomic.h> +struct optimistic_spin_queue ;struct rw_semaphore ;#ifdef CONFIG_RWSEM_GENERIC_SPINLOCK
@@ -23,9 +24,17 @@ struct rw_semaphore; #else /* All arch specific implementations share the same struct */ struct rw_semaphore { - long count; - raw_spinlock_t wait_lock; - struct list_head wait_list; + long count; + raw_spinlock_t wait_lock; + struct list_head wait_list; +#ifdef CONFIG_SMP + /* + * Write owner. Used as a speculative check to see + * if the owner is running on the cpu. + */ + struct task_struct *owner; + struct optimistic_spin_queue *osq; /* spinner MCS lock */ +#endif #ifdef CONFIG_DEBUG_LOCK_ALLOC struct lockdep_map dep_map; #endif
@@ -55,11 +64,21 @@ static inline int rwsem_is_locked(struct# define __RWSEM_DEP_MAP_INIT (lockname)#endif +#if defined(CONFIG_SMP ) && defined(CONFIG_RWSEM_XCHGADD_ALGORITHM ) +#define __RWSEM_INITIALIZER(name) \ + { RWSEM_UNLOCKED_VALUE, \ + __RAW_SPIN_LOCK_UNLOCKED(name.wait_lock), \ + LIST_HEAD_INIT((name).wait_list), \ + NULL, /* owner */ \ + NULL /* mcs lock */ \ +__RWSEM_DEP_MAP_INIT (name) } +#else #define __RWSEM_INITIALIZER (name) \ { RWSEM_UNLOCKED_VALUE, \ __RAW_SPIN_LOCK_UNLOCKED(name.wait_lock), \ LIST_HEAD_INIT((name).wait_list) \ __RWSEM_DEP_MAP_INIT(name) } +#endif #define DECLARE_RWSEM (name) \ struct rw_semaphore name = __RWSEM_INITIALIZER(name)
kernel/locking/rwsem-xadd.c renamed from kernel/locking/rwsem-xadd.c~rwsem-support-optimistic-spinning +197 -32
295 lines not on this page · raw message
kernel/locking/rwsem.c renamed from kernel/locking/rwsem.c~rwsem-support-optimistic-spinning +30 -1
@@ -12,6 +12,27 @@#include <linux/atomic.h> +#if defined(CONFIG_SMP ) && defined(CONFIG_RWSEM_XCHGADD_ALGORITHM ) +static inline void rwsem_set_owner (struct rw_semaphore *sem) +{ + sem->owner = current; +} + +static inline void rwsem_clear_owner (struct rw_semaphore *sem) +{ + sem->owner =NULL ; +} + +#else +static inline void rwsem_set_owner (struct rw_semaphore *sem) +{ +} + +static inline void rwsem_clear_owner (struct rw_semaphore *sem) +{ +} +#endif +/* * lock for reading */
@@ -48,6 +69,7 @@ void __sched down_write(struct rw_semaphrwsem_acquire (&sem->dep_map,0 ,0 , _RET_IP_);LOCK_CONTENDED (sem, __down_write_trylock, __down_write); +rwsem_set_owner (sem); }EXPORT_SYMBOL (down_write);
@@ -59,8 +81,11 @@ int down_write_trylock(struct rw_semapho {int ret =__down_write_trylock (sem); -if (ret ==1 ) +if (ret ==1 ) {rwsem_acquire (&sem->dep_map,0 ,1 , _RET_IP_); +rwsem_set_owner (sem); + } +return ret; }
@@ -85,6 +110,7 @@ void up_write(struct rw_semaphore *sem) {rwsem_release (&sem->dep_map,1 , _RET_IP_); +rwsem_clear_owner (sem);__up_write (sem); }
@@ -99,6 +125,7 @@ void downgrade_write(struct rw_semaphore* lockdep: a downgraded write will live on as a write * dependency. */ +rwsem_clear_owner (sem);__downgrade_write (sem); }
@@ -122,6 +149,7 @@ void _down_write_nest_lock(struct rw_semrwsem_acquire_nest (&sem->dep_map,0 ,0 , nest, _RET_IP_);LOCK_CONTENDED (sem, __down_write_trylock, __down_write); +rwsem_set_owner (sem); }EXPORT_SYMBOL (_down_write_nest_lock);
@@ -141,6 +169,7 @@ void down_write_nested(struct rw_semaphorwsem_acquire (&sem->dep_map, subclass,0 , _RET_IP_);LOCK_CONTENDED (sem, __down_write_trylock, __down_write); +rwsem_set_owner (sem); }EXPORT_SYMBOL (down_write_nested);
_
Peter Zijlstra
maintainerQuoted 17 lines · Davidlohr Bueso
Quoted 16 lines · Ingo Molnar
Linus,
Please pull the latest locking-core-for-linus git tree from:
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.gitlocking-core-for-linus# HEAD:
3cf2f34e1a3d4d5ff209d087925cf950e52f4805rwsem: Add comments to explain the meaning of the rwsem's count fieldThe main changes in this cycle were:
- reduced/streamlined smp_mb__*() interface that allows more usecases and makes the existing ones less buggy, especially in rarer architectures
- add rwsem implementation comments
Quoted 8 lines
Quoted 1 line
- bump up lockdep limits
So I guess the rwsem optimistic spinning stuff will be routed through akpm then (which is already in -next for a while, through -mm).
Also curious about why Peter's rewrite of the
qrwlock_twas removed from -tip... I noticed it was there for a few days then disappeared. What am I missing?
Ingo is 'missing' most of the time, so while I sit here with a massive queue of patches its nearly impossible for me to get anything merged :-(
Quoted 3 lines · Peter Zijlstra
Ingo is 'missing' most of the time, so while I sit here with a massive queue of patches its nearly impossible for me to get anything merged :-(
Ugh. I'd love to get this whole locking stuff sorted out. At worst, could you just set up a git tree of your own with the locking patches? Or I could even just take an emailed patch-series, although I do prefer the convenience of a git pull.. This has been going on for a _loong_ time now.
Linus
Peter Zijlstra
maintainerQuoted 10 lines · Linus Torvalds
Quoted 3 lines · Peter Zijlstra
Ingo is 'missing' most of the time, so while I sit here with a massive queue of patches its nearly impossible for me to get anything merged :-(
Ugh. I'd love to get this whole locking stuff sorted out. At worst, could you just set up a git tree of your own with the locking patches? Or I could even just take an emailed patch-series, although I do prefer the convenience of a git pull.. This has been going on for a _loong_ time now.
I wrote a script a week or so ago that exports my quilt series to a git tree based on tip branches; the locking/core tree is:
git://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git locking/core
It has the rwsem opt spinning patches and the qrwlock in.
I still need to look at the last qspinlock thing, the last time I looked at that the paravirt stuff wrecked the native case.
I _think_ tip/locking/core is empty and you could pull that into your tree without getting tons of extra weird stuff, but if you prefer a tree based on your git tree I'll have to do some manual stuff but that is certainly possible.
Also, this 'obviously' does not have the normal tip build coverage, because I usually rely on the tip build robots to do that. But it does build and run for all my local machines.
Quoted 5 lines · Peter Zijlstra
I _think_ tip/locking/core is empty and you could pull that into your tree without getting tons of extra weird stuff, but if you prefer a tree based on your git tree I'll have to do some manual stuff but that is certainly possible.
I'd actually prefer against something like the v3.15-rc8 tag, just so that the tree is otherwise "pristine".
Quoted 3 lines
Also, this 'obviously' does not have the normal tip build coverage, because I usually rely on the tip build robots to do that. But it does build and run for all my local machines.
It would be great to have Davidlohr go over it too, and if possible have it run through the build robots. I'll pull it tomorrow or Friday if everything looks fine, and then we'll hopefully have this issue mostly closed.
Linus
Quoted 10 lines · Linus Torvalds
Quoted 5 lines · Peter Zijlstra
I _think_ tip/locking/core is empty and you could pull that into your tree without getting tons of extra weird stuff, but if you prefer a tree based on your git tree I'll have to do some manual stuff but that is certainly possible.
I'd actually prefer against something like the v3.15-rc8 tag, just so that the tree is otherwise "pristine".
Quoted 8 lines
Quoted 3 lines
Also, this 'obviously' does not have the normal tip build coverage, because I usually rely on the tip build robots to do that. But it does build and run for all my local machines.
It would be great to have Davidlohr go over it too, and if possible have it run through the build robots. I'll pull it tomorrow or Friday if everything looks fine, and then we'll hopefully have this issue mostly closed.
Send it my way. I gitify it and run it through my own test machinery
Thanks,
tglx
Quoted 10 lines · Linus Torvalds
Quoted 5 lines · Peter Zijlstra
I _think_ tip/locking/core is empty and you could pull that into your tree without getting tons of extra weird stuff, but if you prefer a tree based on your git tree I'll have to do some manual stuff but that is certainly possible.
I'd actually prefer against something like the v3.15-rc8 tag, just so that the tree is otherwise "pristine".
Quoted 6 lines
Quoted 3 lines
Also, this 'obviously' does not have the normal tip build coverage, because I usually rely on the tip build robots to do that. But it does build and run for all my local machines.
It would be great to have Davidlohr go over it too, and if possible have it run through the build robots.
Fortunately Andrew had put it in -next for the past few weeks, and so far so good. fwiw I've gone through the code again and it is exactly the same as what I originally sent.
Quoted 10 lines · Linus Torvalds
Quoted 5 lines · Peter Zijlstra
I _think_ tip/locking/core is empty and you could pull that into your tree without getting tons of extra weird stuff, but if you prefer a tree based on your git tree I'll have to do some manual stuff but that is certainly possible.
I'd actually prefer against something like the v3.15-rc8 tag, just so that the tree is otherwise "pristine".
Quoted 6 lines
Quoted 3 lines
Also, this 'obviously' does not have the normal tip build coverage, because I usually rely on the tip build robots to do that. But it does build and run for all my local machines.
It would be great to have Davidlohr go over it too, and if possible have it run through the build robots. [...]
The build/boot robots found breakage and that is why its first iteration was removed, I didn't have fundamental objections.
Thanks,
Ingo
Quoted 17 lines · Ingo Molnar
Quoted 14 lines · Linus Torvalds
Quoted 5 lines · Peter Zijlstra
I _think_ tip/locking/core is empty and you could pull that into your tree without getting tons of extra weird stuff, but if you prefer a tree based on your git tree I'll have to do some manual stuff but that is certainly possible.
I'd actually prefer against something like the v3.15-rc8 tag, just so that the tree is otherwise "pristine".
Quoted 3 lines
Also, this 'obviously' does not have the normal tip build coverage, because I usually rely on the tip build robots to do that. But it does build and run for all my local machines.
Quoted 5 lines
Quoted 2 lines
It would be great to have Davidlohr go over it too, and if possible have it run through the build robots. [...]
The build/boot robots found breakage and that is why its first iteration was removed, I didn't have fundamental objections.
I'll queue Peters lot up and we let Davidlohr and Fengguang lose on it. I run it through my own machinery, so that should work out. ok?
Thanks,
tglx
Quoted 18 lines · Thomas Gleixner
Quoted 17 lines · Ingo Molnar
Quoted 14 lines · Linus Torvalds
Quoted 5 lines · Peter Zijlstra
I _think_ tip/locking/core is empty and you could pull that into your tree without getting tons of extra weird stuff, but if you prefer a tree based on your git tree I'll have to do some manual stuff but that is certainly possible.
I'd actually prefer against something like the v3.15-rc8 tag, just so that the tree is otherwise "pristine".
Quoted 3 lines
Also, this 'obviously' does not have the normal tip build coverage, because I usually rely on the tip build robots to do that. But it does build and run for all my local machines.
Quoted 8 lines
Quoted 5 lines
Quoted 2 lines
It would be great to have Davidlohr go over it too, and if possible have it run through the build robots. [...]
The build/boot robots found breakage and that is why its first iteration was removed, I didn't have fundamental objections.
I'll queue Peters lot up and we let Davidlohr and Fengguang lose on it. I run it through my own machinery, so that should work out. ok?
I'll queue them - there's only 5 locking patches pending from PeterZ:
#
# <= locking/core
#
davidlohr_bueso-rwsem-support_optimistic_spinning.patch davidlohr_bueso-rwsem-fix_warnings_for_config_rwsem_generic_spinlock.patch rwsem-akpm.patch
qrwlock1.patch
qrwlock2.patch
and I first delayed them two weeks ago because there was breakage, and then earlier this week because the merge window started - there's no 'huge queue' really.
Anyway, I too agree that we can merge them.
Thanks,
Ingo
Quoted 18 lines · Peter Zijlstra
Quoted 17 lines · Davidlohr Bueso
Quoted 16 lines · Ingo Molnar
Linus,
Please pull the latest locking-core-for-linus git tree from:
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.gitlocking-core-for-linus# HEAD:
3cf2f34e1a3d4d5ff209d087925cf950e52f4805rwsem: Add comments to explain the meaning of the rwsem's count fieldThe main changes in this cycle were:
- reduced/streamlined smp_mb__*() interface that allows more usecases and makes the existing ones less buggy, especially in rarer architectures
- add rwsem implementation comments
Quoted 8 lines
Quoted 8 lines
Quoted 1 line
- bump up lockdep limits
So I guess the rwsem optimistic spinning stuff will be routed through akpm then (which is already in -next for a while, through -mm).
Also curious about why Peter's rewrite of the
qrwlock_twas removed from -tip... I noticed it was there for a few days then disappeared. What am I missing?
I merged it, but then it broke and I reported the breakage - and zapped the bits to not create dependencies on broken bits.
( There was also quite some discussion back and forth as recently as
two weeks ago, so it didn't feel cooked enough to me to pick it up directly from email - but once it shows up in your queue I'm picking it up. )
Quoted 3 lines
Ingo is 'missing' most of the time, so while I sit here with a massive queue of patches its nearly impossible for me to get anything merged :-(
Right now I'm somewhat 'missing' because I fell ill right when the merge window began :-/ But I merged all your pending bits shortly before the merge window started. During the merge window itself I try not to merge fresh patches.
Thanks,
Ingo
Peter Zijlstra
maintainerQuoted 8 lines · Ingo Molnar
Quoted 3 lines
Ingo is 'missing' most of the time, so while I sit here with a massive queue of patches its nearly impossible for me to get anything merged :-(
Right now I'm somewhat 'missing' because I fell ill right when the merge window began :-/ But I merged all your pending bits shortly before the merge window started. During the merge window itself I try not to merge fresh patches.
Yeah, no problem that, it just shows we need to better arrange things for when you're not available.
My/our quilt workflow works really good for me when you're there, but its obviously somewhat broken without you. We just need to work out a (better) fallback case.
The timing was just somewhat unfortunate.
Quoted 7 lines · Peter Zijlstra
Quoted 5 lines · Ingo Molnar
Right now I'm somewhat 'missing' because I fell ill right when the merge window began :-/ But I merged all your pending bits shortly before the merge window started. During the merge window itself I try not to merge fresh patches.
Quoted 6 lines
Yeah, no problem that, it just shows we need to better arrange things for when you're not available.
My/our quilt workflow works really good for me when you're there, but its obviously somewhat broken without you. We just need to work out a (better) fallback case.
Agreed.
Quoted 1 line
The timing was just somewhat unfortunate.
Yeah, and another part of the problem was that I reported the breakage in private which really made it harder for others to see why there's a delay.
Thanks,
Ingo
Quoted 26 lines · Ingo Molnar
Quoted 23 lines · Peter Zijlstra
Quoted 22 lines · Davidlohr Bueso
Quoted 10 lines · Ingo Molnar
Linus,
Please pull the latest locking-core-for-linus git tree from:
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.gitlocking-core-for-linus# HEAD:
3cf2f34e1a3d4d5ff209d087925cf950e52f4805rwsem: Add comments to explain the meaning of the rwsem's count fieldThe main changes in this cycle were:
Quoted 7 lines
- reduced/streamlined smp_mb__*() interface that allows more usecases and makes the existing ones less buggy, especially in rarer architectures
- add rwsem implementation comments
- bump up lockdep limits
So I guess the rwsem optimistic spinning stuff will be routed through akpm then (which is already in -next for a while, through -mm).
Quoted 6 lines
Quoted 3 lines
Quoted 3 lines
Also curious about why Peter's rewrite of the
qrwlock_twas removed from -tip... I noticed it was there for a few days then disappeared. What am I missing?I merged it, but then it broke and I reported the breakage - and zapped the bits to not create dependencies on broken bits.
Unfortunately even with the latest bits from you the breakage I reported weeks ago is not resolved:
In file included from include/linux/spinlock_types.h:15:0,
from kernel/bounds.c:14:include/linux/spinlock_types_up.h:19:3: error: conflicting types for ‘arch_spinlock_t’ In file included from /home/mingo/linux/linux2/arch/x86/include/asm/paravirt_types.h:329:0,
from /home/mingo/linux/linux2/arch/x86/include/asm/ptrace.h:64,
from /home/mingo/linux/linux2/arch/x86/include/asm/alternative.h:8,
from /home/mingo/linux/linux2/arch/x86/include/asm/bitops.h:16,
from include/linux/bitops.h:33,
from include/linux/kernel.h:10,
from include/asm-generic/bug.h:13,
from /home/mingo/linux/linux2/arch/x86/include/asm/bug.h:35,
from include/linux/bug.h:4,
from include/linux/page-flags.h:9,
from kernel/bounds.c:9:/home/mingo/linux/linux2/arch/x86/include/asm/spinlock_types.h:33:3: note: previous declaration of ‘arch_spinlock_t’ was here In file included from include/linux/spinlock_types.h:15:0,
from kernel/bounds.c:14:include/linux/spinlock_types_up.h:21:0: warning: "__ARCH_SPIN_LOCK_UNLOCKED" redefined [enabled by default] In file included from /home/mingo/linux/linux2/arch/x86/include/asm/paravirt_types.h:329:0,
from /home/mingo/linux/linux2/arch/x86/include/asm/ptrace.h:64,
from /home/mingo/linux/linux2/arch/x86/include/asm/alternative.h:8,
from /home/mingo/linux/linux2/arch/x86/include/asm/bitops.h:16,
from include/linux/bitops.h:33,
from include/linux/kernel.h:10,
from include/asm-generic/bug.h:13,
from /home/mingo/linux/linux2/arch/x86/include/asm/bug.h:35,
from include/linux/bug.h:4,
from include/linux/page-flags.h:9,
from kernel/bounds.c:9:/home/mingo/linux/linux2/arch/x86/include/asm/spinlock_types.h:35:0: note: this is the location of the previous definition In file included from include/linux/spinlock_types.h:15:0,
from kernel/bounds.c:14:include/linux/spinlock_types_up.h:33:3: error: conflicting types for ‘arch_rwlock_t’
In file included from /home/mingo/linux/linux2/arch/x86/include/asm/spinlock_types.h:40:0,
from /home/mingo/linux/linux2/arch/x86/include/asm/paravirt_types.h:329,
from /home/mingo/linux/linux2/arch/x86/include/asm/ptrace.h:64,
from /home/mingo/linux/linux2/arch/x86/include/asm/alternative.h:8,
from /home/mingo/linux/linux2/arch/x86/include/asm/bitops.h:16,
from include/linux/bitops.h:33,
from include/linux/kernel.h:10,
from include/asm-generic/bug.h:13,
from /home/mingo/linux/linux2/arch/x86/include/asm/bug.h:35,
from include/linux/bug.h:4,
from include/linux/page-flags.h:9,
from kernel/bounds.c:9:/home/mingo/linux/linux2/arch/x86/include/asm/rwlock.h:12:3: note: previous declaration of ‘arch_rwlock_t’ was here In file included from include/linux/spinlock_types.h:15:0,
from kernel/bounds.c:14:include/linux/spinlock_types_up.h:35:0: warning: "__ARCH_RW_LOCK_UNLOCKED" redefined [enabled by default] In file included from /home/mingo/linux/linux2/arch/x86/include/asm/spinlock_types.h:40:0,
from /home/mingo/linux/linux2/arch/x86/include/asm/paravirt_types.h:329,
from /home/mingo/linux/linux2/arch/x86/include/asm/ptrace.h:64,
from /home/mingo/linux/linux2/arch/x86/include/asm/alternative.h:8,
from /home/mingo/linux/linux2/arch/x86/include/asm/bitops.h:16,
from include/linux/bitops.h:33,
from include/linux/kernel.h:10,
from include/asm-generic/bug.h:13,
from /home/mingo/linux/linux2/arch/x86/include/asm/bug.h:35,
from include/linux/bug.h:4,
from include/linux/page-flags.h:9,
from kernel/bounds.c:9:/home/mingo/linux/linux2/arch/x86/include/asm/rwlock.h:45:0: note: this is the location of the previous definition
config attached - I think the key aspect is !CONFIG_SMP.
Not unexpected the breakage comes from:
5627b9d439cc4dfaab738b8c21eef10fb40733f8 is the first bad commit commit 5627b9d439cc4dfaab738b8c21eef10fb40733f8
Author: Waiman Long <[email protected]>
Date: Mon Feb 3 13:18:57 2014 +0100
x86, locking: Switch x86 to qrwlock-style rwlocks and optimize it
Make x86 use the fair rwlock_t.
Please also split the feature-enabling and the optimization into two separate patches.
Thanks,
Ingo
#
# Automatically generated file; DO NOT EDIT.
# Linux/x86_64 3.15.0-rc8 Kernel Configuration
#CONFIG_64BIT=yCONFIG_X86_64=yCONFIG_X86=yCONFIG_INSTRUCTION_DECODER=yCONFIG_OUTPUT_FORMAT="elf64-x86-64"CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig"CONFIG_LOCKDEP_SUPPORT=yCONFIG_STACKTRACE_SUPPORT=yCONFIG_HAVE_LATENCYTOP_SUPPORT=yCONFIG_MMU=yCONFIG_NEED_DMA_MAP_STATE=yCONFIG_NEED_SG_DMA_LENGTH=yCONFIG_GENERIC_ISA_DMA=yCONFIG_GENERIC_BUG=yCONFIG_GENERIC_BUG_RELATIVE_POINTERS=yCONFIG_GENERIC_HWEIGHT=yCONFIG_ARCH_MAY_HAVE_PC_FDC=yCONFIG_RWSEM_XCHGADD_ALGORITHM=yCONFIG_GENERIC_CALIBRATE_DELAY=yCONFIG_ARCH_HAS_CPU_RELAX=yCONFIG_ARCH_HAS_CACHE_LINE_SIZE=yCONFIG_HAVE_SETUP_PER_CPU_AREA=yCONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=yCONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=yCONFIG_ARCH_HIBERNATION_POSSIBLE=yCONFIG_ARCH_SUSPEND_POSSIBLE=yCONFIG_ARCH_WANT_HUGE_PMD_SHARE=yCONFIG_ARCH_WANT_GENERAL_HUGETLB=yCONFIG_ZONE_DMA32=yCONFIG_AUDIT_ARCH=yCONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=yCONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=yCONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-rdi -fcall-saved-rsi -fcall-saved-rdx -fcall-saved-rcx -fcall-saved-r8 -fcall-saved-r9 -fcall-saved-r10 -fcall-saved-r11" CONFIG_ARCH_SUPPORTS_UPROBES=yCONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"CONFIG_IRQ_WORK=yCONFIG_BUILDTIME_EXTABLE_SORT=y
#
# General setup
#CONFIG_BROKEN_ON_SMP=yCONFIG_INIT_ENV_ARG_LIMIT=32CONFIG_CROSS_COMPILE=""
# CONFIG_COMPILE_TEST is not setCONFIG_LOCALVERSION=""
# CONFIG_LOCALVERSION_AUTO is not setCONFIG_HAVE_KERNEL_GZIP=yCONFIG_HAVE_KERNEL_BZIP2=yCONFIG_HAVE_KERNEL_LZMA=yCONFIG_HAVE_KERNEL_XZ=yCONFIG_HAVE_KERNEL_LZO=yCONFIG_HAVE_KERNEL_LZ4=y
# CONFIG_KERNEL_GZIP is not set
# CONFIG_KERNEL_BZIP2 is not set
# CONFIG_KERNEL_LZMA is not setCONFIG_KERNEL_XZ=y
# CONFIG_KERNEL_LZO is not set
# CONFIG_KERNEL_LZ4 is not setCONFIG_DEFAULT_HOSTNAME="(none)"
# CONFIG_SWAP is not set
# CONFIG_SYSVIPC is not setCONFIG_POSIX_MQUEUE=yCONFIG_POSIX_MQUEUE_SYSCTL=y
# CONFIG_FHANDLE is not set
# CONFIG_USELIB is not set
# CONFIG_AUDIT is not setCONFIG_HAVE_ARCH_AUDITSYSCALL=y
#
# IRQ subsystem
#CONFIG_GENERIC_IRQ_PROBE=yCONFIG_GENERIC_IRQ_SHOW=yCONFIG_GENERIC_IRQ_LEGACY_ALLOC_HWIRQ=yCONFIG_GENERIC_IRQ_CHIP=yCONFIG_IRQ_DOMAIN=yCONFIG_IRQ_DOMAIN_DEBUG=yCONFIG_IRQ_FORCED_THREADING=yCONFIG_SPARSE_IRQ=yCONFIG_CLOCKSOURCE_WATCHDOG=yCONFIG_ARCH_CLOCKSOURCE_DATA=yCONFIG_GENERIC_TIME_VSYSCALL=yCONFIG_GENERIC_CLOCKEVENTS=yCONFIG_GENERIC_CLOCKEVENTS_BUILD=yCONFIG_GENERIC_CLOCKEVENTS_BROADCAST=yCONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=yCONFIG_GENERIC_CMOS_UPDATE=y
#
# Timers subsystem
#CONFIG_TICK_ONESHOT=yCONFIG_HZ_PERIODIC=y
# CONFIG_NO_HZ_IDLE is not set
# CONFIG_NO_HZ is not setCONFIG_HIGH_RES_TIMERS=y
#
# CPU/Task time and stats accounting
#CONFIG_VIRT_CPU_ACCOUNTING=y
# CONFIG_TICK_CPU_ACCOUNTING is not setCONFIG_VIRT_CPU_ACCOUNTING_GEN=y
# CONFIG_IRQ_TIME_ACCOUNTING is not set
# CONFIG_BSD_PROCESS_ACCT is not setCONFIG_TASKSTATS=y
# CONFIG_TASK_DELAY_ACCT is not set
# CONFIG_TASK_XACCT is not set
#
# RCU Subsystem
#CONFIG_TINY_RCU=y
# CONFIG_PREEMPT_RCU is not setCONFIG_RCU_STALL_COMMON=yCONFIG_CONTEXT_TRACKING=y
# CONFIG_CONTEXT_TRACKING_FORCE is not set
# CONFIG_TREE_RCU_TRACE is not set
# CONFIG_IKCONFIG is not setCONFIG_LOG_BUF_SHIFT=20CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=yCONFIG_ARCH_SUPPORTS_NUMA_BALANCING=yCONFIG_ARCH_SUPPORTS_INT128=yCONFIG_ARCH_WANTS_PROT_NUMA_PROT_NONE=yCONFIG_CGROUPS=y
# CONFIG_CGROUP_DEBUG is not set
# CONFIG_CGROUP_FREEZER is not set
# CONFIG_CGROUP_DEVICE is not setCONFIG_CPUSETS=yCONFIG_PROC_PID_CPUSET=yCONFIG_CGROUP_CPUACCT=yCONFIG_RESOURCE_COUNTERS=yCONFIG_MEMCG=y
# CONFIG_CGROUP_HUGETLB is not set
# CONFIG_CGROUP_PERF is not setCONFIG_CGROUP_SCHED=yCONFIG_FAIR_GROUP_SCHED=y
# CONFIG_CFS_BANDWIDTH is not set
# CONFIG_RT_GROUP_SCHED is not set
# CONFIG_BLK_CGROUP is not set
# CONFIG_CHECKPOINT_RESTORE is not setCONFIG_NAMESPACES=yCONFIG_UTS_NS=yCONFIG_IPC_NS=yCONFIG_USER_NS=yCONFIG_PID_NS=y
# CONFIG_NET_NS is not setCONFIG_SCHED_AUTOGROUP=yCONFIG_MM_OWNER=yCONFIG_SYSFS_DEPRECATED=yCONFIG_SYSFS_DEPRECATED_V2=y
# CONFIG_RELAY is not set
# CONFIG_BLK_DEV_INITRD is not set
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not setCONFIG_SYSCTL=yCONFIG_ANON_INODES=yCONFIG_HAVE_UID16=yCONFIG_SYSCTL_EXCEPTION_TRACE=yCONFIG_HAVE_PCSPKR_PLATFORM=yCONFIG_EXPERT=yCONFIG_UID16=y
# CONFIG_SYSFS_SYSCALL is not set
# CONFIG_SYSCTL_SYSCALL is not setCONFIG_KALLSYMS=yCONFIG_KALLSYMS_ALL=yCONFIG_PRINTK=yCONFIG_BUG=y
# CONFIG_PCSPKR_PLATFORM is not set
# CONFIG_BASE_FULL is not setCONFIG_FUTEX=y
# CONFIG_EPOLL is not setCONFIG_SIGNALFD=y
# CONFIG_TIMERFD is not setCONFIG_EVENTFD=yCONFIG_SHMEM=yCONFIG_AIO=y
# CONFIG_PCI_QUIRKS is not setCONFIG_EMBEDDED=yCONFIG_HAVE_PERF_EVENTS=yCONFIG_PERF_USE_VMALLOC=y
#
# Kernel Performance Events And Counters
#CONFIG_PERF_EVENTS=yCONFIG_DEBUG_PERF_USE_VMALLOC=y
# CONFIG_VM_EVENT_COUNTERS is not set
# CONFIG_COMPAT_BRK is not set
# CONFIG_SLAB is not set
# CONFIG_SLUB is not setCONFIG_SLOB=y
# CONFIG_SYSTEM_TRUSTED_KEYRING is not setCONFIG_PROFILING=yCONFIG_OPROFILE=mCONFIG_OPROFILE_EVENT_MULTIPLEX=yCONFIG_HAVE_OPROFILE=yCONFIG_OPROFILE_NMI_TIMER=y
# CONFIG_KPROBES is not set
# CONFIG_JUMP_LABEL is not set
# CONFIG_UPROBES is not set
# CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not setCONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=yCONFIG_ARCH_USE_BUILTIN_BSWAP=yCONFIG_HAVE_IOREMAP_PROT=yCONFIG_HAVE_KPROBES=yCONFIG_HAVE_KRETPROBES=yCONFIG_HAVE_OPTPROBES=yCONFIG_HAVE_KPROBES_ON_FTRACE=yCONFIG_HAVE_ARCH_TRACEHOOK=yCONFIG_HAVE_DMA_ATTRS=yCONFIG_GENERIC_SMP_IDLE_THREAD=yCONFIG_HAVE_REGS_AND_STACK_ACCESS_API=yCONFIG_HAVE_CLK=yCONFIG_HAVE_DMA_API_DEBUG=yCONFIG_HAVE_HW_BREAKPOINT=yCONFIG_HAVE_MIXED_BREAKPOINTS_REGS=yCONFIG_HAVE_USER_RETURN_NOTIFIER=yCONFIG_HAVE_PERF_EVENTS_NMI=yCONFIG_HAVE_PERF_REGS=yCONFIG_HAVE_PERF_USER_STACK_DUMP=yCONFIG_HAVE_ARCH_JUMP_LABEL=yCONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=yCONFIG_HAVE_CMPXCHG_LOCAL=yCONFIG_HAVE_CMPXCHG_DOUBLE=yCONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION=yCONFIG_ARCH_WANT_OLD_COMPAT_IPC=yCONFIG_HAVE_ARCH_SECCOMP_FILTER=yCONFIG_HAVE_CC_STACKPROTECTOR=yCONFIG_CC_STACKPROTECTOR=y
# CONFIG_CC_STACKPROTECTOR_NONE is not setCONFIG_CC_STACKPROTECTOR_REGULAR=y
# CONFIG_CC_STACKPROTECTOR_STRONG is not setCONFIG_HAVE_CONTEXT_TRACKING=yCONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=yCONFIG_HAVE_IRQ_TIME_ACCOUNTING=yCONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=yCONFIG_HAVE_ARCH_SOFT_DIRTY=yCONFIG_MODULES_USE_ELF_RELA=yCONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK=yCONFIG_OLD_SIGSUSPEND3=yCONFIG_COMPAT_OLD_SIGACTION=y
#
# GCOV-based kernel profiling
#
# CONFIG_GCOV_KERNEL is not set
# CONFIG_HAVE_GENERIC_DMA_COHERENT is not setCONFIG_RT_MUTEXES=yCONFIG_BASE_SMALL=1CONFIG_MODULES=y
# CONFIG_MODULE_FORCE_LOAD is not setCONFIG_MODULE_UNLOAD=y
# CONFIG_MODULE_FORCE_UNLOAD is not setCONFIG_MODVERSIONS=y
# CONFIG_MODULE_SRCVERSION_ALL is not set
# CONFIG_MODULE_SIG is not setCONFIG_BLOCK=yCONFIG_BLK_DEV_BSG=yCONFIG_BLK_DEV_BSGLIB=yCONFIG_BLK_DEV_INTEGRITY=yCONFIG_BLK_CMDLINE_PARSER=y
#
# Partition Types
#CONFIG_PARTITION_ADVANCED=yCONFIG_ACORN_PARTITION=yCONFIG_ACORN_PARTITION_CUMANA=yCONFIG_ACORN_PARTITION_EESOX=y
# CONFIG_ACORN_PARTITION_ICS is not setCONFIG_ACORN_PARTITION_ADFS=yCONFIG_ACORN_PARTITION_POWERTEC=y
# CONFIG_ACORN_PARTITION_RISCIX is not set
# CONFIG_AIX_PARTITION is not set
# CONFIG_OSF_PARTITION is not setCONFIG_AMIGA_PARTITION=y
# CONFIG_ATARI_PARTITION is not setCONFIG_MAC_PARTITION=yCONFIG_MSDOS_PARTITION=yCONFIG_BSD_DISKLABEL=y
# CONFIG_MINIX_SUBPARTITION is not setCONFIG_SOLARIS_X86_PARTITION=yCONFIG_UNIXWARE_DISKLABEL=yCONFIG_LDM_PARTITION=yCONFIG_LDM_DEBUG=yCONFIG_SGI_PARTITION=y
# CONFIG_ULTRIX_PARTITION is not setCONFIG_SUN_PARTITION=y
# CONFIG_KARMA_PARTITION is not set
# CONFIG_EFI_PARTITION is not set
# CONFIG_SYSV68_PARTITION is not set
# CONFIG_CMDLINE_PARTITION is not setCONFIG_BLOCK_COMPAT=y
#
# IO Schedulers
#CONFIG_IOSCHED_NOOP=yCONFIG_IOSCHED_DEADLINE=yCONFIG_IOSCHED_CFQ=m
# CONFIG_DEFAULT_DEADLINE is not setCONFIG_DEFAULT_NOOP=yCONFIG_DEFAULT_IOSCHED="noop"CONFIG_UNINLINE_SPIN_UNLOCK=yCONFIG_ARCH_USE_QUEUE_RWLOCK=yCONFIG_FREEZER=y
#
# Processor type and features
#CONFIG_ZONE_DMA=y
# CONFIG_SMP is not setCONFIG_X86_X2APIC=y
# CONFIG_X86_MPPARSE is not set CONFIG_X86_EXTENDED_PLATFORM=y CONFIG_X86_INTEL_LPSS=y CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y CONFIG_SCHED_OMIT_FRAME_POINTER=y CONFIG_KVMTOOL_TEST_ENABLE=y CONFIG_HYPERVISOR_GUEST=yCONFIG_PARAVIRT=y
# CONFIG_PARAVIRT_DEBUG is not set CONFIG_XEN=yCONFIG_XEN_DOM0=yCONFIG_XEN_PVHVM=y CONFIG_XEN_MAX_DOMAIN_MEMORY=500 CONFIG_XEN_SAVE_RESTORE=y
# CONFIG_XEN_DEBUG_FS is not set CONFIG_XEN_PVH=y
# CONFIG_KVM_GUEST is not set CONFIG_PARAVIRT_TIME_ACCOUNTING=y CONFIG_PARAVIRT_CLOCK=yCONFIG_NO_BOOTMEM=y
# CONFIG_MEMTEST is not set
# CONFIG_MK8 is not set
# CONFIG_MPSC is not set
# CONFIG_MCORE2 is not set
# CONFIG_MATOM is not set CONFIG_GENERIC_CPU=y CONFIG_X86_INTERNODE_CACHE_SHIFT=6 CONFIG_X86_L1_CACHE_SHIFT=6CONFIG_X86_TSC=yCONFIG_X86_CMPXCHG64=yCONFIG_X86_CMOV=y CONFIG_X86_MINIMUM_CPU_FAMILY=64 CONFIG_X86_DEBUGCTLMSR=y CONFIG_PROCESSOR_SELECT=y
# CONFIG_CPU_SUP_INTEL is not set CONFIG_CPU_SUP_AMD=y
# CONFIG_CPU_SUP_CENTAUR is not set CONFIG_HPET_TIMER=yCONFIG_DMI=y
# CONFIG_GART_IOMMU is not set
# CONFIG_CALGARY_IOMMU is not set CONFIG_SWIOTLB=yCONFIG_IOMMU_HELPER=yCONFIG_NR_CPUS=1CONFIG_PREEMPT_NONE=y
# CONFIG_PREEMPT_VOLUNTARY is not set
# CONFIG_PREEMPT is not set CONFIG_PREEMPT_COUNT=y CONFIG_X86_LOCAL_APIC=yCONFIG_X86_IO_APIC=y
# CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS is not set CONFIG_X86_MCE=yCONFIG_X86_MCE_INTEL=y
# CONFIG_X86_MCE_AMD is not set CONFIG_X86_MCE_THRESHOLD=y CONFIG_X86_MCE_INJECT=y CONFIG_X86_THERMAL_VECTOR=y CONFIG_X86_16BIT=yCONFIG_X86_ESPFIX64=y
# CONFIG_I8K is not setCONFIG_MICROCODE=y
# CONFIG_MICROCODE_INTEL is not set
# CONFIG_MICROCODE_AMD is not set CONFIG_MICROCODE_OLD_INTERFACE=y
# CONFIG_MICROCODE_INTEL_EARLY is not set
# CONFIG_MICROCODE_AMD_EARLY is not set CONFIG_X86_MSR=m
# CONFIG_X86_CPUID is not set CONFIG_ARCH_PHYS_ADDR_T_64BIT=y CONFIG_ARCH_DMA_ADDR_T_64BIT=y
# CONFIG_DIRECT_GBPAGES is not set CONFIG_ARCH_SPARSEMEM_ENABLE=y CONFIG_ARCH_SPARSEMEM_DEFAULT=y CONFIG_ARCH_SELECT_MEMORY_MODEL=y CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000 CONFIG_SELECT_MEMORY_MODEL=y CONFIG_SPARSEMEM_MANUAL=yCONFIG_SPARSEMEM=y CONFIG_HAVE_MEMORY_PRESENT=y CONFIG_SPARSEMEM_EXTREME=y CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y CONFIG_SPARSEMEM_ALLOC_MEM_MAP_TOGETHER=y
# CONFIG_SPARSEMEM_VMEMMAP is not set CONFIG_HAVE_MEMBLOCK=y CONFIG_HAVE_MEMBLOCK_NODE_MAP=y CONFIG_ARCH_DISCARD_MEMBLOCK=y CONFIG_MEMORY_ISOLATION=y
# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set
# CONFIG_MEMORY_HOTPLUG is not set CONFIG_PAGEFLAGS_EXTENDED=y CONFIG_SPLIT_PTLOCK_CPUS=4 CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y CONFIG_COMPACTION=yCONFIG_MIGRATION=y CONFIG_PHYS_ADDR_T_64BIT=y CONFIG_ZONE_DMA_FLAG=1
# CONFIG_BOUNCE is not set CONFIG_NEED_BOUNCE_POOL=y CONFIG_VIRT_TO_BUS=yCONFIG_MMU_NOTIFIER=y
# CONFIG_KSM is not set CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y CONFIG_MEMORY_FAILURE=y CONFIG_HWPOISON_INJECT=m CONFIG_TRANSPARENT_HUGEPAGE=y CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y
# CONFIG_TRANSPARENT_HUGEPAGE_MADVISE is not set CONFIG_CROSS_MEMORY_ATTACH=y CONFIG_NEED_PER_CPU_KM=yCONFIG_CLEANCACHE=yCONFIG_CMA=y
# CONFIG_CMA_DEBUG is not set
# CONFIG_ZBUD is not setCONFIG_ZSMALLOC=y
# CONFIG_PGTABLE_MAPPING is not set CONFIG_GENERIC_EARLY_IOREMAP=y
# CONFIG_X86_CHECK_BIOS_CORRUPTION is not set CONFIG_X86_RESERVE_LOW=64CONFIG_MTRR=yCONFIG_MTRR_SANITIZER=y CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=0 CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1 CONFIG_X86_PAT=y CONFIG_ARCH_USES_PG_UNCACHED=y CONFIG_ARCH_RANDOM=y
# CONFIG_X86_SMAP is not setCONFIG_EFI=y
# CONFIG_EFI_STUB is not set
# CONFIG_SECCOMP is not set
# CONFIG_HZ_100 is not setCONFIG_HZ_250=y
# CONFIG_HZ_300 is not set
# CONFIG_HZ_1000 is not setCONFIG_HZ=250CONFIG_SCHED_HRTICK=y
# CONFIG_KEXEC is not set CONFIG_CRASH_DUMP=y CONFIG_PHYSICAL_START=0x1000000
# CONFIG_RELOCATABLE is not set CONFIG_PHYSICAL_ALIGN=0x200000
# CONFIG_COMPAT_VDSO is not set CONFIG_CMDLINE_BOOL=yCONFIG_CMDLINE=""
# CONFIG_CMDLINE_OVERRIDE is not set CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
#
# Power management and ACPI options
#
# CONFIG_SUSPEND is not setCONFIG_HIBERNATE_CALLBACKS=yCONFIG_PM_SLEEP=y
# CONFIG_PM_AUTOSLEEP is not set
# CONFIG_PM_WAKELOCKS is not setCONFIG_PM_RUNTIME=yCONFIG_PM=y
# CONFIG_PM_DEBUG is not setCONFIG_PM_CLK=y
# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not setCONFIG_ACPI=yCONFIG_ACPI_PROCFS_POWER=yCONFIG_ACPI_EC_DEBUGFS=m
# CONFIG_ACPI_AC is not setCONFIG_ACPI_BATTERY=mCONFIG_ACPI_BUTTON=m
# CONFIG_ACPI_VIDEO is not setCONFIG_ACPI_FAN=y
# CONFIG_ACPI_DOCK is not setCONFIG_ACPI_PROCESSOR=y
# CONFIG_ACPI_IPMI is not setCONFIG_ACPI_PROCESSOR_AGGREGATOR=yCONFIG_ACPI_THERMAL=y
# CONFIG_ACPI_CUSTOM_DSDT is not set
# CONFIG_ACPI_DEBUG is not setCONFIG_ACPI_PCI_SLOT=yCONFIG_X86_PM_TIMER=yCONFIG_ACPI_CONTAINER=y
# CONFIG_ACPI_SBS is not setCONFIG_ACPI_HED=yCONFIG_ACPI_CUSTOM_METHOD=m
# CONFIG_ACPI_BGRT is not setCONFIG_ACPI_REDUCED_HARDWARE_ONLY=y
# CONFIG_ACPI_APEI is not setCONFIG_ACPI_EXTLOG=mCONFIG_SFI=y
#
# CPU Frequency scaling
#CONFIG_CPU_FREQ=y CONFIG_CPU_FREQ_GOV_COMMON=y CONFIG_CPU_FREQ_STAT=y CONFIG_CPU_FREQ_STAT_DETAILS=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set # CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set # CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set # CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE=y CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
# CONFIG_CPU_FREQ_GOV_POWERSAVE is not set CONFIG_CPU_FREQ_GOV_USERSPACE=y
# CONFIG_CPU_FREQ_GOV_ONDEMAND is not set CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
#
# x86 CPU frequency scaling drivers # CONFIG_X86_INTEL_PSTATE=y CONFIG_X86_PCC_CPUFREQ=y CONFIG_X86_ACPI_CPUFREQ=y CONFIG_X86_ACPI_CPUFREQ_CPB=y CONFIG_X86_POWERNOW_K8=y # CONFIG_X86_SPEEDSTEP_CENTRINO is not set CONFIG_X86_P4_CLOCKMOD=y
#
# shared options # CONFIG_X86_SPEEDSTEP_LIB=y
#
# CPU Idle
#CONFIG_CPU_IDLE=yCONFIG_CPU_IDLE_MULTIPLE_DRIVERS=yCONFIG_CPU_IDLE_GOV_LADDER=yCONFIG_CPU_IDLE_GOV_MENU=y
# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set
#
# Memory power savings
#CONFIG_I7300_IDLE_IOAT_CHANNEL=yCONFIG_I7300_IDLE=y
#
# Bus options (PCI etc.)
#CONFIG_PCI=yCONFIG_PCI_DIRECT=yCONFIG_PCI_MMCONFIG=yCONFIG_PCI_XEN=yCONFIG_PCI_DOMAINS=yCONFIG_PCI_CNB20LE_QUIRK=yCONFIG_PCIEPORTBUS=yCONFIG_PCIEAER=yCONFIG_PCIE_ECRC=yCONFIG_PCIEAER_INJECT=m
# CONFIG_PCIEASPM is not setCONFIG_PCIE_PME=yCONFIG_PCI_MSI=y
# CONFIG_PCI_DEBUG is not setCONFIG_PCI_REALLOC_ENABLE_AUTO=y
# CONFIG_PCI_STUB is not setCONFIG_XEN_PCIDEV_FRONTEND=m
# CONFIG_HT_IRQ is not setCONFIG_PCI_ATS=yCONFIG_PCI_IOV=yCONFIG_PCI_PRI=yCONFIG_PCI_PASID=y
# CONFIG_PCI_IOAPIC is not setCONFIG_PCI_LABEL=y
#
# PCI host controller drivers
#CONFIG_ISA_DMA_API=yCONFIG_AMD_NB=yCONFIG_PCCARD=yCONFIG_PCMCIA=yCONFIG_PCMCIA_LOAD_CIS=yCONFIG_CARDBUS=y
#
# PC-card bridges
#CONFIG_YENTA=y
# CONFIG_YENTA_O2 is not setCONFIG_YENTA_RICOH=yCONFIG_YENTA_TI=yCONFIG_YENTA_ENE_TUNE=yCONFIG_YENTA_TOSHIBA=y
# CONFIG_PD6729 is not setCONFIG_I82092=yCONFIG_PCCARD_NONSTATIC=y
# CONFIG_HOTPLUG_PCI is not setCONFIG_RAPIDIO=yCONFIG_RAPIDIO_TSI721=yCONFIG_RAPIDIO_DISC_TIMEOUT=30CONFIG_RAPIDIO_ENABLE_RX_TX_PORTS=y
# CONFIG_RAPIDIO_DMA_ENGINE is not setCONFIG_RAPIDIO_DEBUG=yCONFIG_RAPIDIO_ENUM_BASIC=m
#
# RapidIO Switch drivers
#
# CONFIG_RAPIDIO_TSI57X is not setCONFIG_RAPIDIO_CPS_XX=m
# CONFIG_RAPIDIO_TSI568 is not setCONFIG_RAPIDIO_CPS_GEN2=mCONFIG_X86_SYSFB=y
#
# Executable file formats / Emulations
#CONFIG_BINFMT_ELF=yCONFIG_COMPAT_BINFMT_ELF=yCONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE=yCONFIG_BINFMT_SCRIPT=y
# CONFIG_HAVE_AOUT is not setCONFIG_BINFMT_MISC=y
# CONFIG_COREDUMP is not setCONFIG_IA32_EMULATION=yCONFIG_IA32_AOUT=yCONFIG_X86_X32=yCONFIG_COMPAT=yCONFIG_COMPAT_FOR_U64_ALIGNMENT=yCONFIG_KEYS_COMPAT=yCONFIG_X86_DEV_DMA_OPS=yCONFIG_IOSF_MBI=mCONFIG_NET=yCONFIG_COMPAT_NETLINK_MESSAGES=y
#
# Networking options
#CONFIG_PACKET=yCONFIG_PACKET_DIAG=yCONFIG_UNIX=yCONFIG_UNIX_DIAG=yCONFIG_XFRM=yCONFIG_XFRM_ALGO=yCONFIG_XFRM_USER=m
# CONFIG_XFRM_SUB_POLICY is not set CONFIG_XFRM_MIGRATE=y CONFIG_XFRM_STATISTICS=yCONFIG_XFRM_IPCOMP=mCONFIG_NET_KEY=mCONFIG_NET_KEY_MIGRATE=yCONFIG_INET=yCONFIG_IP_MULTICAST=y CONFIG_IP_ADVANCED_ROUTER=y CONFIG_IP_FIB_TRIE_STATS=y
# CONFIG_IP_MULTIPLE_TABLES is not set
# CONFIG_IP_ROUTE_MULTIPATH is not set
# CONFIG_IP_ROUTE_VERBOSE is not set CONFIG_IP_PNP=yCONFIG_IP_PNP_DHCP=y
# CONFIG_IP_PNP_BOOTP is not set
# CONFIG_IP_PNP_RARP is not set
# CONFIG_NET_IPIP is not set CONFIG_NET_IPGRE_DEMUX=m CONFIG_NET_IP_TUNNEL=mCONFIG_NET_IPGRE=m CONFIG_NET_IPGRE_BROADCAST=y
# CONFIG_IP_MROUTE is not set
# CONFIG_SYN_COOKIES is not set CONFIG_NET_IPVTI=mCONFIG_INET_AH=y
# CONFIG_INET_ESP is not set CONFIG_INET_IPCOMP=m CONFIG_INET_XFRM_TUNNEL=m CONFIG_INET_TUNNEL=m
# CONFIG_INET_XFRM_MODE_TRANSPORT is not set CONFIG_INET_XFRM_MODE_TUNNEL=m CONFIG_INET_XFRM_MODE_BEET=m CONFIG_INET_LRO=yCONFIG_INET_DIAG=mCONFIG_INET_TCP_DIAG=mCONFIG_INET_UDP_DIAG=m
# CONFIG_TCP_CONG_ADVANCED is not set CONFIG_TCP_CONG_CUBIC=y CONFIG_DEFAULT_TCP_CONG="cubic"
# CONFIG_TCP_MD5SIG is not setCONFIG_IPV6=m
# CONFIG_IPV6_ROUTER_PREF is not set
# CONFIG_IPV6_OPTIMISTIC_DAD is not set
# CONFIG_INET6_AH is not set
# CONFIG_INET6_ESP is not set
# CONFIG_INET6_IPCOMP is not set
# CONFIG_IPV6_MIP6 is not set
# CONFIG_INET6_XFRM_TUNNEL is not set
# CONFIG_INET6_TUNNEL is not set CONFIG_INET6_XFRM_MODE_TRANSPORT=m CONFIG_INET6_XFRM_MODE_TUNNEL=m CONFIG_INET6_XFRM_MODE_BEET=m
# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set # CONFIG_IPV6_VTI is not set CONFIG_IPV6_SIT=m
# CONFIG_IPV6_SIT_6RD is not set CONFIG_IPV6_NDISC_NODETYPE=y
# CONFIG_IPV6_TUNNEL is not set
# CONFIG_IPV6_GRE is not set
# CONFIG_IPV6_MULTIPLE_TABLES is not set
# CONFIG_IPV6_MROUTE is not set CONFIG_NETLABEL=yCONFIG_NETWORK_SECMARK=y CONFIG_NET_PTP_CLASSIFY=y
# CONFIG_NETWORK_PHY_TIMESTAMPING is not set CONFIG_NETFILTER=y
# CONFIG_NETFILTER_DEBUG is not set
# CONFIG_NETFILTER_ADVANCED is not set
#
# Core Netfilter Configuration
#CONFIG_NETFILTER_NETLINK=m
# CONFIG_NETFILTER_NETLINK_LOG is not setCONFIG_NF_CONNTRACK=m
# CONFIG_NF_CONNTRACK_SECMARK is not setCONFIG_NF_CONNTRACK_PROCFS=yCONFIG_NF_CONNTRACK_FTP=m
# CONFIG_NF_CONNTRACK_IRC is not setCONFIG_NF_CONNTRACK_BROADCAST=mCONFIG_NF_CONNTRACK_NETBIOS_NS=m
# CONFIG_NF_CONNTRACK_SIP is not setCONFIG_NF_CT_NETLINK=m
# CONFIG_NF_TABLES is not setCONFIG_NETFILTER_XTABLES=m
#
# Xtables combined modules
#CONFIG_NETFILTER_XT_MARK=m
#
# Xtables targets
#CONFIG_NETFILTER_XT_TARGET_LOG=m
# CONFIG_NETFILTER_XT_TARGET_NFLOG is not setCONFIG_NETFILTER_XT_TARGET_SECMARK=mCONFIG_NETFILTER_XT_TARGET_TCPMSS=m
#
# Xtables matches
#
# CONFIG_NETFILTER_XT_MATCH_CONNTRACK is not setCONFIG_NETFILTER_XT_MATCH_POLICY=m
# CONFIG_NETFILTER_XT_MATCH_STATE is not setCONFIG_IP_SET=mCONFIG_IP_SET_MAX=256CONFIG_IP_SET_BITMAP_IP=m
# CONFIG_IP_SET_BITMAP_IPMAC is not set
# CONFIG_IP_SET_BITMAP_PORT is not set
# CONFIG_IP_SET_HASH_IP is not set
# CONFIG_IP_SET_HASH_IPMARK is not set
# CONFIG_IP_SET_HASH_IPPORT is not setCONFIG_IP_SET_HASH_IPPORTIP=m
# CONFIG_IP_SET_HASH_IPPORTNET is not setCONFIG_IP_SET_HASH_NETPORTNET=mCONFIG_IP_SET_HASH_NET=mCONFIG_IP_SET_HASH_NETNET=m
# CONFIG_IP_SET_HASH_NETPORT is not setCONFIG_IP_SET_HASH_NETIFACE=m
# CONFIG_IP_SET_LIST_SET is not setCONFIG_IP_VS=m
# CONFIG_IP_VS_IPV6 is not setCONFIG_IP_VS_DEBUG=yCONFIG_IP_VS_TAB_BITS=12
#
# IPVS transport protocol load balancing support
#CONFIG_IP_VS_PROTO_TCP=yCONFIG_IP_VS_PROTO_UDP=yCONFIG_IP_VS_PROTO_AH_ESP=y
# CONFIG_IP_VS_PROTO_ESP is not setCONFIG_IP_VS_PROTO_AH=yCONFIG_IP_VS_PROTO_SCTP=y
#
# IPVS scheduler
#CONFIG_IP_VS_RR=mCONFIG_IP_VS_WRR=mCONFIG_IP_VS_LC=m
# CONFIG_IP_VS_WLC is not setCONFIG_IP_VS_LBLC=mCONFIG_IP_VS_LBLCR=mCONFIG_IP_VS_DH=m
# CONFIG_IP_VS_SH is not setCONFIG_IP_VS_SED=mCONFIG_IP_VS_NQ=m
#
# IPVS SH scheduler
#CONFIG_IP_VS_SH_TAB_BITS=8
#
# IPVS application helper
#CONFIG_IP_VS_NFCT=y
#
# IP: Netfilter Configuration
#CONFIG_NF_DEFRAG_IPV4=mCONFIG_NF_CONNTRACK_IPV4=mCONFIG_NF_CONNTRACK_PROC_COMPAT=y
# CONFIG_IP_NF_IPTABLES is not set
#
# IPv6: Netfilter Configuration
#CONFIG_NF_DEFRAG_IPV6=mCONFIG_NF_CONNTRACK_IPV6=mCONFIG_IP6_NF_IPTABLES=mCONFIG_IP6_NF_MATCH_IPV6HEADER=mCONFIG_IP6_NF_FILTER=mCONFIG_IP6_NF_TARGET_REJECT=mCONFIG_IP6_NF_MANGLE=m
# CONFIG_IP6_NF_RAW is not setCONFIG_IP_DCCP=yCONFIG_INET_DCCP_DIAG=m
#
# DCCP CCIDs Configuration
#
# CONFIG_IP_DCCP_CCID2_DEBUG is not setCONFIG_IP_DCCP_CCID3=y
# CONFIG_IP_DCCP_CCID3_DEBUG is not setCONFIG_IP_DCCP_TFRC_LIB=y
#
# DCCP Kernel Hacking
#
# CONFIG_IP_DCCP_DEBUG is not setCONFIG_IP_SCTP=mCONFIG_SCTP_DBG_OBJCNT=yCONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5=y
# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1 is not set
# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not setCONFIG_SCTP_COOKIE_HMAC_MD5=y
# CONFIG_SCTP_COOKIE_HMAC_SHA1 is not set
# CONFIG_RDS is not setCONFIG_TIPC=yCONFIG_TIPC_PORTS=8191
# CONFIG_ATM is not setCONFIG_L2TP=mCONFIG_L2TP_DEBUGFS=mCONFIG_L2TP_V3=y
# CONFIG_L2TP_IP is not setCONFIG_L2TP_ETH=mCONFIG_STP=mCONFIG_GARP=m
# CONFIG_BRIDGE is not setCONFIG_HAVE_NET_DSA=yCONFIG_NET_DSA=yCONFIG_NET_DSA_TAG_DSA=yCONFIG_NET_DSA_TAG_EDSA=yCONFIG_NET_DSA_TAG_TRAILER=yCONFIG_VLAN_8021Q=mCONFIG_VLAN_8021Q_GVRP=y
# CONFIG_VLAN_8021Q_MVRP is not setCONFIG_DECNET=m
# CONFIG_DECNET_ROUTER is not setCONFIG_LLC=y
# CONFIG_LLC2 is not setCONFIG_IPX=yCONFIG_IPX_INTERN=y
# CONFIG_ATALK is not set
# CONFIG_X25 is not set
# CONFIG_LAPB is not set
# CONFIG_PHONET is not set
# CONFIG_IEEE802154 is not set
# CONFIG_NET_SCHED is not set
# CONFIG_DCB is not setCONFIG_DNS_RESOLVER=yCONFIG_BATMAN_ADV=y
# CONFIG_BATMAN_ADV_BLA is not setCONFIG_BATMAN_ADV_DAT=yCONFIG_BATMAN_ADV_NC=y
# CONFIG_BATMAN_ADV_MCAST is not setCONFIG_BATMAN_ADV_DEBUG=yCONFIG_OPENVSWITCH=m
# CONFIG_OPENVSWITCH_GRE is not setCONFIG_OPENVSWITCH_VXLAN=yCONFIG_VSOCKETS=m
# CONFIG_NETLINK_MMAP is not set
# CONFIG_NETLINK_DIAG is not setCONFIG_NET_MPLS_GSO=y
# CONFIG_HSR is not setCONFIG_CGROUP_NET_PRIO=yCONFIG_CGROUP_NET_CLASSID=yCONFIG_NET_RX_BUSY_POLL=yCONFIG_BQL=y
# CONFIG_BPF_JIT is not set
#
# Network testing
#
# CONFIG_NET_PKTGEN is not setCONFIG_HAMRADIO=y
#
# Packet Radio protocols
#
# CONFIG_AX25 is not setCONFIG_CAN=mCONFIG_CAN_RAW=mCONFIG_CAN_BCM=mCONFIG_CAN_GW=m
#
# CAN Device Drivers
#CONFIG_CAN_VCAN=mCONFIG_CAN_SLCAN=mCONFIG_CAN_DEV=m
# CONFIG_CAN_CALC_BITTIMING is not set
# CONFIG_CAN_LEDS is not setCONFIG_CAN_MCP251X=mCONFIG_CAN_JANZ_ICAN3=mCONFIG_PCH_CAN=m
# CONFIG_CAN_SJA1000 is not setCONFIG_CAN_C_CAN=mCONFIG_CAN_C_CAN_PLATFORM=mCONFIG_CAN_C_CAN_PCI=m
# CONFIG_CAN_CC770 is not set
#
# CAN USB interfaces
#CONFIG_CAN_EMS_USB=mCONFIG_CAN_ESD_USB2=mCONFIG_CAN_KVASER_USB=mCONFIG_CAN_PEAK_USB=mCONFIG_CAN_8DEV_USB=mCONFIG_CAN_SOFTING=m
# CONFIG_CAN_SOFTING_CS is not setCONFIG_CAN_DEBUG_DEVICES=yCONFIG_IRDA=m
#
# IrDA protocols
#CONFIG_IRLAN=mCONFIG_IRNET=m
# CONFIG_IRCOMM is not setCONFIG_IRDA_ULTRA=y
#
# IrDA options
#
# CONFIG_IRDA_CACHE_LAST_LSAP is not set
# CONFIG_IRDA_FAST_RR is not setCONFIG_IRDA_DEBUG=y
#
# Infrared-port device drivers
#
#
# SIR device drivers
#CONFIG_IRTTY_SIR=m
#
# Dongle support
#CONFIG_DONGLE=yCONFIG_ESI_DONGLE=m
# CONFIG_ACTISYS_DONGLE is not set
# CONFIG_TEKRAM_DONGLE is not setCONFIG_TOIM3232_DONGLE=mCONFIG_LITELINK_DONGLE=m
# CONFIG_MA600_DONGLE is not set
# CONFIG_GIRBIL_DONGLE is not setCONFIG_MCP2120_DONGLE=m
# CONFIG_OLD_BELKIN_DONGLE is not set
# CONFIG_ACT200L_DONGLE is not setCONFIG_KINGSUN_DONGLE=m
# CONFIG_KSDAZZLE_DONGLE is not setCONFIG_KS959_DONGLE=m
#
# FIR device drivers
#CONFIG_USB_IRDA=mCONFIG_SIGMATEL_FIR=mCONFIG_NSC_FIR=mCONFIG_WINBOND_FIR=m
# CONFIG_SMC_IRCC_FIR is not setCONFIG_ALI_FIR=mCONFIG_VLSI_FIR=mCONFIG_VIA_FIR=m
# CONFIG_MCS_FIR is not setCONFIG_BT=y
# CONFIG_BT_6LOWPAN is not setCONFIG_BT_RFCOMM=m
# CONFIG_BT_RFCOMM_TTY is not set
# CONFIG_BT_BNEP is not set
# CONFIG_BT_HIDP is not set
#
# Bluetooth device drivers
#CONFIG_BT_HCIBTUSB=yCONFIG_BT_HCIBTSDIO=mCONFIG_BT_HCIUART=m
# CONFIG_BT_HCIUART_H4 is not set
# CONFIG_BT_HCIUART_BCSP is not set
# CONFIG_BT_HCIUART_ATH3K is not set
# CONFIG_BT_HCIUART_LL is not set
# CONFIG_BT_HCIUART_3WIRE is not setCONFIG_BT_HCIBCM203X=yCONFIG_BT_HCIBPA10X=y
# CONFIG_BT_HCIBFUSB is not set
# CONFIG_BT_HCIDTL1 is not setCONFIG_BT_HCIBT3C=mCONFIG_BT_HCIBLUECARD=yCONFIG_BT_HCIBTUART=yCONFIG_BT_HCIVHCI=m
# CONFIG_BT_MRVL is not setCONFIG_BT_ATH3K=mCONFIG_AF_RXRPC=mCONFIG_AF_RXRPC_DEBUG=yCONFIG_RXKAD=mCONFIG_WIRELESS=yCONFIG_WIRELESS_EXT=yCONFIG_WEXT_CORE=yCONFIG_WEXT_PROC=yCONFIG_WEXT_SPY=yCONFIG_WEXT_PRIV=y
# CONFIG_CFG80211 is not set
# CONFIG_LIB80211 is not set
#
# CFG80211 needs to be enabled for MAC80211
#CONFIG_WIMAX=mCONFIG_WIMAX_DEBUG_LEVEL=8
# CONFIG_RFKILL is not setCONFIG_RFKILL_REGULATOR=mCONFIG_NET_9P=yCONFIG_NET_9P_VIRTIO=yCONFIG_NET_9P_DEBUG=yCONFIG_CAIF=mCONFIG_CAIF_DEBUG=yCONFIG_CAIF_NETDEV=mCONFIG_CAIF_USB=mCONFIG_CEPH_LIB=yCONFIG_CEPH_LIB_PRETTYDEBUG=yCONFIG_CEPH_LIB_USE_DNS_RESOLVER=yCONFIG_NFC=mCONFIG_NFC_DIGITAL=mCONFIG_NFC_NCI=mCONFIG_NFC_NCI_SPI=yCONFIG_NFC_HCI=mCONFIG_NFC_SHDLC=y
#
# Near Field Communication (NFC) devices
#CONFIG_NFC_PN533=mCONFIG_NFC_TRF7970A=mCONFIG_NFC_SIM=mCONFIG_NFC_PORT100=mCONFIG_NFC_PN544=m
# CONFIG_NFC_PN544_I2C is not setCONFIG_NFC_MICROREAD=m
# CONFIG_NFC_MICROREAD_I2C is not setCONFIG_NFC_MRVL=m
# CONFIG_NFC_MRVL_USB is not setCONFIG_HAVE_BPF_JIT=y
#
# Device Drivers
#
#
# Generic Driver Options
#CONFIG_UEVENT_HELPER_PATH=""
# CONFIG_DEVTMPFS is not setCONFIG_STANDALONE=yCONFIG_PREVENT_FIRMWARE_BUILD=yCONFIG_FW_LOADER=y
# CONFIG_FIRMWARE_IN_KERNEL is not setCONFIG_EXTRA_FIRMWARE=""
# CONFIG_FW_LOADER_USER_HELPER is not set
# CONFIG_DEBUG_DRIVER is not set
# CONFIG_DEBUG_DEVRES is not setCONFIG_SYS_HYPERVISOR=y
# CONFIG_GENERIC_CPU_DEVICES is not setCONFIG_GENERIC_CPU_AUTOPROBE=yCONFIG_REGMAP=yCONFIG_REGMAP_I2C=mCONFIG_REGMAP_SPI=yCONFIG_REGMAP_MMIO=yCONFIG_REGMAP_IRQ=y
# CONFIG_DMA_SHARED_BUFFER is not set
#
# Bus devices
#
# CONFIG_CONNECTOR is not set
# CONFIG_MTD is not setCONFIG_PARPORT=yCONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y
# CONFIG_PARPORT_PC is not set
# CONFIG_PARPORT_GSC is not setCONFIG_PARPORT_AX88796=yCONFIG_PARPORT_1284=yCONFIG_PARPORT_NOT_PC=yCONFIG_PNP=y
# CONFIG_PNP_DEBUG_MESSAGES is not set
#
# Protocols
#CONFIG_PNPACPI=yCONFIG_BLK_DEV=yCONFIG_BLK_DEV_NULL_BLK=m
# CONFIG_BLK_DEV_FD is not setCONFIG_BLK_DEV_PCIESSD_MTIP32XX=yCONFIG_ZRAM=m
# CONFIG_ZRAM_LZ4_COMPRESS is not set
# CONFIG_ZRAM_DEBUG is not setCONFIG_BLK_CPQ_CISS_DA=mCONFIG_CISS_SCSI_TAPE=y
# CONFIG_BLK_DEV_DAC960 is not set
# CONFIG_BLK_DEV_UMEM is not set
# CONFIG_BLK_DEV_COW_COMMON is not set
# CONFIG_BLK_DEV_LOOP is not set
# CONFIG_BLK_DEV_DRBD is not setCONFIG_BLK_DEV_NBD=y
# CONFIG_BLK_DEV_NVME is not set
# CONFIG_BLK_DEV_SKD is not setCONFIG_BLK_DEV_SX8=mCONFIG_BLK_DEV_RAM=mCONFIG_BLK_DEV_RAM_COUNT=16CONFIG_BLK_DEV_RAM_SIZE=4096CONFIG_BLK_DEV_XIP=y
# CONFIG_CDROM_PKTCDVD is not set
# CONFIG_ATA_OVER_ETH is not setCONFIG_XEN_BLKDEV_FRONTEND=yCONFIG_VIRTIO_BLK=yCONFIG_BLK_DEV_HD=y
# CONFIG_BLK_DEV_RBD is not setCONFIG_BLK_DEV_RSXX=m
#
# Misc devices
#CONFIG_SENSORS_LIS3LV02D=mCONFIG_AD525X_DPOT=y
# CONFIG_AD525X_DPOT_I2C is not set
# CONFIG_AD525X_DPOT_SPI is not setCONFIG_ATMEL_PWM=y
# CONFIG_DUMMY_IRQ is not setCONFIG_IBM_ASM=yCONFIG_PHANTOM=mCONFIG_SGI_IOC4=yCONFIG_TIFM_CORE=mCONFIG_TIFM_7XX1=mCONFIG_ICS932S401=mCONFIG_ATMEL_SSC=m
# CONFIG_ENCLOSURE_SERVICES is not set
# CONFIG_CS5535_MFGPT is not setCONFIG_HP_ILO=yCONFIG_APDS9802ALS=mCONFIG_ISL29003=m
# CONFIG_ISL29020 is not setCONFIG_SENSORS_TSL2550=mCONFIG_SENSORS_BH1780=mCONFIG_SENSORS_BH1770=mCONFIG_SENSORS_APDS990X=mCONFIG_HMC6352=mCONFIG_DS1682=mCONFIG_TI_DAC7512=mCONFIG_VMWARE_BALLOON=mCONFIG_BMP085=y
# CONFIG_BMP085_I2C is not setCONFIG_BMP085_SPI=y
# CONFIG_PCH_PHUB is not setCONFIG_USB_SWITCH_FSA9480=m
# CONFIG_LATTICE_ECP3_CONFIG is not setCONFIG_SRAM=yCONFIG_C2PORT=yCONFIG_C2PORT_DURAMAR_2150=m
#
# EEPROM support
#CONFIG_EEPROM_AT24=mCONFIG_EEPROM_AT25=yCONFIG_EEPROM_LEGACY=m
# CONFIG_EEPROM_MAX6875 is not setCONFIG_EEPROM_93CX6=y
# CONFIG_EEPROM_93XX46 is not setCONFIG_CB710_CORE=m
# CONFIG_CB710_DEBUG is not setCONFIG_CB710_DEBUG_ASSUMPTIONS=y
#
# Texas Instruments shared transport line discipline #
# CONFIG_TI_ST is not set CONFIG_SENSORS_LIS3_I2C=m
#
# Altera FPGA firmware download module
#CONFIG_ALTERA_STAPL=m
# CONFIG_VMWARE_VMCI is not set
#
# Intel MIC Host Driver
#
# CONFIG_INTEL_MIC_HOST is not set
#
# Intel MIC Card Driver
#CONFIG_INTEL_MIC_CARD=y
# CONFIG_GENWQE is not set
# CONFIG_ECHO is not setCONFIG_HAVE_IDE=y
# CONFIG_IDE is not set
#
# SCSI device support
#CONFIG_SCSI_MOD=yCONFIG_RAID_ATTRS=mCONFIG_SCSI=yCONFIG_SCSI_DMA=yCONFIG_SCSI_TGT=mCONFIG_SCSI_NETLINK=y
# CONFIG_SCSI_PROC_FS is not set
#
# SCSI support type (disk, tape, CD-ROM)
#CONFIG_BLK_DEV_SD=y
# CONFIG_CHR_DEV_ST is not setCONFIG_CHR_DEV_OSST=mCONFIG_BLK_DEV_SR=yCONFIG_BLK_DEV_SR_VENDOR=yCONFIG_CHR_DEV_SG=y
# CONFIG_CHR_DEV_SCH is not setCONFIG_SCSI_MULTI_LUN=y
# CONFIG_SCSI_CONSTANTS is not set
# CONFIG_SCSI_LOGGING is not setCONFIG_SCSI_SCAN_ASYNC=y
#
# SCSI Transports
#CONFIG_SCSI_SPI_ATTRS=yCONFIG_SCSI_FC_ATTRS=yCONFIG_SCSI_ISCSI_ATTRS=yCONFIG_SCSI_SAS_ATTRS=yCONFIG_SCSI_SAS_LIBSAS=mCONFIG_SCSI_SAS_ATA=y
# CONFIG_SCSI_SAS_HOST_SMP is not setCONFIG_SCSI_SRP_ATTRS=m
# CONFIG_SCSI_SRP_TGT_ATTRS is not setCONFIG_SCSI_LOWLEVEL=yCONFIG_ISCSI_TCP=yCONFIG_ISCSI_BOOT_SYSFS=yCONFIG_SCSI_CXGB3_ISCSI=yCONFIG_SCSI_CXGB4_ISCSI=m
# CONFIG_SCSI_BNX2_ISCSI is not set
# CONFIG_SCSI_BNX2X_FCOE is not set
# CONFIG_BE2ISCSI is not set
# CONFIG_BLK_DEV_3W_XXXX_RAID is not setCONFIG_SCSI_HPSA=mCONFIG_SCSI_3W_9XXX=m
# CONFIG_SCSI_3W_SAS is not setCONFIG_SCSI_ACARD=mCONFIG_SCSI_AACRAID=m
# CONFIG_SCSI_AIC7XXX is not setCONFIG_SCSI_AIC79XX=yCONFIG_AIC79XX_CMDS_PER_DEVICE=32CONFIG_AIC79XX_RESET_DELAY_MS=5000CONFIG_AIC79XX_DEBUG_ENABLE=yCONFIG_AIC79XX_DEBUG_MASK=0CONFIG_AIC79XX_REG_PRETTY_PRINT=yCONFIG_SCSI_AIC94XX=m
# CONFIG_AIC94XX_DEBUG is not set
# CONFIG_SCSI_MVSAS is not set
# CONFIG_SCSI_MVUMI is not setCONFIG_SCSI_DPT_I2O=yCONFIG_SCSI_ADVANSYS=y
# CONFIG_SCSI_ARCMSR is not set
# CONFIG_SCSI_ESAS2R is not set
# CONFIG_MEGARAID_NEWGEN is not setCONFIG_MEGARAID_LEGACY=yCONFIG_MEGARAID_SAS=y
# CONFIG_SCSI_MPT2SAS is not setCONFIG_SCSI_MPT3SAS=mCONFIG_SCSI_MPT3SAS_MAX_SGE=128
# CONFIG_SCSI_MPT3SAS_LOGGING is not setCONFIG_SCSI_UFSHCD=yCONFIG_SCSI_UFSHCD_PCI=yCONFIG_SCSI_UFSHCD_PLATFORM=y
# CONFIG_SCSI_HPTIOP is not setCONFIG_SCSI_BUSLOGIC=m
# CONFIG_SCSI_FLASHPOINT is not set
# CONFIG_VMWARE_PVSCSI is not setCONFIG_LIBFC=yCONFIG_LIBFCOE=yCONFIG_FCOE=y
# CONFIG_FCOE_FNIC is not set
# CONFIG_SCSI_DMX3191D is not setCONFIG_SCSI_EATA=m
# CONFIG_SCSI_EATA_TAGGED_QUEUE is not set
# CONFIG_SCSI_EATA_LINKED_COMMANDS is not setCONFIG_SCSI_EATA_MAX_TAGS=16CONFIG_SCSI_FUTURE_DOMAIN=mCONFIG_SCSI_GDTH=m
# CONFIG_SCSI_ISCI is not setCONFIG_SCSI_IPS=yCONFIG_SCSI_INITIO=yCONFIG_SCSI_INIA100=m
# CONFIG_SCSI_STEX is not setCONFIG_SCSI_SYM53C8XX_2=mCONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
# CONFIG_SCSI_SYM53C8XX_MMIO is not set
# CONFIG_SCSI_IPR is not set
# CONFIG_SCSI_QLOGIC_1280 is not setCONFIG_SCSI_QLA_FC=y
# CONFIG_TCM_QLA2XXX is not setCONFIG_SCSI_QLA_ISCSI=yCONFIG_SCSI_LPFC=m
# CONFIG_SCSI_LPFC_DEBUG_FS is not set
# CONFIG_SCSI_DC395x is not set
# CONFIG_SCSI_DC390T is not set
# CONFIG_SCSI_DEBUG is not set
# CONFIG_SCSI_PMCRAID is not setCONFIG_SCSI_PM8001=mCONFIG_SCSI_SRP=m
# CONFIG_SCSI_BFA_FC is not set
# CONFIG_SCSI_VIRTIO is not set
# CONFIG_SCSI_CHELSIO_FCOE is not set
# CONFIG_SCSI_LOWLEVEL_PCMCIA is not setCONFIG_SCSI_DH=yCONFIG_SCSI_DH_RDAC=mCONFIG_SCSI_DH_HP_SW=mCONFIG_SCSI_DH_EMC=yCONFIG_SCSI_DH_ALUA=yCONFIG_SCSI_OSD_INITIATOR=y
# CONFIG_SCSI_OSD_ULD is not setCONFIG_SCSI_OSD_DPRINT_SENSE=1CONFIG_SCSI_OSD_DEBUG=yCONFIG_ATA=y
# CONFIG_ATA_NONSTANDARD is not set
# CONFIG_ATA_VERBOSE_ERROR is not set
# CONFIG_ATA_ACPI is not set
# CONFIG_SATA_PMP is not set
#
# Controllers with non-SFF native interface
#CONFIG_SATA_AHCI=y
# CONFIG_SATA_AHCI_PLATFORM is not setCONFIG_SATA_INIC162X=mCONFIG_SATA_ACARD_AHCI=mCONFIG_SATA_SIL24=yCONFIG_ATA_SFF=y
#
# SFF controllers with custom DMA interface
#CONFIG_PDC_ADMA=yCONFIG_SATA_QSTOR=m
# CONFIG_SATA_SX4 is not setCONFIG_ATA_BMDMA=y
#
# SATA SFF controllers with BMDMA
#CONFIG_ATA_PIIX=y
# CONFIG_SATA_MV is not setCONFIG_SATA_NV=yCONFIG_SATA_PROMISE=m
# CONFIG_SATA_SIL is not setCONFIG_SATA_SIS=yCONFIG_SATA_SVW=yCONFIG_SATA_ULI=mCONFIG_SATA_VIA=mCONFIG_SATA_VITESSE=y
#
# PATA SFF controllers with BMDMA
#
# CONFIG_PATA_ALI is not setCONFIG_PATA_AMD=y
# CONFIG_PATA_ARTOP is not setCONFIG_PATA_ATIIXP=mCONFIG_PATA_ATP867X=yCONFIG_PATA_CMD64X=yCONFIG_PATA_CYPRESS=yCONFIG_PATA_EFAR=m
# CONFIG_PATA_HPT366 is not set
# CONFIG_PATA_HPT37X is not setCONFIG_PATA_HPT3X2N=yCONFIG_PATA_HPT3X3=m
# CONFIG_PATA_HPT3X3_DMA is not set
# CONFIG_PATA_IT8213 is not setCONFIG_PATA_IT821X=yCONFIG_PATA_JMICRON=yCONFIG_PATA_MARVELL=yCONFIG_PATA_NETCELL=yCONFIG_PATA_NINJA32=yCONFIG_PATA_NS87415=yCONFIG_PATA_OLDPIIX=y
# CONFIG_PATA_OPTIDMA is not set
# CONFIG_PATA_PDC2027X is not setCONFIG_PATA_PDC_OLD=mCONFIG_PATA_RADISYS=y
# CONFIG_PATA_RDC is not setCONFIG_PATA_SCH=yCONFIG_PATA_SERVERWORKS=mCONFIG_PATA_SIL680=mCONFIG_PATA_SIS=yCONFIG_PATA_TOSHIBA=yCONFIG_PATA_TRIFLEX=mCONFIG_PATA_VIA=yCONFIG_PATA_WINBOND=m
#
# PIO-only SFF controllers
#CONFIG_PATA_CMD640_PCI=mCONFIG_PATA_MPIIX=yCONFIG_PATA_NS87410=yCONFIG_PATA_OPTI=yCONFIG_PATA_PCMCIA=yCONFIG_PATA_PLATFORM=m
# CONFIG_PATA_RZ1000 is not set
#
# Generic fallback / legacy drivers
#CONFIG_ATA_GENERIC=mCONFIG_PATA_LEGACY=mCONFIG_MD=yCONFIG_BLK_DEV_MD=yCONFIG_MD_AUTODETECT=yCONFIG_MD_LINEAR=yCONFIG_MD_RAID0=mCONFIG_MD_RAID1=m
# CONFIG_MD_RAID10 is not setCONFIG_MD_RAID456=yCONFIG_MD_MULTIPATH=mCONFIG_MD_FAULTY=m
# CONFIG_BCACHE is not setCONFIG_BLK_DEV_DM_BUILTIN=yCONFIG_BLK_DEV_DM=mCONFIG_DM_DEBUG=yCONFIG_DM_BUFIO=mCONFIG_DM_BIO_PRISON=mCONFIG_DM_PERSISTENT_DATA=mCONFIG_DM_DEBUG_BLOCK_STACK_TRACING=yCONFIG_DM_CRYPT=mCONFIG_DM_SNAPSHOT=mCONFIG_DM_THIN_PROVISIONING=mCONFIG_DM_CACHE=m
# CONFIG_DM_CACHE_MQ is not setCONFIG_DM_CACHE_CLEANER=mCONFIG_DM_ERA=mCONFIG_DM_MIRROR=m
# CONFIG_DM_LOG_USERSPACE is not set
# CONFIG_DM_RAID is not setCONFIG_DM_ZERO=m
# CONFIG_DM_MULTIPATH is not setCONFIG_DM_DELAY=mCONFIG_DM_UEVENT=y
# CONFIG_DM_FLAKEY is not set
# CONFIG_DM_VERITY is not setCONFIG_DM_SWITCH=mCONFIG_TARGET_CORE=yCONFIG_TCM_IBLOCK=yCONFIG_TCM_FILEIO=yCONFIG_TCM_PSCSI=yCONFIG_LOOPBACK_TARGET=mCONFIG_TCM_FC=yCONFIG_ISCSI_TARGET=y
# CONFIG_SBP_TARGET is not setCONFIG_FUSION=yCONFIG_FUSION_SPI=mCONFIG_FUSION_FC=m
# CONFIG_FUSION_SAS is not setCONFIG_FUSION_MAX_SGE=128CONFIG_FUSION_CTL=m
# CONFIG_FUSION_LOGGING is not set
#
# IEEE 1394 (FireWire) support
#CONFIG_FIREWIRE=y
# CONFIG_FIREWIRE_OHCI is not set
# CONFIG_FIREWIRE_SBP2 is not setCONFIG_FIREWIRE_NET=m
# CONFIG_FIREWIRE_NOSY is not setCONFIG_I2O=y
# CONFIG_I2O_LCT_NOTIFY_ON_CHANGES is not setCONFIG_I2O_EXT_ADAPTEC=yCONFIG_I2O_EXT_ADAPTEC_DMA64=yCONFIG_I2O_CONFIG=m
# CONFIG_I2O_CONFIG_OLD_IOCTL is not setCONFIG_I2O_BUS=yCONFIG_I2O_BLOCK=yCONFIG_I2O_SCSI=mCONFIG_I2O_PROC=yCONFIG_MACINTOSH_DRIVERS=yCONFIG_MAC_EMUMOUSEBTN=yCONFIG_NETDEVICES=yCONFIG_MII=yCONFIG_NET_CORE=y
# CONFIG_BONDING is not set
# CONFIG_DUMMY is not setCONFIG_EQUALIZER=m
# CONFIG_NET_FC is not setCONFIG_NET_TEAM=yCONFIG_NET_TEAM_MODE_BROADCAST=yCONFIG_NET_TEAM_MODE_ROUNDROBIN=m
# CONFIG_NET_TEAM_MODE_RANDOM is not setCONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m
# CONFIG_NET_TEAM_MODE_LOADBALANCE is not setCONFIG_MACVLAN=y
# CONFIG_MACVTAP is not setCONFIG_VXLAN=mCONFIG_NETCONSOLE=y
# CONFIG_NETCONSOLE_DYNAMIC is not setCONFIG_NETPOLL=yCONFIG_NET_POLL_CONTROLLER=yCONFIG_RIONET=mCONFIG_RIONET_TX_SIZE=128CONFIG_RIONET_RX_SIZE=128CONFIG_TUN=y
# CONFIG_VETH is not setCONFIG_VIRTIO_NET=yCONFIG_NLMON=yCONFIG_ARCNET=y
# CONFIG_ARCNET_1201 is not setCONFIG_ARCNET_1051=yCONFIG_ARCNET_RAW=yCONFIG_ARCNET_CAP=y
CONFIG_ARCNET_COM90xx=y
CONFIG_ARCNET_COM90xxIO=mCONFIG_ARCNET_RIM_I=mCONFIG_ARCNET_COM20020=y
# CONFIG_ARCNET_COM20020_PCI is not set
# CONFIG_ARCNET_COM20020_CS is not set
#
# CAIF transport drivers
#CONFIG_CAIF_TTY=m
# CONFIG_CAIF_SPI_SLAVE is not setCONFIG_CAIF_HSI=mCONFIG_CAIF_VIRTIO=mCONFIG_VHOST_NET=yCONFIG_VHOST_SCSI=mCONFIG_VHOST_RING=yCONFIG_VHOST=y
#
# Distributed Switch Architecture drivers
#CONFIG_NET_DSA_MV88E6XXX=mCONFIG_NET_DSA_MV88E6060=yCONFIG_NET_DSA_MV88E6XXX_NEED_PPU=yCONFIG_NET_DSA_MV88E6131=mCONFIG_NET_DSA_MV88E6123_61_65=mCONFIG_ETHERNET=yCONFIG_MDIO=y
# CONFIG_NET_VENDOR_3COM is not set
# CONFIG_NET_VENDOR_ADAPTEC is not setCONFIG_NET_VENDOR_ALTEON=yCONFIG_ACENIC=mCONFIG_ACENIC_OMIT_TIGON_I=y
# CONFIG_ALTERA_TSE is not set
# CONFIG_NET_VENDOR_AMD is not set
# CONFIG_NET_VENDOR_ARC is not setCONFIG_NET_VENDOR_ATHEROS=yCONFIG_ATL2=yCONFIG_ATL1=yCONFIG_ATL1E=mCONFIG_ATL1C=yCONFIG_ALX=m
# CONFIG_NET_VENDOR_BROADCOM is not setCONFIG_NET_VENDOR_BROCADE=y
# CONFIG_BNA is not setCONFIG_NET_CALXEDA_XGMAC=mCONFIG_NET_VENDOR_CHELSIO=y
# CONFIG_CHELSIO_T1 is not setCONFIG_CHELSIO_T3=yCONFIG_CHELSIO_T4=mCONFIG_CHELSIO_T4VF=y
# CONFIG_NET_VENDOR_CISCO is not setCONFIG_CX_ECAT=m
# CONFIG_DNET is not set
# CONFIG_NET_VENDOR_DEC is not setCONFIG_NET_VENDOR_DLINK=yCONFIG_DL2K=m
# CONFIG_SUNDANCE is not set
# CONFIG_NET_VENDOR_EMULEX is not setCONFIG_NET_VENDOR_EXAR=yCONFIG_S2IO=m
# CONFIG_VXGE is not setCONFIG_NET_VENDOR_FUJITSU=yCONFIG_PCMCIA_FMVJ18X=yCONFIG_NET_VENDOR_HP=y
# CONFIG_HP100 is not set
# CONFIG_NET_VENDOR_INTEL is not set
# CONFIG_IP1000 is not setCONFIG_JME=mCONFIG_NET_VENDOR_MARVELL=yCONFIG_MVMDIO=y
# CONFIG_SKGE is not setCONFIG_SKY2=yCONFIG_SKY2_DEBUG=y
# CONFIG_NET_VENDOR_MELLANOX is not setCONFIG_NET_VENDOR_MICREL=yCONFIG_KS8851=yCONFIG_KS8851_MLL=mCONFIG_KSZ884X_PCI=mCONFIG_NET_VENDOR_MICROCHIP=y
# CONFIG_ENC28J60 is not set
# CONFIG_NET_VENDOR_MYRI is not setCONFIG_FEALNX=yCONFIG_NET_VENDOR_NATSEMI=yCONFIG_NATSEMI=y
# CONFIG_NS83820 is not set
# CONFIG_NET_VENDOR_8390 is not setCONFIG_NET_VENDOR_NVIDIA=yCONFIG_FORCEDETH=yCONFIG_NET_VENDOR_OKI=y
# CONFIG_PCH_GBE is not setCONFIG_ETHOC=y
# CONFIG_NET_PACKET_ENGINE is not setCONFIG_NET_VENDOR_QLOGIC=y
# CONFIG_QLA3XXX is not set
# CONFIG_QLCNIC is not set
# CONFIG_QLGE is not set
# CONFIG_NETXEN_NIC is not setCONFIG_NET_VENDOR_REALTEK=y
# CONFIG_ATP is not setCONFIG_8139CP=mCONFIG_8139TOO=mCONFIG_8139TOO_PIO=y
# CONFIG_8139TOO_TUNE_TWISTER is not setCONFIG_8139TOO_8129=y
# CONFIG_8139_OLD_RX_RESET is not setCONFIG_R8169=yCONFIG_SH_ETH=m
# CONFIG_NET_VENDOR_RDC is not set
# CONFIG_NET_VENDOR_SAMSUNG is not setCONFIG_NET_VENDOR_SEEQ=y
# CONFIG_NET_VENDOR_SILAN is not setCONFIG_NET_VENDOR_SIS=yCONFIG_SIS900=y
# CONFIG_SIS190 is not setCONFIG_SFC=m
# CONFIG_SFC_MCDI_MON is not set
# CONFIG_SFC_SRIOV is not setCONFIG_NET_VENDOR_SMSC=yCONFIG_PCMCIA_SMC91C92=yCONFIG_EPIC100=y
# CONFIG_SMSC911X is not set
# CONFIG_SMSC9420 is not set
# CONFIG_NET_VENDOR_STMICRO is not set
# CONFIG_NET_VENDOR_SUN is not setCONFIG_NET_VENDOR_TEHUTI=yCONFIG_TEHUTI=mCONFIG_NET_VENDOR_TI=yCONFIG_TLAN=y
# CONFIG_NET_VENDOR_VIA is not set
# CONFIG_NET_VENDOR_WIZNET is not set
# CONFIG_NET_VENDOR_XIRCOM is not setCONFIG_FDDI=yCONFIG_DEFXX=m
# CONFIG_DEFXX_MMIO is not set
# CONFIG_SKFP is not set
# CONFIG_HIPPI is not setCONFIG_NET_SB1000=mCONFIG_PHYLIB=y
#
# MII PHY device drivers
#CONFIG_AT803X_PHY=y
# CONFIG_AMD_PHY is not set
# CONFIG_MARVELL_PHY is not setCONFIG_DAVICOM_PHY=mCONFIG_QSEMI_PHY=mCONFIG_LXT_PHY=yCONFIG_CICADA_PHY=yCONFIG_VITESSE_PHY=m
# CONFIG_SMSC_PHY is not set
# CONFIG_BROADCOM_PHY is not set
# CONFIG_BCM7XXX_PHY is not set
# CONFIG_BCM87XX_PHY is not setCONFIG_ICPLUS_PHY=yCONFIG_REALTEK_PHY=y
# CONFIG_NATIONAL_PHY is not setCONFIG_STE10XP=yCONFIG_LSI_ET1011C_PHY=yCONFIG_MICREL_PHY=m
# CONFIG_FIXED_PHY is not setCONFIG_MDIO_BITBANG=yCONFIG_MDIO_GPIO=m
# CONFIG_MICREL_KS8995MA is not setCONFIG_PLIP=mCONFIG_PPP=mCONFIG_PPP_BSDCOMP=m
# CONFIG_PPP_DEFLATE is not set
# CONFIG_PPP_FILTER is not setCONFIG_PPP_MPPE=mCONFIG_PPP_MULTILINK=yCONFIG_PPPOE=mCONFIG_PPTP=m
# CONFIG_PPPOL2TP is not setCONFIG_PPP_ASYNC=mCONFIG_PPP_SYNC_TTY=mCONFIG_SLIP=yCONFIG_SLHC=yCONFIG_SLIP_COMPRESSED=yCONFIG_SLIP_SMART=y
# CONFIG_SLIP_MODE_SLIP6 is not set
#
# USB Network Adapters
#CONFIG_USB_CATC=yCONFIG_USB_KAWETH=y
# CONFIG_USB_PEGASUS is not setCONFIG_USB_RTL8150=yCONFIG_USB_RTL8152=yCONFIG_USB_USBNET=mCONFIG_USB_NET_AX8817X=m
# CONFIG_USB_NET_AX88179_178A is not set
# CONFIG_USB_NET_CDCETHER is not setCONFIG_USB_NET_CDC_EEM=mCONFIG_USB_NET_CDC_NCM=mCONFIG_USB_NET_HUAWEI_CDC_NCM=m
# CONFIG_USB_NET_CDC_MBIM is not setCONFIG_USB_NET_DM9601=mCONFIG_USB_NET_SR9700=mCONFIG_USB_NET_SR9800=mCONFIG_USB_NET_SMSC75XX=mCONFIG_USB_NET_SMSC95XX=mCONFIG_USB_NET_GL620A=m
# CONFIG_USB_NET_NET1080 is not set
# CONFIG_USB_NET_PLUSB is not setCONFIG_USB_NET_MCS7830=m
# CONFIG_USB_NET_RNDIS_HOST is not set
# CONFIG_USB_NET_CDC_SUBSET is not set
# CONFIG_USB_NET_ZAURUS is not setCONFIG_USB_NET_CX82310_ETH=mCONFIG_USB_NET_KALMIA=m
# CONFIG_USB_NET_QMI_WWAN is not setCONFIG_USB_NET_INT51X1=mCONFIG_USB_IPHETH=yCONFIG_USB_SIERRA_NET=mCONFIG_WLAN=y
# CONFIG_PCMCIA_RAYCS is not setCONFIG_PRISM54=y
# CONFIG_HOSTAP is not set
# CONFIG_WL_TI is not set
#
# WiMAX Wireless Broadband devices
#CONFIG_WIMAX_I2400M=mCONFIG_WIMAX_I2400M_USB=mCONFIG_WIMAX_I2400M_DEBUG_LEVEL=8CONFIG_WAN=yCONFIG_LANMEDIA=yCONFIG_HDLC=yCONFIG_HDLC_RAW=y
# CONFIG_HDLC_RAW_ETH is not setCONFIG_HDLC_CISCO=m
# CONFIG_HDLC_FR is not setCONFIG_HDLC_PPP=y
#
# X.25/LAPB support is disabled
#CONFIG_PCI200SYN=yCONFIG_WANXL=yCONFIG_PC300TOO=yCONFIG_FARSYNC=mCONFIG_DSCC4=mCONFIG_DSCC4_PCISYNC=yCONFIG_DSCC4_PCI_RST=yCONFIG_DLCI=yCONFIG_DLCI_MAX=8CONFIG_SBNI=m
# CONFIG_SBNI_MULTILINE is not setCONFIG_XEN_NETDEV_FRONTEND=y
# CONFIG_VMXNET3 is not set
# CONFIG_ISDN is not set
#
# Input device support
#CONFIG_INPUT=yCONFIG_INPUT_FF_MEMLESS=mCONFIG_INPUT_POLLDEV=yCONFIG_INPUT_SPARSEKMAP=mCONFIG_INPUT_MATRIXKMAP=m
#
# Userland interfaces
#CONFIG_INPUT_MOUSEDEV=y
# CONFIG_INPUT_MOUSEDEV_PSAUX is not setCONFIG_INPUT_MOUSEDEV_SCREEN_X=1024CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
# CONFIG_INPUT_JOYDEV is not set
# CONFIG_INPUT_EVDEV is not set
# CONFIG_INPUT_EVBUG is not set
#
# Input Device Drivers
#CONFIG_INPUT_KEYBOARD=yCONFIG_KEYBOARD_ADP5588=mCONFIG_KEYBOARD_ADP5589=mCONFIG_KEYBOARD_ATKBD=yCONFIG_KEYBOARD_QT1070=m
# CONFIG_KEYBOARD_QT2160 is not setCONFIG_KEYBOARD_LKKBD=yCONFIG_KEYBOARD_GPIO=mCONFIG_KEYBOARD_GPIO_POLLED=yCONFIG_KEYBOARD_TCA6416=mCONFIG_KEYBOARD_TCA8418=m
# CONFIG_KEYBOARD_MATRIX is not set
# CONFIG_KEYBOARD_LM8323 is not setCONFIG_KEYBOARD_LM8333=mCONFIG_KEYBOARD_MAX7359=mCONFIG_KEYBOARD_MCS=m
# CONFIG_KEYBOARD_MPR121 is not setCONFIG_KEYBOARD_NEWTON=yCONFIG_KEYBOARD_OPENCORES=m
# CONFIG_KEYBOARD_SAMSUNG is not set
# CONFIG_KEYBOARD_STOWAWAY is not set
# CONFIG_KEYBOARD_SUNKBD is not setCONFIG_KEYBOARD_STMPE=mCONFIG_KEYBOARD_XTKBD=mCONFIG_INPUT_MOUSE=y
# CONFIG_MOUSE_PS2 is not setCONFIG_MOUSE_SERIAL=mCONFIG_MOUSE_APPLETOUCH=mCONFIG_MOUSE_BCM5974=y
# CONFIG_MOUSE_CYAPA is not setCONFIG_MOUSE_VSXXXAA=mCONFIG_MOUSE_GPIO=yCONFIG_MOUSE_SYNAPTICS_I2C=m
# CONFIG_MOUSE_SYNAPTICS_USB is not setCONFIG_INPUT_JOYSTICK=yCONFIG_JOYSTICK_ANALOG=yCONFIG_JOYSTICK_A3D=m
# CONFIG_JOYSTICK_ADI is not setCONFIG_JOYSTICK_COBRA=yCONFIG_JOYSTICK_GF2K=y
# CONFIG_JOYSTICK_GRIP is not setCONFIG_JOYSTICK_GRIP_MP=y
# CONFIG_JOYSTICK_GUILLEMOT is not set
# CONFIG_JOYSTICK_INTERACT is not set
# CONFIG_JOYSTICK_SIDEWINDER is not setCONFIG_JOYSTICK_TMDC=m
# CONFIG_JOYSTICK_IFORCE is not setCONFIG_JOYSTICK_WARRIOR=mCONFIG_JOYSTICK_MAGELLAN=mCONFIG_JOYSTICK_SPACEORB=mCONFIG_JOYSTICK_SPACEBALL=yCONFIG_JOYSTICK_STINGER=y
# CONFIG_JOYSTICK_TWIDJOY is not setCONFIG_JOYSTICK_ZHENHUA=mCONFIG_JOYSTICK_DB9=y
# CONFIG_JOYSTICK_GAMECON is not setCONFIG_JOYSTICK_TURBOGRAFX=mCONFIG_JOYSTICK_AS5011=m
# CONFIG_JOYSTICK_JOYDUMP is not set
# CONFIG_JOYSTICK_XPAD is not setCONFIG_JOYSTICK_WALKERA0701=yCONFIG_INPUT_TABLET=y
# CONFIG_TABLET_USB_ACECAD is not setCONFIG_TABLET_USB_AIPTEK=mCONFIG_TABLET_USB_GTCO=m
# CONFIG_TABLET_USB_HANWANG is not setCONFIG_TABLET_USB_KBTAB=yCONFIG_TABLET_USB_WACOM=y
# CONFIG_INPUT_TOUCHSCREEN is not setCONFIG_INPUT_MISC=yCONFIG_INPUT_AD714X=y
# CONFIG_INPUT_AD714X_I2C is not setCONFIG_INPUT_AD714X_SPI=mCONFIG_INPUT_ARIZONA_HAPTICS=mCONFIG_INPUT_BMA150=mCONFIG_INPUT_MMA8450=mCONFIG_INPUT_MPU3050=mCONFIG_INPUT_APANEL=mCONFIG_INPUT_GP2A=mCONFIG_INPUT_GPIO_TILT_POLLED=mCONFIG_INPUT_ATLAS_BTNS=m
# CONFIG_INPUT_ATI_REMOTE2 is not setCONFIG_INPUT_KEYSPAN_REMOTE=mCONFIG_INPUT_KXTJ9=mCONFIG_INPUT_KXTJ9_POLLED_MODE=yCONFIG_INPUT_POWERMATE=yCONFIG_INPUT_YEALINK=m
# CONFIG_INPUT_CM109 is not setCONFIG_INPUT_UINPUT=yCONFIG_INPUT_PCF50633_PMU=mCONFIG_INPUT_PCF8574=m
# CONFIG_INPUT_GPIO_ROTARY_ENCODER is not setCONFIG_INPUT_DA9052_ONKEY=yCONFIG_INPUT_ADXL34X=mCONFIG_INPUT_ADXL34X_I2C=mCONFIG_INPUT_ADXL34X_SPI=mCONFIG_INPUT_IMS_PCU=mCONFIG_INPUT_CMA3000=m
# CONFIG_INPUT_CMA3000_I2C is not setCONFIG_INPUT_XEN_KBDDEV_FRONTEND=yCONFIG_INPUT_IDEAPAD_SLIDEBAR=yCONFIG_INPUT_SOC_BUTTON_ARRAY=m
#
# Hardware I/O ports
#CONFIG_SERIO=yCONFIG_ARCH_MIGHT_HAVE_PC_SERIO=yCONFIG_SERIO_I8042=yCONFIG_SERIO_SERPORT=m
# CONFIG_SERIO_CT82C710 is not set
# CONFIG_SERIO_PARKBD is not setCONFIG_SERIO_PCIPS2=yCONFIG_SERIO_LIBPS2=yCONFIG_SERIO_RAW=y
# CONFIG_SERIO_ALTERA_PS2 is not setCONFIG_SERIO_PS2MULT=yCONFIG_SERIO_ARC_PS2=yCONFIG_GAMEPORT=yCONFIG_GAMEPORT_NS558=yCONFIG_GAMEPORT_L4=mCONFIG_GAMEPORT_EMU10K1=y
# CONFIG_GAMEPORT_FM801 is not set
#
# Character devices
#CONFIG_TTY=yCONFIG_VT=y
# CONFIG_CONSOLE_TRANSLATIONS is not setCONFIG_VT_CONSOLE=yCONFIG_VT_CONSOLE_SLEEP=yCONFIG_HW_CONSOLE=yCONFIG_VT_HW_CONSOLE_BINDING=yCONFIG_UNIX98_PTYS=y
# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not setCONFIG_LEGACY_PTYS=yCONFIG_LEGACY_PTY_COUNT=256CONFIG_SERIAL_NONSTANDARD=yCONFIG_ROCKETPORT=mCONFIG_CYCLADES=mCONFIG_CYZ_INTR=y
# CONFIG_MOXA_INTELLIO is not set
# CONFIG_MOXA_SMARTIO is not setCONFIG_SYNCLINK=yCONFIG_SYNCLINKMP=mCONFIG_SYNCLINK_GT=mCONFIG_NOZOMI=yCONFIG_ISI=yCONFIG_N_HDLC=y
# CONFIG_N_GSM is not set
# CONFIG_TRACE_SINK is not set
# CONFIG_DEVKMEM is not set
#
# Serial drivers
#CONFIG_SERIAL_8250=y
# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set # CONFIG_SERIAL_8250_PNP is not set CONFIG_SERIAL_8250_CONSOLE=y CONFIG_FIX_EARLYCON_MEM=y CONFIG_SERIAL_8250_PCI=y
# CONFIG_SERIAL_8250_CS is not set CONFIG_SERIAL_8250_NR_UARTS=4 CONFIG_SERIAL_8250_RUNTIME_UARTS=4
# CONFIG_SERIAL_8250_EXTENDED is not set CONFIG_SERIAL_8250_DW=y
#
# Non-8250 serial port support
#
# CONFIG_SERIAL_KGDB_NMI is not set
# CONFIG_SERIAL_MAX3100 is not set CONFIG_SERIAL_MAX310X=m CONFIG_SERIAL_MRST_MAX3110=y CONFIG_SERIAL_MFD_HSU=m CONFIG_SERIAL_UARTLITE=y CONFIG_SERIAL_UARTLITE_CONSOLE=y CONFIG_SERIAL_CORE=y CONFIG_SERIAL_CORE_CONSOLE=y CONFIG_CONSOLE_POLL=yCONFIG_SERIAL_JSM=yCONFIG_SERIAL_SCCNXP=y
# CONFIG_SERIAL_SCCNXP_CONSOLE is not set CONFIG_SERIAL_ALTERA_JTAGUART=y
# CONFIG_SERIAL_ALTERA_JTAGUART_CONSOLE is not set # CONFIG_SERIAL_ALTERA_UART is not set CONFIG_SERIAL_IFX6X60=m CONFIG_SERIAL_PCH_UART=y
# CONFIG_SERIAL_PCH_UART_CONSOLE is not set # CONFIG_SERIAL_ARC is not set
# CONFIG_SERIAL_RP2 is not set CONFIG_SERIAL_FSL_LPUART=y CONFIG_SERIAL_FSL_LPUART_CONSOLE=y CONFIG_TTY_PRINTK=m
# CONFIG_PRINTER is not setCONFIG_PPDEV=yCONFIG_HVC_DRIVER=y
# CONFIG_HVC_XEN is not set CONFIG_VIRTIO_CONSOLE=y CONFIG_IPMI_HANDLER=m CONFIG_IPMI_PANIC_EVENT=y CONFIG_IPMI_PANIC_STRING=y
# CONFIG_IPMI_DEVICE_INTERFACE is not set CONFIG_IPMI_SI=m CONFIG_IPMI_SI_PROBE_DEFAULTS=y CONFIG_IPMI_WATCHDOG=m
# CONFIG_IPMI_POWEROFF is not set CONFIG_HW_RANDOM=y CONFIG_HW_RANDOM_TIMERIOMEM=y CONFIG_HW_RANDOM_INTEL=y CONFIG_HW_RANDOM_AMD=m CONFIG_HW_RANDOM_ATMEL=y
# CONFIG_HW_RANDOM_VIA is not set
# CONFIG_HW_RANDOM_VIRTIO is not set
# CONFIG_HW_RANDOM_EXYNOS is not set
# CONFIG_HW_RANDOM_TPM is not set CONFIG_NVRAM=mCONFIG_R3964=y
# CONFIG_APPLICOM is not set
#
# PCMCIA character devices
#CONFIG_SYNCLINK_CS=y
# CONFIG_CARDMAN_4000 is not set
# CONFIG_CARDMAN_4040 is not setCONFIG_IPWIRELESS=mCONFIG_MWAVE=y
# CONFIG_RAW_DRIVER is not set
# CONFIG_HPET is not setCONFIG_HANGCHECK_TIMER=yCONFIG_TCG_TPM=yCONFIG_TCG_TIS=yCONFIG_TCG_TIS_I2C_ATMEL=mCONFIG_TCG_TIS_I2C_INFINEON=mCONFIG_TCG_TIS_I2C_NUVOTON=mCONFIG_TCG_NSC=y
# CONFIG_TCG_ATMEL is not setCONFIG_TCG_INFINEON=mCONFIG_TCG_ST33_I2C=mCONFIG_TCG_XEN=y
# CONFIG_TELCLOCK is not setCONFIG_DEVPORT=yCONFIG_I2C=mCONFIG_I2C_BOARDINFO=y
# CONFIG_I2C_COMPAT is not setCONFIG_I2C_CHARDEV=mCONFIG_I2C_MUX=m
#
# Multiplexer I2C Chip support
#
# CONFIG_I2C_MUX_GPIO is not setCONFIG_I2C_MUX_PCA9541=m
CONFIG_I2C_MUX_PCA954x=mCONFIG_I2C_MUX_PINCTRL=mCONFIG_I2C_HELPER_AUTO=yCONFIG_I2C_SMBUS=mCONFIG_I2C_ALGOBIT=mCONFIG_I2C_ALGOPCA=m
#
# I2C Hardware Bus support
#
#
# PC SMBus host controller drivers
#CONFIG_I2C_ALI1535=m
# CONFIG_I2C_ALI1563 is not setCONFIG_I2C_ALI15X3=m
# CONFIG_I2C_AMD756 is not setCONFIG_I2C_AMD8111=mCONFIG_I2C_I801=mCONFIG_I2C_ISCH=mCONFIG_I2C_ISMT=mCONFIG_I2C_PIIX4=m
# CONFIG_I2C_NFORCE2 is not setCONFIG_I2C_SIS5595=mCONFIG_I2C_SIS630=m
# CONFIG_I2C_SIS96X is not setCONFIG_I2C_VIA=m
# CONFIG_I2C_VIAPRO is not set
#
# ACPI drivers
#
# CONFIG_I2C_SCMI is not set
#
# I2C system bus drivers (mostly embedded / system-on-chip) #
# CONFIG_I2C_CBUS_GPIO is not set CONFIG_I2C_DESIGNWARE_CORE=m CONFIG_I2C_DESIGNWARE_PLATFORM=m CONFIG_I2C_DESIGNWARE_PCI=mCONFIG_I2C_EG20T=m
# CONFIG_I2C_GPIO is not setCONFIG_I2C_KEMPLD=m
# CONFIG_I2C_OCORES is not set CONFIG_I2C_PCA_PLATFORM=m
# CONFIG_I2C_PXA_PCI is not set CONFIG_I2C_SIMTEC=mCONFIG_I2C_XILINX=m
#
# External I2C/SMBus adapter drivers
#
# CONFIG_I2C_DIOLAN_U2C is not setCONFIG_I2C_PARPORT=mCONFIG_I2C_PARPORT_LIGHT=mCONFIG_I2C_ROBOTFUZZ_OSIF=m
# CONFIG_I2C_TAOS_EVM is not set
# CONFIG_I2C_TINY_USB is not set
# CONFIG_I2C_VIPERBOARD is not set
#
# Other I2C/SMBus bus drivers
#CONFIG_I2C_STUB=m
# CONFIG_I2C_DEBUG_CORE is not setCONFIG_I2C_DEBUG_ALGO=yCONFIG_I2C_DEBUG_BUS=yCONFIG_SPI=y
# CONFIG_SPI_DEBUG is not setCONFIG_SPI_MASTER=y
#
# SPI Master Controller Drivers
#CONFIG_SPI_ALTERA=mCONFIG_SPI_BITBANG=yCONFIG_SPI_BUTTERFLY=yCONFIG_SPI_GPIO=y
# CONFIG_SPI_LM70_LLP is not setCONFIG_SPI_OC_TINY=y
# CONFIG_SPI_PXA2XX is not set
# CONFIG_SPI_PXA2XX_PCI is not set
# CONFIG_SPI_SC18IS602 is not setCONFIG_SPI_TOPCLIFF_PCH=yCONFIG_SPI_XCOMM=m
# CONFIG_SPI_XILINX is not setCONFIG_SPI_DESIGNWARE=yCONFIG_SPI_DW_PCI=yCONFIG_SPI_DW_MMIO=m
#
# SPI Protocol Masters
#
# CONFIG_SPI_SPIDEV is not set
# CONFIG_SPI_TLE62X0 is not set
# CONFIG_SPMI is not setCONFIG_HSI=mCONFIG_HSI_BOARDINFO=y
#
# HSI clients
#
# CONFIG_HSI_CHAR is not set
#
# PPS support
#CONFIG_PPS=y
# CONFIG_PPS_DEBUG is not setCONFIG_NTP_PPS=y
#
# PPS clients support
#
# CONFIG_PPS_CLIENT_KTIMER is not setCONFIG_PPS_CLIENT_LDISC=m
# CONFIG_PPS_CLIENT_PARPORT is not set
# CONFIG_PPS_CLIENT_GPIO is not set
#
# PPS generators support
#
#
# PTP clock support
#CONFIG_PTP_1588_CLOCK=m
#
# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks. #
# CONFIG_PTP_1588_CLOCK_PCH is not setCONFIG_PINCTRL=y
#
# Pin controllers
#CONFIG_PINMUX=y
# CONFIG_PINCONF is not setCONFIG_DEBUG_PINCTRL=yCONFIG_PINCTRL_BAYTRAIL=yCONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=yCONFIG_GPIOLIB=yCONFIG_GPIO_DEVRES=yCONFIG_GPIO_ACPI=y
# CONFIG_DEBUG_GPIO is not setCONFIG_GPIO_SYSFS=y
# CONFIG_GPIO_DA9052 is not setCONFIG_GPIO_MAX730X=y
#
# Memory mapped GPIO drivers:
#
# CONFIG_GPIO_GENERIC_PLATFORM is not setCONFIG_GPIO_IT8761E=y
# CONFIG_GPIO_F7188X is not set
# CONFIG_GPIO_SCH311X is not setCONFIG_GPIO_SCH=mCONFIG_GPIO_ICH=mCONFIG_GPIO_VX855=y
# CONFIG_GPIO_LYNXPOINT is not set
#
# I2C GPIO expanders:
#CONFIG_GPIO_ARIZONA=yCONFIG_GPIO_LP3943=mCONFIG_GPIO_MAX7300=m
# CONFIG_GPIO_MAX732X is not setCONFIG_GPIO_PCA953X=mCONFIG_GPIO_PCF857X=mCONFIG_GPIO_STMPE=yCONFIG_GPIO_ADP5588=m
#
# PCI GPIO expanders:
#
# CONFIG_GPIO_CS5535 is not setCONFIG_GPIO_BT8XX=m
# CONFIG_GPIO_AMD8111 is not setCONFIG_GPIO_INTEL_MID=yCONFIG_GPIO_PCH=mCONFIG_GPIO_ML_IOH=yCONFIG_GPIO_TIMBERDALE=yCONFIG_GPIO_RDC321X=m
#
# SPI GPIO expanders:
#CONFIG_GPIO_MAX7301=yCONFIG_GPIO_MC33880=m
#
# AC97 GPIO expanders:
#CONFIG_GPIO_UCB1400=m
#
# LPC GPIO expanders:
#
# CONFIG_GPIO_KEMPLD is not set
#
# MODULbus GPIO expanders:
#CONFIG_GPIO_JANZ_TTL=m
#
# USB GPIO expanders:
#CONFIG_GPIO_VIPERBOARD=mCONFIG_W1=y
#
# 1-wire Bus Masters
#CONFIG_W1_MASTER_MATROX=m
# CONFIG_W1_MASTER_DS2490 is not setCONFIG_W1_MASTER_DS2482=mCONFIG_W1_MASTER_DS1WM=yCONFIG_W1_MASTER_GPIO=m
#
# 1-wire Slaves
#
# CONFIG_W1_SLAVE_THERM is not set
# CONFIG_W1_SLAVE_SMEM is not set
# CONFIG_W1_SLAVE_DS2408 is not setCONFIG_W1_SLAVE_DS2413=y
# CONFIG_W1_SLAVE_DS2423 is not setCONFIG_W1_SLAVE_DS2431=yCONFIG_W1_SLAVE_DS2433=mCONFIG_W1_SLAVE_DS2433_CRC=yCONFIG_W1_SLAVE_DS2760=mCONFIG_W1_SLAVE_DS2780=yCONFIG_W1_SLAVE_DS2781=mCONFIG_W1_SLAVE_DS28E04=yCONFIG_W1_SLAVE_BQ27000=yCONFIG_POWER_SUPPLY=y
# CONFIG_POWER_SUPPLY_DEBUG is not setCONFIG_PDA_POWER=y
# CONFIG_GENERIC_ADC_BATTERY is not setCONFIG_TEST_POWER=m
# CONFIG_BATTERY_DS2760 is not setCONFIG_BATTERY_DS2780=yCONFIG_BATTERY_DS2781=mCONFIG_BATTERY_DS2782=mCONFIG_BATTERY_SBS=m
CONFIG_BATTERY_BQ27x00=mCONFIG_BATTERY_BQ27X00_I2C=yCONFIG_BATTERY_BQ27X00_PLATFORM=yCONFIG_BATTERY_DA9052=mCONFIG_BATTERY_MAX17040=m
# CONFIG_BATTERY_MAX17042 is not set
# CONFIG_CHARGER_PCF50633 is not setCONFIG_CHARGER_ISP1704=y
# CONFIG_CHARGER_MAX8903 is not setCONFIG_CHARGER_LP8727=mCONFIG_CHARGER_GPIO=yCONFIG_CHARGER_BQ2415X=m
# CONFIG_CHARGER_BQ24190 is not setCONFIG_CHARGER_BQ24735=mCONFIG_CHARGER_SMB347=m
# CONFIG_POWER_RESET is not set
# CONFIG_POWER_AVS is not setCONFIG_HWMON=mCONFIG_HWMON_VID=m
# CONFIG_HWMON_DEBUG_CHIP is not set
#
# Native drivers
#CONFIG_SENSORS_ABITUGURU=mCONFIG_SENSORS_ABITUGURU3=mCONFIG_SENSORS_AD7314=m
# CONFIG_SENSORS_AD7414 is not set
# CONFIG_SENSORS_AD7418 is not setCONFIG_SENSORS_ADM1021=mCONFIG_SENSORS_ADM1025=mCONFIG_SENSORS_ADM1026=mCONFIG_SENSORS_ADM1029=mCONFIG_SENSORS_ADM1031=m
# CONFIG_SENSORS_ADM9240 is not setCONFIG_SENSORS_ADT7X10=mCONFIG_SENSORS_ADT7310=m
# CONFIG_SENSORS_ADT7410 is not setCONFIG_SENSORS_ADT7411=mCONFIG_SENSORS_ADT7462=mCONFIG_SENSORS_ADT7470=mCONFIG_SENSORS_ADT7475=mCONFIG_SENSORS_ASC7621=mCONFIG_SENSORS_K8TEMP=mCONFIG_SENSORS_K10TEMP=m
# CONFIG_SENSORS_FAM15H_POWER is not setCONFIG_SENSORS_APPLESMC=mCONFIG_SENSORS_ASB100=m
# CONFIG_SENSORS_ATXP1 is not set
# CONFIG_SENSORS_DS620 is not setCONFIG_SENSORS_DS1621=m
# CONFIG_SENSORS_DA9052_ADC is not set
# CONFIG_SENSORS_I5K_AMB is not setCONFIG_SENSORS_F71805F=mCONFIG_SENSORS_F71882FG=mCONFIG_SENSORS_F75375S=mCONFIG_SENSORS_FSCHMD=m
# CONFIG_SENSORS_GL518SM is not setCONFIG_SENSORS_GL520SM=mCONFIG_SENSORS_G760A=mCONFIG_SENSORS_G762=mCONFIG_SENSORS_GPIO_FAN=mCONFIG_SENSORS_HIH6130=mCONFIG_SENSORS_IBMAEM=m
# CONFIG_SENSORS_IBMPEX is not setCONFIG_SENSORS_IIO_HWMON=mCONFIG_SENSORS_CORETEMP=mCONFIG_SENSORS_IT87=mCONFIG_SENSORS_JC42=m
# CONFIG_SENSORS_LINEAGE is not setCONFIG_SENSORS_LTC2945=m
# CONFIG_SENSORS_LTC4151 is not setCONFIG_SENSORS_LTC4215=mCONFIG_SENSORS_LTC4222=mCONFIG_SENSORS_LTC4245=mCONFIG_SENSORS_LTC4260=mCONFIG_SENSORS_LTC4261=mCONFIG_SENSORS_MAX1111=mCONFIG_SENSORS_MAX16065=mCONFIG_SENSORS_MAX1619=m
# CONFIG_SENSORS_MAX1668 is not setCONFIG_SENSORS_MAX197=m
# CONFIG_SENSORS_MAX6639 is not setCONFIG_SENSORS_MAX6642=mCONFIG_SENSORS_MAX6650=mCONFIG_SENSORS_MAX6697=m
# CONFIG_SENSORS_HTU21 is not setCONFIG_SENSORS_MCP3021=mCONFIG_SENSORS_ADCXX=mCONFIG_SENSORS_LM63=mCONFIG_SENSORS_LM70=mCONFIG_SENSORS_LM73=mCONFIG_SENSORS_LM75=m
# CONFIG_SENSORS_LM77 is not setCONFIG_SENSORS_LM78=m
# CONFIG_SENSORS_LM80 is not set
# CONFIG_SENSORS_LM83 is not set
# CONFIG_SENSORS_LM85 is not set
# CONFIG_SENSORS_LM87 is not set
# CONFIG_SENSORS_LM90 is not set
# CONFIG_SENSORS_LM92 is not set
# CONFIG_SENSORS_LM93 is not set
# CONFIG_SENSORS_LM95234 is not setCONFIG_SENSORS_LM95241=mCONFIG_SENSORS_LM95245=mCONFIG_SENSORS_PC87360=mCONFIG_SENSORS_PC87427=m
# CONFIG_SENSORS_NTC_THERMISTOR is not set
# CONFIG_SENSORS_NCT6775 is not set
# CONFIG_SENSORS_PCF8591 is not set
# CONFIG_PMBUS is not setCONFIG_SENSORS_SHT15=mCONFIG_SENSORS_SHT21=mCONFIG_SENSORS_SIS5595=mCONFIG_SENSORS_DME1737=mCONFIG_SENSORS_EMC1403=mCONFIG_SENSORS_EMC2103=m
# CONFIG_SENSORS_EMC6W201 is not setCONFIG_SENSORS_SMSC47M1=mCONFIG_SENSORS_SMSC47M192=m
# CONFIG_SENSORS_SMSC47B397 is not set
# CONFIG_SENSORS_SCH56XX_COMMON is not setCONFIG_SENSORS_SMM665=mCONFIG_SENSORS_ADC128D818=m
# CONFIG_SENSORS_ADS1015 is not setCONFIG_SENSORS_ADS7828=m
# CONFIG_SENSORS_ADS7871 is not set
# CONFIG_SENSORS_AMC6821 is not set
# CONFIG_SENSORS_INA209 is not set
# CONFIG_SENSORS_INA2XX is not setCONFIG_SENSORS_THMC50=mCONFIG_SENSORS_TMP102=m
# CONFIG_SENSORS_TMP401 is not set
# CONFIG_SENSORS_TMP421 is not setCONFIG_SENSORS_VIA_CPUTEMP=m
# CONFIG_SENSORS_VIA686A is not setCONFIG_SENSORS_VT1211=m
# CONFIG_SENSORS_VT8231 is not setCONFIG_SENSORS_W83781D=m
# CONFIG_SENSORS_W83791D is not setCONFIG_SENSORS_W83792D=mCONFIG_SENSORS_W83793=m
# CONFIG_SENSORS_W83795 is not setCONFIG_SENSORS_W83L785TS=mCONFIG_SENSORS_W83L786NG=mCONFIG_SENSORS_W83627HF=m
# CONFIG_SENSORS_W83627EHF is not set
#
# ACPI drivers
#CONFIG_SENSORS_ACPI_POWER=m CONFIG_SENSORS_ATK0110=mCONFIG_THERMAL=y CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y
# CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set # CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set # CONFIG_THERMAL_GOV_FAIR_SHARE is not set CONFIG_THERMAL_GOV_STEP_WISE=y CONFIG_THERMAL_GOV_USER_SPACE=y
# CONFIG_THERMAL_EMULATION is not set CONFIG_X86_PKG_TEMP_THERMAL=y
# CONFIG_ACPI_INT3403_THERMAL is not set
#
# Texas Instruments thermal drivers
#
# CONFIG_WATCHDOG is not setCONFIG_SSB_POSSIBLE=y
#
# Sonics Silicon Backplane
#CONFIG_SSB=yCONFIG_SSB_SPROM=yCONFIG_SSB_PCIHOST_POSSIBLE=yCONFIG_SSB_PCIHOST=y
# CONFIG_SSB_B43_PCI_BRIDGE is not setCONFIG_SSB_PCMCIAHOST_POSSIBLE=y
# CONFIG_SSB_PCMCIAHOST is not setCONFIG_SSB_SILENT=yCONFIG_SSB_DRIVER_PCICORE_POSSIBLE=yCONFIG_SSB_DRIVER_PCICORE=yCONFIG_SSB_DRIVER_GPIO=yCONFIG_BCMA_POSSIBLE=y
#
# Broadcom specific AMBA
#CONFIG_BCMA=yCONFIG_BCMA_HOST_PCI_POSSIBLE=yCONFIG_BCMA_HOST_PCI=y
# CONFIG_BCMA_HOST_SOC is not setCONFIG_BCMA_DRIVER_GMAC_CMN=y
# CONFIG_BCMA_DRIVER_GPIO is not set
# CONFIG_BCMA_DEBUG is not set
#
# Multifunction device drivers
#CONFIG_MFD_CORE=yCONFIG_MFD_CS5535=mCONFIG_MFD_BCM590XX=m
# CONFIG_MFD_CROS_EC is not setCONFIG_PMIC_DA9052=yCONFIG_MFD_DA9052_SPI=y
# CONFIG_MFD_MC13XXX_SPI is not set
# CONFIG_MFD_MC13XXX_I2C is not setCONFIG_HTC_PASIC3=mCONFIG_LPC_ICH=yCONFIG_LPC_SCH=yCONFIG_MFD_JANZ_CMODIO=yCONFIG_MFD_KEMPLD=y
# CONFIG_EZX_PCAP is not setCONFIG_MFD_VIPERBOARD=m
# CONFIG_MFD_RETU is not setCONFIG_MFD_PCF50633=mCONFIG_PCF50633_ADC=m
# CONFIG_PCF50633_GPIO is not setCONFIG_UCB1400_CORE=mCONFIG_MFD_RDC321X=yCONFIG_MFD_RTSX_PCI=yCONFIG_MFD_RTSX_USB=mCONFIG_MFD_SI476X_CORE=mCONFIG_MFD_SM501=yCONFIG_MFD_SM501_GPIO=yCONFIG_ABX500_CORE=yCONFIG_MFD_STMPE=y
#
# STMicroelectronics STMPE Interface Drivers
#CONFIG_STMPE_SPI=yCONFIG_MFD_SYSCON=yCONFIG_MFD_TI_AM335X_TSCADC=mCONFIG_MFD_LP3943=mCONFIG_TPS6105X=m
# CONFIG_TPS65010 is not setCONFIG_TPS6507X=mCONFIG_MFD_TPS65217=mCONFIG_MFD_TPS65218=m
# CONFIG_MFD_TPS65912 is not set
# CONFIG_MFD_TPS65912_SPI is not setCONFIG_MFD_WL1273_CORE=m
# CONFIG_MFD_LM3533 is not setCONFIG_MFD_TIMBERDALE=y
# CONFIG_MFD_TMIO is not setCONFIG_MFD_VX855=yCONFIG_MFD_ARIZONA=y
# CONFIG_MFD_ARIZONA_I2C is not setCONFIG_MFD_ARIZONA_SPI=yCONFIG_MFD_WM5102=y
# CONFIG_MFD_WM5110 is not set
# CONFIG_MFD_WM8997 is not set
# CONFIG_MFD_WM831X_SPI is not setCONFIG_REGULATOR=yCONFIG_REGULATOR_DEBUG=yCONFIG_REGULATOR_FIXED_VOLTAGE=mCONFIG_REGULATOR_VIRTUAL_CONSUMER=yCONFIG_REGULATOR_USERSPACE_CONSUMER=y
# CONFIG_REGULATOR_ACT8865 is not setCONFIG_REGULATOR_AD5398=mCONFIG_REGULATOR_ANATOP=m
# CONFIG_REGULATOR_ARIZONA is not setCONFIG_REGULATOR_BCM590XX=mCONFIG_REGULATOR_DA9052=m
# CONFIG_REGULATOR_DA9210 is not set
# CONFIG_REGULATOR_FAN53555 is not set
# CONFIG_REGULATOR_GPIO is not set
# CONFIG_REGULATOR_ISL6271A is not setCONFIG_REGULATOR_LP3971=mCONFIG_REGULATOR_LP3972=mCONFIG_REGULATOR_LP872X=mCONFIG_REGULATOR_LP8755=m
# CONFIG_REGULATOR_MAX1586 is not setCONFIG_REGULATOR_MAX8649=m
# CONFIG_REGULATOR_MAX8660 is not setCONFIG_REGULATOR_MAX8952=m
# CONFIG_REGULATOR_MAX8973 is not set
# CONFIG_REGULATOR_PCF50633 is not setCONFIG_REGULATOR_PFUZE100=mCONFIG_REGULATOR_TPS51632=mCONFIG_REGULATOR_TPS6105X=mCONFIG_REGULATOR_TPS62360=mCONFIG_REGULATOR_TPS65023=m
# CONFIG_REGULATOR_TPS6507X is not setCONFIG_REGULATOR_TPS65217=mCONFIG_REGULATOR_TPS6524X=y
# CONFIG_MEDIA_SUPPORT is not set
#
# Graphics support
#
# CONFIG_AGP is not setCONFIG_VGA_ARB=yCONFIG_VGA_ARB_MAX_GPUS=16CONFIG_VGA_SWITCHEROO=y
#
# Direct Rendering Manager
#
# CONFIG_DRM is not set
#
# Frame buffer Devices
#CONFIG_FB=y
# CONFIG_FIRMWARE_EDID is not setCONFIG_FB_DDC=m
# CONFIG_FB_BOOT_VESA_SUPPORT is not setCONFIG_FB_CFB_FILLRECT=yCONFIG_FB_CFB_COPYAREA=yCONFIG_FB_CFB_IMAGEBLIT=y
# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not setCONFIG_FB_SYS_FILLRECT=yCONFIG_FB_SYS_COPYAREA=yCONFIG_FB_SYS_IMAGEBLIT=y
# CONFIG_FB_FOREIGN_ENDIAN is not setCONFIG_FB_SYS_FOPS=yCONFIG_FB_DEFERRED_IO=yCONFIG_FB_SVGALIB=y
# CONFIG_FB_MACMODES is not setCONFIG_FB_BACKLIGHT=yCONFIG_FB_MODE_HELPERS=yCONFIG_FB_TILEBLITTING=y
#
# Frame buffer hardware drivers
#
# CONFIG_FB_CIRRUS is not setCONFIG_FB_PM2=mCONFIG_FB_PM2_FIFO_DISCONNECT=y
# CONFIG_FB_CYBER2000 is not setCONFIG_FB_ARC=m
# CONFIG_FB_ASILIANT is not setCONFIG_FB_IMSTT=y
# CONFIG_FB_VGA16 is not set
# CONFIG_FB_VESA is not setCONFIG_FB_EFI=y
# CONFIG_FB_N411 is not setCONFIG_FB_HGA=m
# CONFIG_FB_OPENCORES is not setCONFIG_FB_S1D13XXX=mCONFIG_FB_NVIDIA=m
# CONFIG_FB_NVIDIA_I2C is not set
# CONFIG_FB_NVIDIA_DEBUG is not set
# CONFIG_FB_NVIDIA_BACKLIGHT is not setCONFIG_FB_RIVA=m
# CONFIG_FB_RIVA_I2C is not set
# CONFIG_FB_RIVA_DEBUG is not setCONFIG_FB_RIVA_BACKLIGHT=y
# CONFIG_FB_I740 is not setCONFIG_FB_LE80578=mCONFIG_FB_CARILLO_RANCH=mCONFIG_FB_MATROX=mCONFIG_FB_MATROX_MILLENIUM=y
# CONFIG_FB_MATROX_MYSTIQUE is not set
# CONFIG_FB_MATROX_G is not setCONFIG_FB_MATROX_I2C=m
# CONFIG_FB_RADEON is not set
# CONFIG_FB_ATY128 is not set
# CONFIG_FB_ATY is not setCONFIG_FB_S3=y
# CONFIG_FB_S3_DDC is not setCONFIG_FB_SAVAGE=y
# CONFIG_FB_SAVAGE_I2C is not set
# CONFIG_FB_SAVAGE_ACCEL is not setCONFIG_FB_SIS=mCONFIG_FB_SIS_300=y
# CONFIG_FB_SIS_315 is not setCONFIG_FB_VIA=m
# CONFIG_FB_VIA_DIRECT_PROCFS is not setCONFIG_FB_VIA_X_COMPATIBILITY=y
# CONFIG_FB_NEOMAGIC is not setCONFIG_FB_KYRO=mCONFIG_FB_3DFX=yCONFIG_FB_3DFX_ACCEL=y
# CONFIG_FB_3DFX_I2C is not setCONFIG_FB_VOODOO1=mCONFIG_FB_VT8623=yCONFIG_FB_TRIDENT=y
# CONFIG_FB_ARK is not setCONFIG_FB_PM3=mCONFIG_FB_CARMINE=yCONFIG_FB_CARMINE_DRAM_EVAL=y
# CONFIG_CARMINE_DRAM_CUSTOM is not set
# CONFIG_FB_TMIO is not setCONFIG_FB_SM501=yCONFIG_FB_SMSCUFX=mCONFIG_FB_UDL=yCONFIG_FB_GOLDFISH=m
# CONFIG_FB_VIRTUAL is not set
# CONFIG_XEN_FBDEV_FRONTEND is not set
# CONFIG_FB_METRONOME is not setCONFIG_FB_MB862XX=mCONFIG_FB_MB862XX_PCI_GDC=y
# CONFIG_FB_MB862XX_I2C is not setCONFIG_FB_BROADSHEET=yCONFIG_FB_AUO_K190X=yCONFIG_FB_AUO_K1900=mCONFIG_FB_AUO_K1901=mCONFIG_FB_SIMPLE=y
# CONFIG_EXYNOS_VIDEO is not setCONFIG_BACKLIGHT_LCD_SUPPORT=yCONFIG_LCD_CLASS_DEVICE=yCONFIG_LCD_L4F00242T03=m
# CONFIG_LCD_LMS283GF05 is not setCONFIG_LCD_LTV350QV=mCONFIG_LCD_ILI922X=y
# CONFIG_LCD_ILI9320 is not set
# CONFIG_LCD_TDO24M is not set
# CONFIG_LCD_VGG2432A4 is not setCONFIG_LCD_PLATFORM=y
# CONFIG_LCD_S6E63M0 is not setCONFIG_LCD_LD9040=yCONFIG_LCD_AMS369FG06=yCONFIG_LCD_LMS501KF03=mCONFIG_LCD_HX8357=mCONFIG_BACKLIGHT_CLASS_DEVICE=y
# CONFIG_BACKLIGHT_ATMEL_PWM is not set
# CONFIG_BACKLIGHT_GENERIC is not setCONFIG_BACKLIGHT_CARILLO_RANCH=mCONFIG_BACKLIGHT_DA9052=yCONFIG_BACKLIGHT_APPLE=m
# CONFIG_BACKLIGHT_SAHARA is not set
# CONFIG_BACKLIGHT_ADP8860 is not setCONFIG_BACKLIGHT_ADP8870=mCONFIG_BACKLIGHT_PCF50633=mCONFIG_BACKLIGHT_LM3630A=mCONFIG_BACKLIGHT_LM3639=m
# CONFIG_BACKLIGHT_LP855X is not set
# CONFIG_BACKLIGHT_TPS65217 is not setCONFIG_BACKLIGHT_GPIO=yCONFIG_BACKLIGHT_LV5207LP=mCONFIG_BACKLIGHT_BD6107=mCONFIG_VGASTATE=y
#
# Console display driver support
#CONFIG_VGA_CONSOLE=yCONFIG_VGACON_SOFT_SCROLLBACK=yCONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64CONFIG_DUMMY_CONSOLE=y
# CONFIG_FRAMEBUFFER_CONSOLE is not set
# CONFIG_LOGO is not setCONFIG_SOUND=yCONFIG_SOUND_OSS_CORE=y
# CONFIG_SOUND_OSS_CORE_PRECLAIM is not setCONFIG_SND=mCONFIG_SND_TIMER=mCONFIG_SND_PCM=mCONFIG_SND_HWDEP=mCONFIG_SND_RAWMIDI=mCONFIG_SND_COMPRESS_OFFLOAD=mCONFIG_SND_JACK=yCONFIG_SND_SEQUENCER=mCONFIG_SND_SEQ_DUMMY=mCONFIG_SND_OSSEMUL=yCONFIG_SND_MIXER_OSS=mCONFIG_SND_PCM_OSS=mCONFIG_SND_PCM_OSS_PLUGINS=y
# CONFIG_SND_SEQUENCER_OSS is not setCONFIG_SND_HRTIMER=m
# CONFIG_SND_SEQ_HRTIMER_DEFAULT is not setCONFIG_SND_DYNAMIC_MINORS=yCONFIG_SND_MAX_CARDS=32CONFIG_SND_SUPPORT_OLD_API=y
# CONFIG_SND_VERBOSE_PROCFS is not set
# CONFIG_SND_VERBOSE_PRINTK is not set
# CONFIG_SND_DEBUG is not setCONFIG_SND_VMASTER=yCONFIG_SND_KCTL_JACK=yCONFIG_SND_DMA_SGBUF=yCONFIG_SND_RAWMIDI_SEQ=mCONFIG_SND_OPL3_LIB_SEQ=m
# CONFIG_SND_OPL4_LIB_SEQ is not set
# CONFIG_SND_SBAWE_SEQ is not setCONFIG_SND_EMU10K1_SEQ=mCONFIG_SND_MPU401_UART=mCONFIG_SND_OPL3_LIB=mCONFIG_SND_VX_LIB=mCONFIG_SND_AC97_CODEC=mCONFIG_SND_DRIVERS=yCONFIG_SND_DUMMY=m
# CONFIG_SND_ALOOP is not setCONFIG_SND_VIRMIDI=m
# CONFIG_SND_MTPAV is not setCONFIG_SND_MTS64=m
# CONFIG_SND_SERIAL_U16550 is not setCONFIG_SND_MPU401=mCONFIG_SND_PORTMAN2X4=m
# CONFIG_SND_AC97_POWER_SAVE is not setCONFIG_SND_SB_COMMON=mCONFIG_SND_PCI=yCONFIG_SND_AD1889=mCONFIG_SND_ALS300=mCONFIG_SND_ALS4000=mCONFIG_SND_ALI5451=m
# CONFIG_SND_ASIHPI is not setCONFIG_SND_ATIIXP=m
# CONFIG_SND_ATIIXP_MODEM is not setCONFIG_SND_AU8810=mCONFIG_SND_AU8820=mCONFIG_SND_AU8830=mCONFIG_SND_AW2=m
# CONFIG_SND_AZT3328 is not setCONFIG_SND_BT87X=mCONFIG_SND_BT87X_OVERCLOCK=yCONFIG_SND_CA0106=mCONFIG_SND_CMIPCI=mCONFIG_SND_OXYGEN_LIB=mCONFIG_SND_OXYGEN=mCONFIG_SND_CS4281=mCONFIG_SND_CS46XX=m
# CONFIG_SND_CS46XX_NEW_DSP is not setCONFIG_SND_CTXFI=mCONFIG_SND_DARLA20=m
# CONFIG_SND_GINA20 is not setCONFIG_SND_LAYLA20=mCONFIG_SND_DARLA24=mCONFIG_SND_GINA24=mCONFIG_SND_LAYLA24=mCONFIG_SND_MONA=mCONFIG_SND_MIA=mCONFIG_SND_ECHO3G=mCONFIG_SND_INDIGO=mCONFIG_SND_INDIGOIO=m
# CONFIG_SND_INDIGODJ is not set
# CONFIG_SND_INDIGOIOX is not setCONFIG_SND_INDIGODJX=mCONFIG_SND_EMU10K1=mCONFIG_SND_EMU10K1X=mCONFIG_SND_ENS1370=mCONFIG_SND_ENS1371=mCONFIG_SND_ES1938=mCONFIG_SND_ES1968=mCONFIG_SND_ES1968_INPUT=yCONFIG_SND_FM801=m
# CONFIG_SND_HDSP is not setCONFIG_SND_HDSPM=m
# CONFIG_SND_ICE1712 is not set
# CONFIG_SND_ICE1724 is not set
# CONFIG_SND_INTEL8X0 is not setCONFIG_SND_INTEL8X0M=mCONFIG_SND_KORG1212=mCONFIG_SND_LOLA=mCONFIG_SND_LX6464ES=mCONFIG_SND_MAESTRO3=m
# CONFIG_SND_MAESTRO3_INPUT is not set
# CONFIG_SND_MIXART is not set
# CONFIG_SND_NM256 is not setCONFIG_SND_PCXHR=mCONFIG_SND_RIPTIDE=m
# CONFIG_SND_RME32 is not setCONFIG_SND_RME96=m
# CONFIG_SND_RME9652 is not setCONFIG_SND_SONICVIBES=mCONFIG_SND_TRIDENT=mCONFIG_SND_VIA82XX=mCONFIG_SND_VIA82XX_MODEM=mCONFIG_SND_VIRTUOSO=mCONFIG_SND_VX222=mCONFIG_SND_YMFPCI=m
#
# HD-Audio
#CONFIG_SND_HDA=mCONFIG_SND_HDA_INTEL=mCONFIG_SND_HDA_PREALLOC_SIZE=64CONFIG_SND_HDA_HWDEP=y
# CONFIG_SND_HDA_RECONFIG is not setCONFIG_SND_HDA_INPUT_BEEP=yCONFIG_SND_HDA_INPUT_BEEP_MODE=1CONFIG_SND_HDA_INPUT_JACK=y
# CONFIG_SND_HDA_PATCH_LOADER is not setCONFIG_SND_HDA_CODEC_REALTEK=m
# CONFIG_SND_HDA_CODEC_ANALOG is not setCONFIG_SND_HDA_CODEC_SIGMATEL=m
# CONFIG_SND_HDA_CODEC_VIA is not setCONFIG_SND_HDA_CODEC_HDMI=m
# CONFIG_SND_HDA_CODEC_CIRRUS is not set
# CONFIG_SND_HDA_CODEC_CONEXANT is not set
# CONFIG_SND_HDA_CODEC_CA0110 is not set
# CONFIG_SND_HDA_CODEC_CA0132 is not setCONFIG_SND_HDA_CODEC_CMEDIA=mCONFIG_SND_HDA_CODEC_SI3054=mCONFIG_SND_HDA_GENERIC=mCONFIG_SND_HDA_POWER_SAVE_DEFAULT=0
# CONFIG_SND_SPI is not set
# CONFIG_SND_USB is not setCONFIG_SND_FIREWIRE=yCONFIG_SND_FIREWIRE_LIB=m
# CONFIG_SND_DICE is not setCONFIG_SND_FIREWIRE_SPEAKERS=mCONFIG_SND_ISIGHT=mCONFIG_SND_SCS1X=m
# CONFIG_SND_PCMCIA is not setCONFIG_SND_SOC=mCONFIG_SND_ATMEL_SOC=mCONFIG_SND_DESIGNWARE_I2S=m
# CONFIG_SND_SOC_INTEL_SST is not setCONFIG_SND_SOC_I2C_AND_SPI=m
#
# CODEC drivers
#CONFIG_SND_SOC_ADAU1701=mCONFIG_SND_SOC_AK4104=m
# CONFIG_SND_SOC_AK4554 is not setCONFIG_SND_SOC_AK4642=mCONFIG_SND_SOC_AK5386=m
# CONFIG_SND_SOC_CS42L52 is not setCONFIG_SND_SOC_CS42L73=mCONFIG_SND_SOC_CS4270=mCONFIG_SND_SOC_CS4271=mCONFIG_SND_SOC_CS42XX8=mCONFIG_SND_SOC_CS42XX8_I2C=mCONFIG_SND_SOC_HDMI_CODEC=mCONFIG_SND_SOC_PCM1681=mCONFIG_SND_SOC_PCM1792A=m
CONFIG_SND_SOC_PCM512x=m
CONFIG_SND_SOC_PCM512x_I2C=m
# CONFIG_SND_SOC_PCM512x_SPI is not set
# CONFIG_SND_SOC_SGTL5000 is not setCONFIG_SND_SOC_SIGMADSP=mCONFIG_SND_SOC_SIRF_AUDIO_CODEC=mCONFIG_SND_SOC_SPDIF=mCONFIG_SND_SOC_TAS5086=mCONFIG_SND_SOC_TLV320AIC3X=m
# CONFIG_SND_SOC_WM8510 is not setCONFIG_SND_SOC_WM8523=m
# CONFIG_SND_SOC_WM8580 is not setCONFIG_SND_SOC_WM8711=m
# CONFIG_SND_SOC_WM8728 is not setCONFIG_SND_SOC_WM8731=mCONFIG_SND_SOC_WM8737=mCONFIG_SND_SOC_WM8741=mCONFIG_SND_SOC_WM8750=mCONFIG_SND_SOC_WM8753=mCONFIG_SND_SOC_WM8770=mCONFIG_SND_SOC_WM8776=mCONFIG_SND_SOC_WM8804=mCONFIG_SND_SOC_WM8903=mCONFIG_SND_SOC_WM8962=mCONFIG_SND_SOC_TPA6130A2=mCONFIG_SND_SIMPLE_CARD=mCONFIG_SOUND_PRIME=yCONFIG_SOUND_OSS=mCONFIG_SOUND_TRACEINIT=y
# CONFIG_SOUND_DMAP is not setCONFIG_SOUND_VMIDI=m
# CONFIG_SOUND_TRIX is not setCONFIG_SOUND_MSS=m
# CONFIG_SOUND_MPU401 is not setCONFIG_SOUND_PAS=mCONFIG_SOUND_PSS=mCONFIG_PSS_MIXER=y
# CONFIG_SOUND_SB is not set
# CONFIG_SOUND_YM3812 is not set
# CONFIG_SOUND_UART6850 is not set
# CONFIG_SOUND_AEDSP16 is not setCONFIG_AC97_BUS=m
#
# HID support
#CONFIG_HID=m
# CONFIG_HIDRAW is not setCONFIG_UHID=mCONFIG_HID_GENERIC=m
#
# Special HID drivers
#CONFIG_HID_A4TECH=m
# CONFIG_HID_ACRUX is not setCONFIG_HID_APPLE=mCONFIG_HID_AUREAL=mCONFIG_HID_BELKIN=mCONFIG_HID_CHERRY=mCONFIG_HID_CHICONY=mCONFIG_HID_PRODIKEYS=m
# CONFIG_HID_CYPRESS is not setCONFIG_HID_DRAGONRISE=m
# CONFIG_DRAGONRISE_FF is not setCONFIG_HID_EMS_FF=m
# CONFIG_HID_ELECOM is not setCONFIG_HID_EZKEY=mCONFIG_HID_KEYTOUCH=m
# CONFIG_HID_KYE is not setCONFIG_HID_UCLOGIC=m
# CONFIG_HID_WALTOP is not setCONFIG_HID_GYRATION=mCONFIG_HID_ICADE=m
# CONFIG_HID_TWINHAN is not setCONFIG_HID_KENSINGTON=mCONFIG_HID_LCPOWER=mCONFIG_HID_LENOVO_TPKBD=m
# CONFIG_HID_LOGITECH is not setCONFIG_HID_MAGICMOUSE=mCONFIG_HID_MICROSOFT=m
# CONFIG_HID_MONTEREY is not setCONFIG_HID_MULTITOUCH=mCONFIG_HID_ORTEK=mCONFIG_HID_PANTHERLORD=m
# CONFIG_PANTHERLORD_FF is not setCONFIG_HID_PETALYNX=mCONFIG_HID_PICOLCD=mCONFIG_HID_PICOLCD_FB=yCONFIG_HID_PICOLCD_BACKLIGHT=yCONFIG_HID_PICOLCD_LCD=y
# CONFIG_HID_PICOLCD_LEDS is not set
# CONFIG_HID_PRIMAX is not setCONFIG_HID_SAITEK=m
# CONFIG_HID_SAMSUNG is not setCONFIG_HID_SPEEDLINK=m
# CONFIG_HID_STEELSERIES is not setCONFIG_HID_SUNPLUS=m
# CONFIG_HID_GREENASIA is not set
# CONFIG_HID_SMARTJOYPLUS is not setCONFIG_HID_TIVO=mCONFIG_HID_TOPSEED=mCONFIG_HID_THINGM=m
# CONFIG_HID_THRUSTMASTER is not setCONFIG_HID_WACOM=mCONFIG_HID_WIIMOTE=m
# CONFIG_HID_XINMO is not set
# CONFIG_HID_ZEROPLUS is not setCONFIG_HID_ZYDACRON=mCONFIG_HID_SENSOR_HUB=m
#
# USB HID support
#
# CONFIG_USB_HID is not set
# CONFIG_HID_PID is not set
#
# USB HID Boot Protocol drivers
#
# CONFIG_USB_KBD is not set
# CONFIG_USB_MOUSE is not set
#
# I2C HID support
#CONFIG_I2C_HID=mCONFIG_USB_OHCI_LITTLE_ENDIAN=yCONFIG_USB_SUPPORT=yCONFIG_USB_COMMON=yCONFIG_USB_ARCH_HAS_HCD=yCONFIG_USB=y
# CONFIG_USB_DEBUG is not set
# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
#
# Miscellaneous USB options
#
# CONFIG_USB_DEFAULT_PERSIST is not set
# CONFIG_USB_DYNAMIC_MINORS is not setCONFIG_USB_OTG=y
# CONFIG_USB_OTG_WHITELIST is not set
# CONFIG_USB_OTG_BLACKLIST_HUB is not setCONFIG_USB_MON=yCONFIG_USB_WUSB=yCONFIG_USB_WUSB_CBAF=m
# CONFIG_USB_WUSB_CBAF_DEBUG is not set
#
# USB Host Controller Drivers
#CONFIG_USB_C67X00_HCD=m
# CONFIG_USB_XHCI_HCD is not setCONFIG_USB_EHCI_HCD=yCONFIG_USB_EHCI_ROOT_HUB_TT=y
# CONFIG_USB_EHCI_TT_NEWSCHED is not setCONFIG_USB_EHCI_PCI=yCONFIG_USB_EHCI_HCD_PLATFORM=mCONFIG_USB_OXU210HP_HCD=mCONFIG_USB_ISP116X_HCD=yCONFIG_USB_ISP1760_HCD=mCONFIG_USB_ISP1362_HCD=mCONFIG_USB_FUSBH200_HCD=yCONFIG_USB_FOTG210_HCD=yCONFIG_USB_OHCI_HCD=yCONFIG_USB_OHCI_HCD_PCI=y
# CONFIG_USB_OHCI_HCD_SSB is not setCONFIG_USB_OHCI_HCD_PLATFORM=mCONFIG_USB_UHCI_HCD=yCONFIG_USB_SL811_HCD=m
# CONFIG_USB_SL811_HCD_ISO is not setCONFIG_USB_SL811_CS=m
# CONFIG_USB_R8A66597_HCD is not setCONFIG_USB_WHCI_HCD=yCONFIG_USB_HWA_HCD=y
# CONFIG_USB_HCD_BCMA is not setCONFIG_USB_HCD_SSB=mCONFIG_USB_HCD_TEST_MODE=y
#
# USB Device Class drivers
#CONFIG_USB_ACM=y
# CONFIG_USB_PRINTER is not setCONFIG_USB_WDM=yCONFIG_USB_TMC=y
#
# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may #
#
# also be needed; see USB_STORAGE Help for more info # # CONFIG_USB_STORAGE is not set
#
# USB Imaging devices
#CONFIG_USB_MDC800=m
# CONFIG_USB_MICROTEK is not set
# CONFIG_USB_MUSB_HDRC is not setCONFIG_USB_DWC3=yCONFIG_USB_DWC3_HOST=y
#
# Platform Glue Driver Support
#CONFIG_USB_DWC3_OMAP=mCONFIG_USB_DWC3_EXYNOS=y
# CONFIG_USB_DWC3_PCI is not setCONFIG_USB_DWC3_KEYSTONE=y
#
# Debugging features
#
# CONFIG_USB_DWC3_DEBUG is not setCONFIG_USB_DWC2=yCONFIG_USB_DWC2_DEBUG=y
# CONFIG_USB_DWC2_VERBOSE is not set
# CONFIG_USB_DWC2_TRACK_MISSED_SOFS is not set
# CONFIG_USB_DWC2_DEBUG_PERIODIC is not setCONFIG_USB_CHIPIDEA=m
# CONFIG_USB_CHIPIDEA_HOST is not setCONFIG_USB_CHIPIDEA_DEBUG=y
#
# USB port drivers
#CONFIG_USB_USS720=m
# CONFIG_USB_SERIAL is not set
#
# USB Miscellaneous drivers
#CONFIG_USB_EMI62=y
# CONFIG_USB_EMI26 is not setCONFIG_USB_ADUTUX=mCONFIG_USB_SEVSEG=yCONFIG_USB_RIO500=mCONFIG_USB_LEGOTOWER=yCONFIG_USB_LCD=m
# CONFIG_USB_LED is not setCONFIG_USB_CYPRESS_CY7C63=y
# CONFIG_USB_CYTHERM is not setCONFIG_USB_IDMOUSE=m
# CONFIG_USB_FTDI_ELAN is not setCONFIG_USB_APPLEDISPLAY=m
# CONFIG_USB_SISUSBVGA is not set
# CONFIG_USB_LD is not set
# CONFIG_USB_TRANCEVIBRATOR is not set
# CONFIG_USB_IOWARRIOR is not set
# CONFIG_USB_TEST is not setCONFIG_USB_EHSET_TEST_FIXTURE=m
# CONFIG_USB_ISIGHTFW is not set
# CONFIG_USB_YUREX is not setCONFIG_USB_EZUSB_FX2=yCONFIG_USB_HSIC_USB3503=m
#
# USB Physical Layer drivers
#CONFIG_USB_PHY=yCONFIG_USB_OTG_FSM=yCONFIG_NOP_USB_XCEIV=yCONFIG_SAMSUNG_USBPHY=mCONFIG_SAMSUNG_USB2PHY=mCONFIG_SAMSUNG_USB3PHY=m
# CONFIG_USB_GPIO_VBUS is not setCONFIG_USB_ISP1301=m
# CONFIG_USB_RCAR_PHY is not set
# CONFIG_USB_GADGET is not setCONFIG_UWB=yCONFIG_UWB_HWA=yCONFIG_UWB_WHCI=yCONFIG_UWB_I1480U=yCONFIG_MMC=m
# CONFIG_MMC_DEBUG is not set
# CONFIG_MMC_CLKGATE is not set
#
# MMC/SD/SDIO Card Drivers
#
# CONFIG_MMC_BLOCK is not set
# CONFIG_SDIO_UART is not set
# CONFIG_MMC_TEST is not set
#
# MMC/SD/SDIO Host Controller Drivers
#CONFIG_MMC_SDHCI=mCONFIG_MMC_SDHCI_PCI=mCONFIG_MMC_RICOH_MMC=y
# CONFIG_MMC_SDHCI_ACPI is not setCONFIG_MMC_SDHCI_PLTFM=mCONFIG_MMC_SDHCI_PXAV3=mCONFIG_MMC_SDHCI_PXAV2=mCONFIG_MMC_WBSD=mCONFIG_MMC_TIFM_SD=m
# CONFIG_MMC_SPI is not setCONFIG_MMC_SDRICOH_CS=mCONFIG_MMC_CB710=mCONFIG_MMC_VIA_SDMMC=m
# CONFIG_MMC_VUB300 is not set
# CONFIG_MMC_USHC is not set
# CONFIG_MMC_REALTEK_PCI is not setCONFIG_MEMSTICK=m
# CONFIG_MEMSTICK_DEBUG is not set
#
# MemoryStick drivers
#CONFIG_MEMSTICK_UNSAFE_RESUME=y
# CONFIG_MSPRO_BLOCK is not setCONFIG_MS_BLOCK=m
#
# MemoryStick Host Controller Drivers
#CONFIG_MEMSTICK_TIFM_MS=mCONFIG_MEMSTICK_JMICRON_38X=mCONFIG_MEMSTICK_R592=m
# CONFIG_MEMSTICK_REALTEK_PCI is not setCONFIG_NEW_LEDS=yCONFIG_LEDS_CLASS=y
#
# LED drivers
#CONFIG_LEDS_ATMEL_PWM=mCONFIG_LEDS_LM3530=mCONFIG_LEDS_LM3642=m
# CONFIG_LEDS_PCA9532 is not set
# CONFIG_LEDS_GPIO is not setCONFIG_LEDS_LP3944=mCONFIG_LEDS_LP55XX_COMMON=mCONFIG_LEDS_LP5521=mCONFIG_LEDS_LP5523=mCONFIG_LEDS_LP5562=m
# CONFIG_LEDS_LP8501 is not set
# CONFIG_LEDS_CLEVO_MAIL is not set
# CONFIG_LEDS_PCA955X is not setCONFIG_LEDS_PCA963X=mCONFIG_LEDS_PCA9685=mCONFIG_LEDS_DA9052=yCONFIG_LEDS_DAC124S085=y
# CONFIG_LEDS_REGULATOR is not set
# CONFIG_LEDS_BD2802 is not setCONFIG_LEDS_INTEL_SS4200=mCONFIG_LEDS_LT3593=yCONFIG_LEDS_TCA6507=m
CONFIG_LEDS_LM355x=mCONFIG_LEDS_BLINKM=m
#
# LED Triggers
#CONFIG_LEDS_TRIGGERS=yCONFIG_LEDS_TRIGGER_TIMER=y
# CONFIG_LEDS_TRIGGER_ONESHOT is not set
# CONFIG_LEDS_TRIGGER_HEARTBEAT is not setCONFIG_LEDS_TRIGGER_BACKLIGHT=yCONFIG_LEDS_TRIGGER_CPU=yCONFIG_LEDS_TRIGGER_GPIO=mCONFIG_LEDS_TRIGGER_DEFAULT_ON=y
#
# iptables trigger is under Netfilter config (LED target) # CONFIG_LEDS_TRIGGER_TRANSIENT=m CONFIG_LEDS_TRIGGER_CAMERA=m # CONFIG_ACCESSIBILITY is not set # CONFIG_INFINIBAND is not set # CONFIG_EDAC is not set CONFIG_RTC_LIB=y # CONFIG_RTC_CLASS is not set # CONFIG_DMADEVICES is not set CONFIG_AUXDISPLAY=y CONFIG_UIO=m # CONFIG_UIO_CIF is not set # CONFIG_UIO_PDRV_GENIRQ is not set CONFIG_UIO_DMEM_GENIRQ=m CONFIG_UIO_AEC=m CONFIG_UIO_SERCOS3=m # CONFIG_UIO_PCI_GENERIC is not set CONFIG_UIO_NETX=m CONFIG_UIO_MF624=m CONFIG_VFIO_IOMMU_TYPE1=m CONFIG_VFIO=m CONFIG_VFIO_PCI=m # CONFIG_VFIO_PCI_VGA is not set # CONFIG_VIRT_DRIVERS is not set CONFIG_VIRTIO=y
#
# Virtio drivers
#CONFIG_VIRTIO_PCI=y
# CONFIG_VIRTIO_BALLOON is not setCONFIG_VIRTIO_MMIO=m
# CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set
#
# Microsoft Hyper-V guest support
#
# CONFIG_HYPERV is not set
#
# Xen driver support
#CONFIG_XEN_BALLOON=y
# CONFIG_XEN_SCRUB_PAGES is not set
# CONFIG_XEN_DEV_EVTCHN is not set
# CONFIG_XEN_BACKEND is not set
# CONFIG_XENFS is not setCONFIG_XEN_SYS_HYPERVISOR=yCONFIG_XEN_XENBUS_FRONTEND=yCONFIG_XEN_GNTDEV=mCONFIG_XEN_GRANT_DEV_ALLOC=mCONFIG_SWIOTLB_XEN=yCONFIG_XEN_TMEM=mCONFIG_XEN_PRIVCMD=mCONFIG_XEN_ACPI_PROCESSOR=mCONFIG_XEN_MCE_LOG=yCONFIG_XEN_HAVE_PVMMU=y
# CONFIG_STAGING is not set
# CONFIG_X86_PLATFORM_DEVICES is not set
# CONFIG_CHROME_PLATFORMS is not setCONFIG_CLKDEV_LOOKUP=yCONFIG_HAVE_CLK_PREPARE=yCONFIG_COMMON_CLK=y
#
# Common Clock Framework
#
# CONFIG_COMMON_CLK_SI5351 is not set
#
# Hardware Spinlock drivers
#CONFIG_CLKEVT_I8253=yCONFIG_CLKBLD_I8253=y
# CONFIG_SH_TIMER_CMT is not set
# CONFIG_SH_TIMER_MTU2 is not set
# CONFIG_SH_TIMER_TMU is not set
# CONFIG_EM_TIMER_STI is not setCONFIG_MAILBOX=yCONFIG_IOMMU_API=yCONFIG_IOMMU_SUPPORT=yCONFIG_AMD_IOMMU=y
# CONFIG_AMD_IOMMU_STATS is not set
# CONFIG_AMD_IOMMU_V2 is not setCONFIG_DMAR_TABLE=y
# CONFIG_INTEL_IOMMU is not setCONFIG_IRQ_REMAP=y
#
# Remoteproc drivers
#CONFIG_REMOTEPROC=yCONFIG_STE_MODEM_RPROC=y
#
# Rpmsg drivers
#CONFIG_PM_DEVFREQ=y
#
# DEVFREQ Governors
#CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=mCONFIG_DEVFREQ_GOV_PERFORMANCE=yCONFIG_DEVFREQ_GOV_POWERSAVE=yCONFIG_DEVFREQ_GOV_USERSPACE=m
#
# DEVFREQ Drivers
#CONFIG_EXTCON=m
#
# Extcon Device Drivers
#
# CONFIG_EXTCON_GPIO is not setCONFIG_EXTCON_ADC_JACK=mCONFIG_EXTCON_ARIZONA=mCONFIG_MEMORY=yCONFIG_IIO=mCONFIG_IIO_BUFFER=yCONFIG_IIO_BUFFER_CB=yCONFIG_IIO_KFIFO_BUF=mCONFIG_IIO_TRIGGERED_BUFFER=mCONFIG_IIO_TRIGGER=yCONFIG_IIO_CONSUMERS_PER_TRIGGER=2
#
# Accelerometers
#CONFIG_BMA180=mCONFIG_HID_SENSOR_ACCEL_3D=m
# CONFIG_IIO_ST_ACCEL_3AXIS is not setCONFIG_KXSD9=m
#
# Analog to digital converters
#CONFIG_AD_SIGMA_DELTA=m
# CONFIG_AD7266 is not setCONFIG_AD7298=mCONFIG_AD7476=mCONFIG_AD7791=mCONFIG_AD7793=m
# CONFIG_AD7887 is not set
# CONFIG_AD7923 is not setCONFIG_MAX1363=mCONFIG_MCP320X=mCONFIG_MCP3422=m
# CONFIG_NAU7802 is not setCONFIG_TI_ADC081C=m
# CONFIG_TI_AM335X_ADC is not setCONFIG_VIPERBOARD_ADC=m
#
# Amplifiers
#CONFIG_AD8366=m
#
# Hid Sensor IIO Common
#CONFIG_HID_SENSOR_IIO_COMMON=mCONFIG_HID_SENSOR_IIO_TRIGGER=mCONFIG_IIO_ST_SENSORS_I2C=mCONFIG_IIO_ST_SENSORS_SPI=mCONFIG_IIO_ST_SENSORS_CORE=m
#
# Digital to analog converters
#CONFIG_AD5064=m
# CONFIG_AD5360 is not setCONFIG_AD5380=mCONFIG_AD5421=mCONFIG_AD5446=mCONFIG_AD5449=mCONFIG_AD5504=mCONFIG_AD5624R_SPI=m
# CONFIG_AD5686 is not setCONFIG_AD5755=mCONFIG_AD5764=mCONFIG_AD5791=m
# CONFIG_AD7303 is not setCONFIG_MAX517=mCONFIG_MCP4725=m
#
# Frequency Synthesizers DDS/PLL
#
#
# Clock Generator/Distribution
#
# CONFIG_AD9523 is not set
#
# Phase-Locked Loop (PLL) frequency synthesizers
#CONFIG_ADF4350=m
#
# Digital gyroscope sensors
#CONFIG_ADIS16080=mCONFIG_ADIS16130=mCONFIG_ADIS16136=m
# CONFIG_ADIS16260 is not setCONFIG_ADXRS450=m
# CONFIG_HID_SENSOR_GYRO_3D is not setCONFIG_IIO_ST_GYRO_3AXIS=mCONFIG_IIO_ST_GYRO_I2C_3AXIS=mCONFIG_IIO_ST_GYRO_SPI_3AXIS=mCONFIG_ITG3200=m
#
# Humidity sensors
#
# CONFIG_DHT11 is not setCONFIG_SI7005=m
#
# Inertial measurement units
#CONFIG_ADIS16400=m
# CONFIG_ADIS16480 is not setCONFIG_INV_MPU6050_IIO=mCONFIG_IIO_ADIS_LIB=mCONFIG_IIO_ADIS_LIB_BUFFER=y
#
# Light sensors
#
# CONFIG_ADJD_S311 is not set
# CONFIG_APDS9300 is not set
# CONFIG_CM32181 is not set
# CONFIG_CM36651 is not setCONFIG_GP2AP020A00F=mCONFIG_HID_SENSOR_ALS=mCONFIG_HID_SENSOR_PROX=mCONFIG_LTR501=m
# CONFIG_TCS3472 is not setCONFIG_SENSORS_TSL2563=mCONFIG_TSL4531=mCONFIG_VCNL4000=m
#
# Magnetometer sensors
#
# CONFIG_AK8975 is not setCONFIG_MAG3110=mCONFIG_HID_SENSOR_MAGNETOMETER_3D=mCONFIG_IIO_ST_MAGN_3AXIS=mCONFIG_IIO_ST_MAGN_I2C_3AXIS=mCONFIG_IIO_ST_MAGN_SPI_3AXIS=m
#
# Inclinometer sensors
#CONFIG_HID_SENSOR_INCLINOMETER_3D=m
#
# Triggers - standalone
#
# CONFIG_IIO_INTERRUPT_TRIGGER is not setCONFIG_IIO_SYSFS_TRIGGER=m
#
# Pressure sensors
#CONFIG_HID_SENSOR_PRESS=mCONFIG_MPL3115=mCONFIG_IIO_ST_PRESS=mCONFIG_IIO_ST_PRESS_I2C=mCONFIG_IIO_ST_PRESS_SPI=m
#
# Temperature sensors
#CONFIG_TMP006=m
# CONFIG_NTB is not set
# CONFIG_VME_BUS is not set
# CONFIG_PWM is not setCONFIG_IPACK_BUS=yCONFIG_BOARD_TPCI200=yCONFIG_SERIAL_IPOCTAL=y
# CONFIG_RESET_CONTROLLER is not setCONFIG_FMC=m
# CONFIG_FMC_FAKEDEV is not set
# CONFIG_FMC_TRIVIAL is not set
# CONFIG_FMC_WRITE_EEPROM is not setCONFIG_FMC_CHARDEV=m
#
# PHY Subsystem
#CONFIG_GENERIC_PHY=y
# CONFIG_BCM_KONA_USB2_PHY is not setCONFIG_PHY_SAMSUNG_USB2=mCONFIG_POWERCAP=y
# CONFIG_INTEL_RAPL is not set
# CONFIG_MCB is not set
#
# Firmware Drivers
#CONFIG_EDD=m
# CONFIG_EDD_OFF is not set
# CONFIG_FIRMWARE_MEMMAP is not set
# CONFIG_DELL_RBU is not set
# CONFIG_DCDBAS is not setCONFIG_DMIID=yCONFIG_DMI_SYSFS=mCONFIG_DMI_SCAN_MACHINE_NON_EFI_FALLBACK=y
# CONFIG_ISCSI_IBFT_FIND is not set
# CONFIG_GOOGLE_FIRMWARE is not set
#
# EFI (Extensible Firmware Interface) Support
#CONFIG_EFI_VARS=mCONFIG_UEFI_CPER=y
#
# File systems
#CONFIG_DCACHE_WORD_ACCESS=yCONFIG_EXT2_FS=mCONFIG_EXT2_FS_XATTR=y
# CONFIG_EXT2_FS_POSIX_ACL is not set
# CONFIG_EXT2_FS_SECURITY is not setCONFIG_EXT2_FS_XIP=yCONFIG_EXT3_FS=y
# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not setCONFIG_EXT3_FS_XATTR=yCONFIG_EXT3_FS_POSIX_ACL=yCONFIG_EXT3_FS_SECURITY=yCONFIG_EXT4_FS=yCONFIG_EXT4_FS_POSIX_ACL=yCONFIG_EXT4_FS_SECURITY=y
# CONFIG_EXT4_DEBUG is not setCONFIG_FS_XIP=yCONFIG_JBD=y
# CONFIG_JBD_DEBUG is not setCONFIG_JBD2=y
# CONFIG_JBD2_DEBUG is not setCONFIG_FS_MBCACHE=y
# CONFIG_REISERFS_FS is not setCONFIG_JFS_FS=m
# CONFIG_JFS_POSIX_ACL is not setCONFIG_JFS_SECURITY=yCONFIG_JFS_DEBUG=yCONFIG_JFS_STATISTICS=yCONFIG_XFS_FS=yCONFIG_XFS_QUOTA=yCONFIG_XFS_POSIX_ACL=yCONFIG_XFS_RT=y
# CONFIG_XFS_WARN is not set
# CONFIG_XFS_DEBUG is not set
# CONFIG_GFS2_FS is not setCONFIG_OCFS2_FS=yCONFIG_OCFS2_FS_O2CB=yCONFIG_OCFS2_FS_USERSPACE_CLUSTER=mCONFIG_OCFS2_FS_STATS=y
# CONFIG_OCFS2_DEBUG_MASKLOG is not setCONFIG_OCFS2_DEBUG_FS=yCONFIG_BTRFS_FS=y
# CONFIG_BTRFS_FS_POSIX_ACL is not set
# CONFIG_BTRFS_FS_CHECK_INTEGRITY is not set
# CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set
# CONFIG_BTRFS_DEBUG is not set
# CONFIG_BTRFS_ASSERT is not setCONFIG_NILFS2_FS=mCONFIG_FS_POSIX_ACL=yCONFIG_EXPORTFS=yCONFIG_FILE_LOCKING=yCONFIG_FSNOTIFY=yCONFIG_DNOTIFY=y
# CONFIG_INOTIFY_USER is not set
# CONFIG_FANOTIFY is not setCONFIG_QUOTA=y
# CONFIG_QUOTA_NETLINK_INTERFACE is not setCONFIG_PRINT_QUOTA_WARNING=y
# CONFIG_QUOTA_DEBUG is not setCONFIG_QUOTA_TREE=y
# CONFIG_QFMT_V1 is not setCONFIG_QFMT_V2=mCONFIG_QUOTACTL=yCONFIG_QUOTACTL_COMPAT=yCONFIG_AUTOFS4_FS=mCONFIG_FUSE_FS=y
# CONFIG_CUSE is not set
#
# Caches
#CONFIG_FSCACHE=yCONFIG_FSCACHE_STATS=yCONFIG_FSCACHE_HISTOGRAM=y
# CONFIG_FSCACHE_DEBUG is not set
# CONFIG_FSCACHE_OBJECT_LIST is not setCONFIG_CACHEFILES=yCONFIG_CACHEFILES_DEBUG=yCONFIG_CACHEFILES_HISTOGRAM=y
#
# CD-ROM/DVD Filesystems
#
# CONFIG_ISO9660_FS is not setCONFIG_UDF_FS=yCONFIG_UDF_NLS=y
#
# DOS/FAT/NT Filesystems
#CONFIG_FAT_FS=y
# CONFIG_MSDOS_FS is not setCONFIG_VFAT_FS=yCONFIG_FAT_DEFAULT_CODEPAGE=437CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"CONFIG_NTFS_FS=y
# CONFIG_NTFS_DEBUG is not set
# CONFIG_NTFS_RW is not set
#
# Pseudo filesystems
#CONFIG_PROC_FS=y
# CONFIG_PROC_KCORE is not setCONFIG_PROC_VMCORE=yCONFIG_PROC_SYSCTL=yCONFIG_PROC_PAGE_MONITOR=yCONFIG_KERNFS=yCONFIG_SYSFS=y
# CONFIG_TMPFS is not setCONFIG_HUGETLBFS=yCONFIG_HUGETLB_PAGE=yCONFIG_CONFIGFS_FS=yCONFIG_MISC_FILESYSTEMS=yCONFIG_ADFS_FS=m
# CONFIG_ADFS_FS_RW is not set
# CONFIG_AFFS_FS is not set
# CONFIG_ECRYPT_FS is not setCONFIG_HFS_FS=mCONFIG_HFSPLUS_FS=yCONFIG_HFSPLUS_FS_POSIX_ACL=y
# CONFIG_BEFS_FS is not setCONFIG_BFS_FS=yCONFIG_EFS_FS=mCONFIG_LOGFS=mCONFIG_CRAMFS=mCONFIG_SQUASHFS=y
# CONFIG_SQUASHFS_FILE_CACHE is not setCONFIG_SQUASHFS_FILE_DIRECT=y
# CONFIG_SQUASHFS_DECOMP_SINGLE is not set
# CONFIG_SQUASHFS_DECOMP_MULTI is not setCONFIG_SQUASHFS_DECOMP_MULTI_PERCPU=y
# CONFIG_SQUASHFS_XATTR is not set
# CONFIG_SQUASHFS_ZLIB is not setCONFIG_SQUASHFS_LZO=y
# CONFIG_SQUASHFS_XZ is not setCONFIG_SQUASHFS_4K_DEVBLK_SIZE=y
# CONFIG_SQUASHFS_EMBEDDED is not setCONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3CONFIG_VXFS_FS=m
# CONFIG_MINIX_FS is not setCONFIG_OMFS_FS=mCONFIG_HPFS_FS=yCONFIG_QNX4FS_FS=yCONFIG_QNX6FS_FS=mCONFIG_QNX6FS_DEBUG=yCONFIG_ROMFS_FS=mCONFIG_ROMFS_BACKED_BY_BLOCK=yCONFIG_ROMFS_ON_BLOCK=y
# CONFIG_PSTORE is not setCONFIG_SYSV_FS=m
# CONFIG_UFS_FS is not set
# CONFIG_F2FS_FS is not set
# CONFIG_EFIVAR_FS is not setCONFIG_NETWORK_FILESYSTEMS=yCONFIG_NFS_FS=yCONFIG_NFS_V2=yCONFIG_NFS_V3=yCONFIG_NFS_V3_ACL=y
# CONFIG_NFS_V4 is not set
# CONFIG_NFS_SWAP is not set
# CONFIG_ROOT_NFS is not set
# CONFIG_NFS_FSCACHE is not setCONFIG_NFSD=mCONFIG_NFSD_V2_ACL=yCONFIG_NFSD_V3=yCONFIG_NFSD_V3_ACL=y
# CONFIG_NFSD_V4 is not setCONFIG_LOCKD=yCONFIG_LOCKD_V4=yCONFIG_NFS_ACL_SUPPORT=yCONFIG_NFS_COMMON=yCONFIG_SUNRPC=y
# CONFIG_SUNRPC_DEBUG is not setCONFIG_CEPH_FS=y
# CONFIG_CEPH_FSCACHE is not setCONFIG_CEPH_FS_POSIX_ACL=yCONFIG_CIFS=y
# CONFIG_CIFS_STATS is not setCONFIG_CIFS_WEAK_PW_HASH=yCONFIG_CIFS_UPCALL=y
# CONFIG_CIFS_XATTR is not setCONFIG_CIFS_DEBUG=yCONFIG_CIFS_DEBUG2=y
# CONFIG_CIFS_DFS_UPCALL is not setCONFIG_CIFS_SMB2=y
# CONFIG_CIFS_FSCACHE is not setCONFIG_NCP_FS=m
# CONFIG_NCPFS_PACKET_SIGNING is not set
# CONFIG_NCPFS_IOCTL_LOCKING is not set
# CONFIG_NCPFS_STRONG is not set
# CONFIG_NCPFS_NFS_NS is not setCONFIG_NCPFS_OS2_NS=yCONFIG_NCPFS_SMALLDOS=yCONFIG_NCPFS_NLS=yCONFIG_NCPFS_EXTRAS=yCONFIG_CODA_FS=m
# CONFIG_AFS_FS is not setCONFIG_9P_FS=yCONFIG_9P_FSCACHE=yCONFIG_9P_FS_POSIX_ACL=yCONFIG_9P_FS_SECURITY=yCONFIG_NLS=yCONFIG_NLS_DEFAULT="iso8859-1"
# CONFIG_NLS_CODEPAGE_437 is not setCONFIG_NLS_CODEPAGE_737=mCONFIG_NLS_CODEPAGE_775=m
# CONFIG_NLS_CODEPAGE_850 is not setCONFIG_NLS_CODEPAGE_852=yCONFIG_NLS_CODEPAGE_855=y
# CONFIG_NLS_CODEPAGE_857 is not setCONFIG_NLS_CODEPAGE_860=y
# CONFIG_NLS_CODEPAGE_861 is not set
# CONFIG_NLS_CODEPAGE_862 is not setCONFIG_NLS_CODEPAGE_863=mCONFIG_NLS_CODEPAGE_864=yCONFIG_NLS_CODEPAGE_865=m
# CONFIG_NLS_CODEPAGE_866 is not set
# CONFIG_NLS_CODEPAGE_869 is not set
# CONFIG_NLS_CODEPAGE_936 is not setCONFIG_NLS_CODEPAGE_950=yCONFIG_NLS_CODEPAGE_932=yCONFIG_NLS_CODEPAGE_949=yCONFIG_NLS_CODEPAGE_874=yCONFIG_NLS_ISO8859_8=mCONFIG_NLS_CODEPAGE_1250=y
# CONFIG_NLS_CODEPAGE_1251 is not setCONFIG_NLS_ASCII=yCONFIG_NLS_ISO8859_1=yCONFIG_NLS_ISO8859_2=mCONFIG_NLS_ISO8859_3=m
# CONFIG_NLS_ISO8859_4 is not setCONFIG_NLS_ISO8859_5=yCONFIG_NLS_ISO8859_6=m
# CONFIG_NLS_ISO8859_7 is not setCONFIG_NLS_ISO8859_9=yCONFIG_NLS_ISO8859_13=mCONFIG_NLS_ISO8859_14=mCONFIG_NLS_ISO8859_15=y
# CONFIG_NLS_KOI8_R is not set
# CONFIG_NLS_KOI8_U is not setCONFIG_NLS_MAC_ROMAN=y
# CONFIG_NLS_MAC_CELTIC is not setCONFIG_NLS_MAC_CENTEURO=m
# CONFIG_NLS_MAC_CROATIAN is not setCONFIG_NLS_MAC_CYRILLIC=mCONFIG_NLS_MAC_GAELIC=yCONFIG_NLS_MAC_GREEK=m
# CONFIG_NLS_MAC_ICELAND is not setCONFIG_NLS_MAC_INUIT=mCONFIG_NLS_MAC_ROMANIAN=m
# CONFIG_NLS_MAC_TURKISH is not setCONFIG_NLS_UTF8=yCONFIG_DLM=m
# CONFIG_DLM_DEBUG is not set
#
# Kernel hacking
#CONFIG_TRACE_IRQFLAGS_SUPPORT=y
#
# printk and dmesg options # # CONFIG_PRINTK_TIME is not set CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4 CONFIG_BOOT_PRINTK_DELAY=y CONFIG_DYNAMIC_DEBUG=y
#
# Compile-time checks and compiler options
#
# CONFIG_DEBUG_INFO is not setCONFIG_ENABLE_WARN_DEPRECATED=y
# CONFIG_ENABLE_MUST_CHECK is not setCONFIG_FRAME_WARN=2048CONFIG_STRIP_ASM_SYMS=y
# CONFIG_READABLE_ASM is not setCONFIG_UNUSED_SYMBOLS=yCONFIG_DEBUG_FS=y
# CONFIG_HEADERS_CHECK is not set
# CONFIG_DEBUG_SECTION_MISMATCH is not setCONFIG_ARCH_WANT_FRAME_POINTERS=yCONFIG_FRAME_POINTER=y
# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not setCONFIG_MAGIC_SYSRQ=yCONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1CONFIG_DEBUG_KERNEL=y
#
# Memory Debugging
#CONFIG_DEBUG_PAGEALLOC=yCONFIG_WANT_PAGE_DEBUG_FLAGS=yCONFIG_PAGE_GUARD=y
# CONFIG_DEBUG_OBJECTS is not setCONFIG_HAVE_DEBUG_KMEMLEAK=y
# CONFIG_DEBUG_KMEMLEAK is not set
# CONFIG_DEBUG_STACK_USAGE is not setCONFIG_DEBUG_VM=y
# CONFIG_DEBUG_VM_RB is not setCONFIG_DEBUG_VIRTUAL=y
# CONFIG_DEBUG_MEMORY_INIT is not setCONFIG_HAVE_DEBUG_STACKOVERFLOW=yCONFIG_DEBUG_STACKOVERFLOW=yCONFIG_HAVE_ARCH_KMEMCHECK=yCONFIG_DEBUG_SHIRQ=y
#
# Debug Lockups and Hangs
#CONFIG_LOCKUP_DETECTOR=yCONFIG_HARDLOCKUP_DETECTOR=y
# CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is not setCONFIG_BOOTPARAM_HARDLOCKUP_PANIC_VALUE=0
# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not setCONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0CONFIG_DETECT_HUNG_TASK=yCONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120
# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not setCONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
# CONFIG_PANIC_ON_OOPS is not setCONFIG_PANIC_ON_OOPS_VALUE=0CONFIG_PANIC_TIMEOUT=0CONFIG_SCHED_DEBUG=yCONFIG_SCHEDSTATS=y
# CONFIG_TIMER_STATS is not set
#
# Lock Debugging (spinlocks, mutexes, etc...)
#CONFIG_DEBUG_RT_MUTEXES=yCONFIG_DEBUG_PI_LIST=y
# CONFIG_RT_MUTEX_TESTER is not setCONFIG_DEBUG_SPINLOCK=yCONFIG_DEBUG_MUTEXES=y
# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not setCONFIG_DEBUG_LOCK_ALLOC=y
# CONFIG_PROVE_LOCKING is not setCONFIG_LOCKDEP=y
# CONFIG_LOCK_STAT is not set
# CONFIG_DEBUG_LOCKDEP is not setCONFIG_DEBUG_ATOMIC_SLEEP=yCONFIG_DEBUG_LOCKING_API_SELFTESTS=yCONFIG_LOCK_TORTURE_TEST=mCONFIG_STACKTRACE=y
# CONFIG_DEBUG_KOBJECT is not setCONFIG_DEBUG_BUGVERBOSE=y
# CONFIG_DEBUG_LIST is not setCONFIG_DEBUG_SG=yCONFIG_DEBUG_NOTIFIERS=yCONFIG_DEBUG_CREDENTIALS=y
#
# RCU Debugging
#CONFIG_SPARSE_RCU_POINTER=yCONFIG_TORTURE_TEST=mCONFIG_RCU_TORTURE_TEST=mCONFIG_RCU_CPU_STALL_TIMEOUT=21CONFIG_RCU_TRACE=y
# CONFIG_DEBUG_BLOCK_EXT_DEVT is not setCONFIG_NOTIFIER_ERROR_INJECTION=yCONFIG_PM_NOTIFIER_ERROR_INJECT=yCONFIG_FAULT_INJECTION=y
# CONFIG_FAIL_PAGE_ALLOC is not set
# CONFIG_FAIL_MAKE_REQUEST is not set
# CONFIG_FAIL_IO_TIMEOUT is not set
# CONFIG_FAIL_MMC_REQUEST is not setCONFIG_FAULT_INJECTION_DEBUG_FS=yCONFIG_LATENCYTOP=yCONFIG_ARCH_HAS_DEBUG_STRICT_USER_COPY_CHECKS=y
# CONFIG_DEBUG_STRICT_USER_COPY_CHECKS is not setCONFIG_USER_STACKTRACE_SUPPORT=yCONFIG_HAVE_FUNCTION_TRACER=yCONFIG_HAVE_FUNCTION_GRAPH_TRACER=yCONFIG_HAVE_FUNCTION_GRAPH_FP_TEST=yCONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=yCONFIG_HAVE_DYNAMIC_FTRACE=yCONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=yCONFIG_HAVE_FTRACE_MCOUNT_RECORD=yCONFIG_HAVE_SYSCALL_TRACEPOINTS=yCONFIG_HAVE_FENTRY=yCONFIG_HAVE_C_RECORDMCOUNT=yCONFIG_TRACE_CLOCK=yCONFIG_RING_BUFFER=yCONFIG_RING_BUFFER_ALLOW_SWAP=yCONFIG_TRACING_SUPPORT=y
# CONFIG_FTRACE is not set
#
# Runtime Testing
#CONFIG_LKDTM=mCONFIG_TEST_LIST_SORT=yCONFIG_BACKTRACE_SELF_TEST=m
# CONFIG_RBTREE_TEST is not setCONFIG_INTERVAL_TREE_TEST=mCONFIG_PERCPU_TEST=m
# CONFIG_ATOMIC64_SELFTEST is not set
# CONFIG_ASYNC_RAID6_TEST is not setCONFIG_TEST_STRING_HELPERS=mCONFIG_TEST_KSTRTOX=y
# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not setCONFIG_DMA_API_DEBUG=yCONFIG_TEST_MODULE=mCONFIG_TEST_USER_COPY=mCONFIG_SAMPLES=y
# CONFIG_SAMPLE_KOBJECT is not setCONFIG_SAMPLE_HW_BREAKPOINT=mCONFIG_SAMPLE_KFIFO=mCONFIG_HAVE_ARCH_KGDB=yCONFIG_KGDB=yCONFIG_KGDB_SERIAL_CONSOLE=y
# CONFIG_KGDB_TESTS is not setCONFIG_KGDB_LOW_LEVEL_TRAP=y
# CONFIG_KGDB_KDB is not set
# CONFIG_STRICT_DEVMEM is not setCONFIG_X86_VERBOSE_BOOTUP=yCONFIG_EARLY_PRINTK=y
# CONFIG_EARLY_PRINTK_DBGP is not setCONFIG_EARLY_PRINTK_EFI=y
# CONFIG_X86_PTDUMP is not setCONFIG_DEBUG_RODATA=y
# CONFIG_DEBUG_RODATA_TEST is not setCONFIG_DEBUG_SET_MODULE_RONX=y
# CONFIG_DEBUG_NX_TEST is not set
# CONFIG_DOUBLEFAULT is not set
# CONFIG_DEBUG_TLBFLUSH is not set
# CONFIG_IOMMU_STRESS is not setCONFIG_HAVE_MMIOTRACE_SUPPORT=yCONFIG_IO_DELAY_TYPE_0X80=0CONFIG_IO_DELAY_TYPE_0XED=1CONFIG_IO_DELAY_TYPE_UDELAY=2CONFIG_IO_DELAY_TYPE_NONE=3CONFIG_IO_DELAY_0X80=y
# CONFIG_IO_DELAY_0XED is not set
# CONFIG_IO_DELAY_UDELAY is not set
# CONFIG_IO_DELAY_NONE is not setCONFIG_DEFAULT_IO_DELAY_TYPE=0CONFIG_DEBUG_BOOT_PARAMS=y
# CONFIG_CPA_DEBUG is not set
# CONFIG_OPTIMIZE_INLINING is not set
# CONFIG_DEBUG_NMI_SELFTEST is not setCONFIG_X86_DEBUG_STATIC_CPU_HAS=y
#
# Security options
#CONFIG_KEYS=yCONFIG_PERSISTENT_KEYRINGS=y CONFIG_TRUSTED_KEYS=yCONFIG_ENCRYPTED_KEYS=y CONFIG_KEYS_DEBUG_PROC_KEYS=y CONFIG_SECURITY_DMESG_RESTRICT=y CONFIG_SECURITY=yCONFIG_SECURITYFS=yCONFIG_SECURITY_NETWORK=y
# CONFIG_SECURITY_NETWORK_XFRM is not set CONFIG_SECURITY_PATH=y
# CONFIG_SECURITY_SMACK is not set CONFIG_SECURITY_TOMOYO=y CONFIG_SECURITY_TOMOYO_MAX_ACCEPT_ENTRY=2048 CONFIG_SECURITY_TOMOYO_MAX_AUDIT_LOG=1024
# CONFIG_SECURITY_TOMOYO_OMIT_USERSPACE_LOADER is not set CONFIG_SECURITY_TOMOYO_POLICY_LOADER="/sbin/tomoyo-init" CONFIG_SECURITY_TOMOYO_ACTIVATION_TRIGGER="/sbin/init" # CONFIG_SECURITY_APPARMOR is not set CONFIG_SECURITY_YAMA=y
# CONFIG_SECURITY_YAMA_STACKED is not set CONFIG_INTEGRITY=yCONFIG_INTEGRITY_SIGNATURE=y
# CONFIG_INTEGRITY_ASYMMETRIC_KEYS is not set
# CONFIG_IMA is not setCONFIG_EVM=yCONFIG_EVM_HMAC_VERSION=2
# CONFIG_DEFAULT_SECURITY_TOMOYO is not set
# CONFIG_DEFAULT_SECURITY_YAMA is not set CONFIG_DEFAULT_SECURITY_DAC=y CONFIG_DEFAULT_SECURITY=""CONFIG_XOR_BLOCKS=yCONFIG_ASYNC_CORE=yCONFIG_ASYNC_MEMCPY=yCONFIG_ASYNC_XOR=yCONFIG_ASYNC_PQ=yCONFIG_ASYNC_RAID6_RECOV=yCONFIG_CRYPTO=y
#
# Crypto core or helper
#CONFIG_CRYPTO_ALGAPI=yCONFIG_CRYPTO_ALGAPI2=yCONFIG_CRYPTO_AEAD=yCONFIG_CRYPTO_AEAD2=yCONFIG_CRYPTO_BLKCIPHER=yCONFIG_CRYPTO_BLKCIPHER2=yCONFIG_CRYPTO_HASH=yCONFIG_CRYPTO_HASH2=yCONFIG_CRYPTO_RNG=yCONFIG_CRYPTO_RNG2=yCONFIG_CRYPTO_PCOMP=mCONFIG_CRYPTO_PCOMP2=yCONFIG_CRYPTO_MANAGER=yCONFIG_CRYPTO_MANAGER2=y
# CONFIG_CRYPTO_USER is not set
# CONFIG_CRYPTO_MANAGER_DISABLE_TESTS is not setCONFIG_CRYPTO_GF128MUL=yCONFIG_CRYPTO_NULL=mCONFIG_CRYPTO_WORKQUEUE=yCONFIG_CRYPTO_CRYPTD=yCONFIG_CRYPTO_AUTHENC=mCONFIG_CRYPTO_TEST=mCONFIG_CRYPTO_ABLK_HELPER=yCONFIG_CRYPTO_GLUE_HELPER_X86=y
#
# Authenticated Encryption with Associated Data
#
# CONFIG_CRYPTO_CCM is not setCONFIG_CRYPTO_GCM=mCONFIG_CRYPTO_SEQIV=y
#
# Block modes
#CONFIG_CRYPTO_CBC=yCONFIG_CRYPTO_CTR=m
# CONFIG_CRYPTO_CTS is not setCONFIG_CRYPTO_ECB=yCONFIG_CRYPTO_LRW=yCONFIG_CRYPTO_PCBC=mCONFIG_CRYPTO_XTS=y
#
# Hash modes
#CONFIG_CRYPTO_CMAC=yCONFIG_CRYPTO_HMAC=yCONFIG_CRYPTO_XCBC=mCONFIG_CRYPTO_VMAC=m
#
# Digest
#CONFIG_CRYPTO_CRC32C=yCONFIG_CRYPTO_CRC32C_INTEL=yCONFIG_CRYPTO_CRC32=yCONFIG_CRYPTO_CRC32_PCLMUL=yCONFIG_CRYPTO_CRCT10DIF=yCONFIG_CRYPTO_CRCT10DIF_PCLMUL=mCONFIG_CRYPTO_GHASH=mCONFIG_CRYPTO_MD4=yCONFIG_CRYPTO_MD5=yCONFIG_CRYPTO_MICHAEL_MIC=mCONFIG_CRYPTO_RMD128=y
# CONFIG_CRYPTO_RMD160 is not setCONFIG_CRYPTO_RMD256=yCONFIG_CRYPTO_RMD320=yCONFIG_CRYPTO_SHA1=y
# CONFIG_CRYPTO_SHA1_SSSE3 is not setCONFIG_CRYPTO_SHA256_SSSE3=y
# CONFIG_CRYPTO_SHA512_SSSE3 is not setCONFIG_CRYPTO_SHA256=y
# CONFIG_CRYPTO_SHA512 is not setCONFIG_CRYPTO_TGR192=mCONFIG_CRYPTO_WP512=yCONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL=m
#
# Ciphers
#CONFIG_CRYPTO_AES=yCONFIG_CRYPTO_AES_X86_64=yCONFIG_CRYPTO_AES_NI_INTEL=yCONFIG_CRYPTO_ANUBIS=yCONFIG_CRYPTO_ARC4=yCONFIG_CRYPTO_BLOWFISH=yCONFIG_CRYPTO_BLOWFISH_COMMON=yCONFIG_CRYPTO_BLOWFISH_X86_64=mCONFIG_CRYPTO_CAMELLIA=yCONFIG_CRYPTO_CAMELLIA_X86_64=yCONFIG_CRYPTO_CAMELLIA_AESNI_AVX_X86_64=yCONFIG_CRYPTO_CAMELLIA_AESNI_AVX2_X86_64=yCONFIG_CRYPTO_CAST_COMMON=yCONFIG_CRYPTO_CAST5=y
# CONFIG_CRYPTO_CAST5_AVX_X86_64 is not setCONFIG_CRYPTO_CAST6=mCONFIG_CRYPTO_CAST6_AVX_X86_64=mCONFIG_CRYPTO_DES=yCONFIG_CRYPTO_FCRYPT=yCONFIG_CRYPTO_KHAZAD=yCONFIG_CRYPTO_SALSA20=m
# CONFIG_CRYPTO_SALSA20_X86_64 is not setCONFIG_CRYPTO_SEED=mCONFIG_CRYPTO_SERPENT=yCONFIG_CRYPTO_SERPENT_SSE2_X86_64=yCONFIG_CRYPTO_SERPENT_AVX_X86_64=yCONFIG_CRYPTO_SERPENT_AVX2_X86_64=y
# CONFIG_CRYPTO_TEA is not setCONFIG_CRYPTO_TWOFISH=mCONFIG_CRYPTO_TWOFISH_COMMON=yCONFIG_CRYPTO_TWOFISH_X86_64=yCONFIG_CRYPTO_TWOFISH_X86_64_3WAY=yCONFIG_CRYPTO_TWOFISH_AVX_X86_64=y
#
# Compression
#CONFIG_CRYPTO_DEFLATE=yCONFIG_CRYPTO_ZLIB=mCONFIG_CRYPTO_LZO=y
# CONFIG_CRYPTO_LZ4 is not setCONFIG_CRYPTO_LZ4HC=m
#
# Random Number Generation
#
# CONFIG_CRYPTO_ANSI_CPRNG is not setCONFIG_CRYPTO_USER_API=yCONFIG_CRYPTO_USER_API_HASH=yCONFIG_CRYPTO_USER_API_SKCIPHER=yCONFIG_CRYPTO_HASH_INFO=y
# CONFIG_CRYPTO_HW is not setCONFIG_ASYMMETRIC_KEY_TYPE=mCONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=mCONFIG_PUBLIC_KEY_ALGO_RSA=m
# CONFIG_X509_CERTIFICATE_PARSER is not setCONFIG_HAVE_KVM=yCONFIG_VIRTUALIZATION=y
# CONFIG_KVM is not set
# CONFIG_BINARY_PRINTF is not set
#
# Library routines
#CONFIG_RAID6_PQ=yCONFIG_BITREVERSE=yCONFIG_GENERIC_STRNCPY_FROM_USER=yCONFIG_GENERIC_STRNLEN_USER=yCONFIG_GENERIC_NET_UTILS=yCONFIG_GENERIC_FIND_FIRST_BIT=yCONFIG_GENERIC_PCI_IOMAP=yCONFIG_GENERIC_IOMAP=yCONFIG_GENERIC_IO=yCONFIG_ARCH_USE_CMPXCHG_LOCKREF=yCONFIG_CRC_CCITT=mCONFIG_CRC16=yCONFIG_CRC_T10DIF=yCONFIG_CRC_ITU_T=yCONFIG_CRC32=y
# CONFIG_CRC32_SELFTEST is not setCONFIG_CRC32_SLICEBY8=y
# CONFIG_CRC32_SLICEBY4 is not set
# CONFIG_CRC32_SARWATE is not set
# CONFIG_CRC32_BIT is not setCONFIG_CRC7=mCONFIG_LIBCRC32C=y
# CONFIG_CRC8 is not set
# CONFIG_AUDIT_ARCH_COMPAT_GENERIC is not set
# CONFIG_RANDOM32_SELFTEST is not setCONFIG_ZLIB_INFLATE=yCONFIG_ZLIB_DEFLATE=yCONFIG_LZO_COMPRESS=yCONFIG_LZO_DECOMPRESS=yCONFIG_LZ4HC_COMPRESS=mCONFIG_LZ4_DECOMPRESS=mCONFIG_XZ_DEC=y
# CONFIG_XZ_DEC_X86 is not set
# CONFIG_XZ_DEC_POWERPC is not setCONFIG_XZ_DEC_IA64=y
# CONFIG_XZ_DEC_ARM is not setCONFIG_XZ_DEC_ARMTHUMB=yCONFIG_XZ_DEC_SPARC=yCONFIG_XZ_DEC_BCJ=y
# CONFIG_XZ_DEC_TEST is not setCONFIG_GENERIC_ALLOCATOR=yCONFIG_BTREE=yCONFIG_ASSOCIATIVE_ARRAY=yCONFIG_HAS_IOMEM=yCONFIG_HAS_IOPORT_MAP=yCONFIG_HAS_DMA=yCONFIG_CHECK_SIGNATURE=yCONFIG_DQL=yCONFIG_NLATTR=yCONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=yCONFIG_AVERAGE=yCONFIG_CLZ_TAB=yCONFIG_CORDIC=m
# CONFIG_DDR is not setCONFIG_MPILIB=yCONFIG_SIGNATURE=yCONFIG_UCS2_STRING=yCONFIG_FONT_SUPPORT=y
CONFIG_FONT_8x16=yCONFIG_FONT_AUTOSELECT=y
Quoted 7 lines · Ingo Molnar
Not unexpected the breakage comes from:
5627b9d439cc4dfaab738b8c21eef10fb40733f8is the first bad commit commit5627b9d439cc4dfaab738b8c21eef10fb40733f8
Author: Waiman Long <[email protected]>
Date: Mon Feb 3 13:18:57 2014 +0100
Quoted 6 lines
x86, locking: Switch x86 to qrwlock-style rwlocks and optimize it
Make x86 use the fair
rwlock_t.Please also split the feature-enabling and the optimization into two separate patches.
So a bit of an update: I've done the first part of the splitup: the simple enablement of qrwlock-style rwlocks on x86.
But even that leaves build errors:
include/asm-generic/qrwlock_types.h:14:3: error: conflicting types for ‘arch_rwlock_t’
Which means the base patch is broken:
78e077b0c5ec locking/qrwlock: Introduce qrwlock
I've picked up the other patches (rwsem optimistic spinning and fallout), and can apply the qwrlock patches once they are fixed and properly split up.
Thanks,
Ingo
Peter Zijlstra
maintainerQuoted 3 lines · Ingo Molnar
Unfortunately even with the latest bits from you the breakage I reported weeks ago is not resolved:
crap, its the qrwlock bits, I fixed it for the config you gave me. Some paravirt crap header hell thing. Happen to have another .config?
Quoted 7 lines · Peter Zijlstra
Quoted 2 lines · Ingo Molnar
Unfortunately even with the latest bits from you the breakage I reported weeks ago is not resolved:
crap, its the qrwlock bits, I fixed it for the config you gave me. Some paravirt crap header hell thing. Happen to have another .config?
A simple 'make defconfig' triggers the build failure for me:
kernel/locking/qrwlock.c:24:25: fatal error: asm/qrwlock.h: No such file or directory
If I apply the minimal feature-enabling patch below on top of the base qrwlock patch.
Thanks,
Ingo
==========================>
Quoted 1 line
From
a79dedeee44dadf8e033a047b7cd4409bb7ad0d8Mon Sep 17 00:00:00 2001
From: Waiman Long <[email protected]>
Date: Mon, 3 Feb 2014 13:18:57 +0100
Subject: [PATCH] x86, locking: Switch x86 to qrwlock-style rwlocks
Make x86 use the fair rwlock_t.
Don't implement a custom queue_write_unlock() yet, use the generic path.
--- arch/x86/Kconfig | 1 + 1 file changed, 1 insertion(+)
arch/x86/Kconfig +1 -0
@@ -121,6 +121,7 @@ config X86 select MODULES_USE_ELF_RELA if X86_64 select CLONE_BACKWARDS if X86_32 select ARCH_USE_BUILTIN_BSWAP + select ARCH_USE_QUEUE_RWLOCK select OLD_SIGSUSPEND3 if X86_32 || IA32_EMULATION select OLD_SIGACTION if X86_32 select COMPAT_OLD_SIGACTION if IA32_EMULATION
Peter Zijlstra
maintainerQuoted 11 lines · Ingo Molnar
Quoted 7 lines · Peter Zijlstra
Quoted 2 lines · Ingo Molnar
Unfortunately even with the latest bits from you the breakage I reported weeks ago is not resolved:
crap, its the qrwlock bits, I fixed it for the config you gave me. Some paravirt crap header hell thing. Happen to have another .config?
Quoted 7 lines
A simple 'make defconfig' triggers the build failure for me:
kernel/locking/qrwlock.c:24:25: fatal error:asm/qrwlock.h: No such file or directoryIf I apply the minimal feature-enabling patch below on top of the base qrwlock patch.
Well, that second patch which you neutered below would've provided that asm/qrwlock.h.
Lemme see if I can find it with randconfig with both patches applied.
Quoted 14 lines · Peter Zijlstra
Quoted 13 lines · Ingo Molnar
Quoted 7 lines · Peter Zijlstra
Quoted 2 lines · Ingo Molnar
Unfortunately even with the latest bits from you the breakage I reported weeks ago is not resolved:
crap, its the qrwlock bits, I fixed it for the config you gave me. Some paravirt crap header hell thing. Happen to have another .config?
A simple 'make defconfig' triggers the build failure for me:
Quoted 8 lines
Quoted 5 lines
kernel/locking/qrwlock.c:24:25: fatal error:asm/qrwlock.h: No such file or directoryIf I apply the minimal feature-enabling patch below on top of the base qrwlock patch.
Well, that second patch which you neutered below would've provided that
asm/qrwlock.h.
Oops, indeed...
Quoted 2 lines
Lemme see if I can find it with randconfig with both patches applied.
I've attached that config to my first report (I've attached it again)
- it was a !CONFIG_SMP config. If you resolved then please resend the latest and I'll check whether there's anything broken.
Thanks,
Ingo
#
# Automatically generated file; DO NOT EDIT.
# Linux/x86_64 3.15.0-rc8 Kernel Configuration
#CONFIG_64BIT=yCONFIG_X86_64=yCONFIG_X86=yCONFIG_INSTRUCTION_DECODER=yCONFIG_OUTPUT_FORMAT="elf64-x86-64"CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig"CONFIG_LOCKDEP_SUPPORT=yCONFIG_STACKTRACE_SUPPORT=yCONFIG_HAVE_LATENCYTOP_SUPPORT=yCONFIG_MMU=yCONFIG_NEED_DMA_MAP_STATE=yCONFIG_NEED_SG_DMA_LENGTH=yCONFIG_GENERIC_ISA_DMA=yCONFIG_GENERIC_BUG=yCONFIG_GENERIC_BUG_RELATIVE_POINTERS=yCONFIG_GENERIC_HWEIGHT=yCONFIG_ARCH_MAY_HAVE_PC_FDC=yCONFIG_RWSEM_XCHGADD_ALGORITHM=yCONFIG_GENERIC_CALIBRATE_DELAY=yCONFIG_ARCH_HAS_CPU_RELAX=yCONFIG_ARCH_HAS_CACHE_LINE_SIZE=yCONFIG_HAVE_SETUP_PER_CPU_AREA=yCONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=yCONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=yCONFIG_ARCH_HIBERNATION_POSSIBLE=yCONFIG_ARCH_SUSPEND_POSSIBLE=yCONFIG_ARCH_WANT_HUGE_PMD_SHARE=yCONFIG_ARCH_WANT_GENERAL_HUGETLB=yCONFIG_ZONE_DMA32=yCONFIG_AUDIT_ARCH=yCONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=yCONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=yCONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-rdi -fcall-saved-rsi -fcall-saved-rdx -fcall-saved-rcx -fcall-saved-r8 -fcall-saved-r9 -fcall-saved-r10 -fcall-saved-r11" CONFIG_ARCH_SUPPORTS_UPROBES=yCONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"CONFIG_IRQ_WORK=yCONFIG_BUILDTIME_EXTABLE_SORT=y
#
# General setup
#CONFIG_BROKEN_ON_SMP=yCONFIG_INIT_ENV_ARG_LIMIT=32CONFIG_CROSS_COMPILE=""
# CONFIG_COMPILE_TEST is not setCONFIG_LOCALVERSION=""
# CONFIG_LOCALVERSION_AUTO is not setCONFIG_HAVE_KERNEL_GZIP=yCONFIG_HAVE_KERNEL_BZIP2=yCONFIG_HAVE_KERNEL_LZMA=yCONFIG_HAVE_KERNEL_XZ=yCONFIG_HAVE_KERNEL_LZO=yCONFIG_HAVE_KERNEL_LZ4=y
# CONFIG_KERNEL_GZIP is not set
# CONFIG_KERNEL_BZIP2 is not set
# CONFIG_KERNEL_LZMA is not setCONFIG_KERNEL_XZ=y
# CONFIG_KERNEL_LZO is not set
# CONFIG_KERNEL_LZ4 is not setCONFIG_DEFAULT_HOSTNAME="(none)"
# CONFIG_SWAP is not set
# CONFIG_SYSVIPC is not setCONFIG_POSIX_MQUEUE=yCONFIG_POSIX_MQUEUE_SYSCTL=y
# CONFIG_FHANDLE is not set
# CONFIG_USELIB is not set
# CONFIG_AUDIT is not setCONFIG_HAVE_ARCH_AUDITSYSCALL=y
#
# IRQ subsystem
#CONFIG_GENERIC_IRQ_PROBE=yCONFIG_GENERIC_IRQ_SHOW=yCONFIG_GENERIC_IRQ_LEGACY_ALLOC_HWIRQ=yCONFIG_GENERIC_IRQ_CHIP=yCONFIG_IRQ_DOMAIN=yCONFIG_IRQ_DOMAIN_DEBUG=yCONFIG_IRQ_FORCED_THREADING=yCONFIG_SPARSE_IRQ=yCONFIG_CLOCKSOURCE_WATCHDOG=yCONFIG_ARCH_CLOCKSOURCE_DATA=yCONFIG_GENERIC_TIME_VSYSCALL=yCONFIG_GENERIC_CLOCKEVENTS=yCONFIG_GENERIC_CLOCKEVENTS_BUILD=yCONFIG_GENERIC_CLOCKEVENTS_BROADCAST=yCONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=yCONFIG_GENERIC_CMOS_UPDATE=y
#
# Timers subsystem
#CONFIG_TICK_ONESHOT=yCONFIG_HZ_PERIODIC=y
# CONFIG_NO_HZ_IDLE is not set
# CONFIG_NO_HZ is not setCONFIG_HIGH_RES_TIMERS=y
#
# CPU/Task time and stats accounting
#CONFIG_VIRT_CPU_ACCOUNTING=y
# CONFIG_TICK_CPU_ACCOUNTING is not setCONFIG_VIRT_CPU_ACCOUNTING_GEN=y
# CONFIG_IRQ_TIME_ACCOUNTING is not set
# CONFIG_BSD_PROCESS_ACCT is not setCONFIG_TASKSTATS=y
# CONFIG_TASK_DELAY_ACCT is not set
# CONFIG_TASK_XACCT is not set
#
# RCU Subsystem
#CONFIG_TINY_RCU=y
# CONFIG_PREEMPT_RCU is not setCONFIG_RCU_STALL_COMMON=yCONFIG_CONTEXT_TRACKING=y
# CONFIG_CONTEXT_TRACKING_FORCE is not set
# CONFIG_TREE_RCU_TRACE is not set
# CONFIG_IKCONFIG is not setCONFIG_LOG_BUF_SHIFT=20CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=yCONFIG_ARCH_SUPPORTS_NUMA_BALANCING=yCONFIG_ARCH_SUPPORTS_INT128=yCONFIG_ARCH_WANTS_PROT_NUMA_PROT_NONE=yCONFIG_CGROUPS=y
# CONFIG_CGROUP_DEBUG is not set
# CONFIG_CGROUP_FREEZER is not set
# CONFIG_CGROUP_DEVICE is not setCONFIG_CPUSETS=yCONFIG_PROC_PID_CPUSET=yCONFIG_CGROUP_CPUACCT=yCONFIG_RESOURCE_COUNTERS=yCONFIG_MEMCG=y
# CONFIG_CGROUP_HUGETLB is not set
# CONFIG_CGROUP_PERF is not setCONFIG_CGROUP_SCHED=yCONFIG_FAIR_GROUP_SCHED=y
# CONFIG_CFS_BANDWIDTH is not set
# CONFIG_RT_GROUP_SCHED is not set
# CONFIG_BLK_CGROUP is not set
# CONFIG_CHECKPOINT_RESTORE is not setCONFIG_NAMESPACES=yCONFIG_UTS_NS=yCONFIG_IPC_NS=yCONFIG_USER_NS=yCONFIG_PID_NS=y
# CONFIG_NET_NS is not setCONFIG_SCHED_AUTOGROUP=yCONFIG_MM_OWNER=yCONFIG_SYSFS_DEPRECATED=yCONFIG_SYSFS_DEPRECATED_V2=y
# CONFIG_RELAY is not set
# CONFIG_BLK_DEV_INITRD is not set
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not setCONFIG_SYSCTL=yCONFIG_ANON_INODES=yCONFIG_HAVE_UID16=yCONFIG_SYSCTL_EXCEPTION_TRACE=yCONFIG_HAVE_PCSPKR_PLATFORM=yCONFIG_EXPERT=yCONFIG_UID16=y
# CONFIG_SYSFS_SYSCALL is not set
# CONFIG_SYSCTL_SYSCALL is not setCONFIG_KALLSYMS=yCONFIG_KALLSYMS_ALL=yCONFIG_PRINTK=yCONFIG_BUG=y
# CONFIG_PCSPKR_PLATFORM is not set
# CONFIG_BASE_FULL is not setCONFIG_FUTEX=y
# CONFIG_EPOLL is not setCONFIG_SIGNALFD=y
# CONFIG_TIMERFD is not setCONFIG_EVENTFD=yCONFIG_SHMEM=yCONFIG_AIO=y
# CONFIG_PCI_QUIRKS is not setCONFIG_EMBEDDED=yCONFIG_HAVE_PERF_EVENTS=yCONFIG_PERF_USE_VMALLOC=y
#
# Kernel Performance Events And Counters
#CONFIG_PERF_EVENTS=yCONFIG_DEBUG_PERF_USE_VMALLOC=y
# CONFIG_VM_EVENT_COUNTERS is not set
# CONFIG_COMPAT_BRK is not set
# CONFIG_SLAB is not set
# CONFIG_SLUB is not setCONFIG_SLOB=y
# CONFIG_SYSTEM_TRUSTED_KEYRING is not setCONFIG_PROFILING=yCONFIG_OPROFILE=mCONFIG_OPROFILE_EVENT_MULTIPLEX=yCONFIG_HAVE_OPROFILE=yCONFIG_OPROFILE_NMI_TIMER=y
# CONFIG_KPROBES is not set
# CONFIG_JUMP_LABEL is not set
# CONFIG_UPROBES is not set
# CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not setCONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=yCONFIG_ARCH_USE_BUILTIN_BSWAP=yCONFIG_HAVE_IOREMAP_PROT=yCONFIG_HAVE_KPROBES=yCONFIG_HAVE_KRETPROBES=yCONFIG_HAVE_OPTPROBES=yCONFIG_HAVE_KPROBES_ON_FTRACE=yCONFIG_HAVE_ARCH_TRACEHOOK=yCONFIG_HAVE_DMA_ATTRS=yCONFIG_GENERIC_SMP_IDLE_THREAD=yCONFIG_HAVE_REGS_AND_STACK_ACCESS_API=yCONFIG_HAVE_CLK=yCONFIG_HAVE_DMA_API_DEBUG=yCONFIG_HAVE_HW_BREAKPOINT=yCONFIG_HAVE_MIXED_BREAKPOINTS_REGS=yCONFIG_HAVE_USER_RETURN_NOTIFIER=yCONFIG_HAVE_PERF_EVENTS_NMI=yCONFIG_HAVE_PERF_REGS=yCONFIG_HAVE_PERF_USER_STACK_DUMP=yCONFIG_HAVE_ARCH_JUMP_LABEL=yCONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=yCONFIG_HAVE_CMPXCHG_LOCAL=yCONFIG_HAVE_CMPXCHG_DOUBLE=yCONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION=yCONFIG_ARCH_WANT_OLD_COMPAT_IPC=yCONFIG_HAVE_ARCH_SECCOMP_FILTER=yCONFIG_HAVE_CC_STACKPROTECTOR=yCONFIG_CC_STACKPROTECTOR=y
# CONFIG_CC_STACKPROTECTOR_NONE is not setCONFIG_CC_STACKPROTECTOR_REGULAR=y
# CONFIG_CC_STACKPROTECTOR_STRONG is not setCONFIG_HAVE_CONTEXT_TRACKING=yCONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=yCONFIG_HAVE_IRQ_TIME_ACCOUNTING=yCONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=yCONFIG_HAVE_ARCH_SOFT_DIRTY=yCONFIG_MODULES_USE_ELF_RELA=yCONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK=yCONFIG_OLD_SIGSUSPEND3=yCONFIG_COMPAT_OLD_SIGACTION=y
#
# GCOV-based kernel profiling
#
# CONFIG_GCOV_KERNEL is not set
# CONFIG_HAVE_GENERIC_DMA_COHERENT is not setCONFIG_RT_MUTEXES=yCONFIG_BASE_SMALL=1CONFIG_MODULES=y
# CONFIG_MODULE_FORCE_LOAD is not setCONFIG_MODULE_UNLOAD=y
# CONFIG_MODULE_FORCE_UNLOAD is not setCONFIG_MODVERSIONS=y
# CONFIG_MODULE_SRCVERSION_ALL is not set
# CONFIG_MODULE_SIG is not setCONFIG_BLOCK=yCONFIG_BLK_DEV_BSG=yCONFIG_BLK_DEV_BSGLIB=yCONFIG_BLK_DEV_INTEGRITY=yCONFIG_BLK_CMDLINE_PARSER=y
#
# Partition Types
#CONFIG_PARTITION_ADVANCED=yCONFIG_ACORN_PARTITION=yCONFIG_ACORN_PARTITION_CUMANA=yCONFIG_ACORN_PARTITION_EESOX=y
# CONFIG_ACORN_PARTITION_ICS is not setCONFIG_ACORN_PARTITION_ADFS=yCONFIG_ACORN_PARTITION_POWERTEC=y
# CONFIG_ACORN_PARTITION_RISCIX is not set
# CONFIG_AIX_PARTITION is not set
# CONFIG_OSF_PARTITION is not setCONFIG_AMIGA_PARTITION=y
# CONFIG_ATARI_PARTITION is not setCONFIG_MAC_PARTITION=yCONFIG_MSDOS_PARTITION=yCONFIG_BSD_DISKLABEL=y
# CONFIG_MINIX_SUBPARTITION is not setCONFIG_SOLARIS_X86_PARTITION=yCONFIG_UNIXWARE_DISKLABEL=yCONFIG_LDM_PARTITION=yCONFIG_LDM_DEBUG=yCONFIG_SGI_PARTITION=y
# CONFIG_ULTRIX_PARTITION is not setCONFIG_SUN_PARTITION=y
# CONFIG_KARMA_PARTITION is not set
# CONFIG_EFI_PARTITION is not set
# CONFIG_SYSV68_PARTITION is not set
# CONFIG_CMDLINE_PARTITION is not setCONFIG_BLOCK_COMPAT=y
#
# IO Schedulers
#CONFIG_IOSCHED_NOOP=yCONFIG_IOSCHED_DEADLINE=yCONFIG_IOSCHED_CFQ=m
# CONFIG_DEFAULT_DEADLINE is not setCONFIG_DEFAULT_NOOP=yCONFIG_DEFAULT_IOSCHED="noop"CONFIG_UNINLINE_SPIN_UNLOCK=yCONFIG_ARCH_USE_QUEUE_RWLOCK=yCONFIG_FREEZER=y
#
# Processor type and features
#CONFIG_ZONE_DMA=y
# CONFIG_SMP is not setCONFIG_X86_X2APIC=y
# CONFIG_X86_MPPARSE is not set CONFIG_X86_EXTENDED_PLATFORM=y CONFIG_X86_INTEL_LPSS=y CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y CONFIG_SCHED_OMIT_FRAME_POINTER=y CONFIG_KVMTOOL_TEST_ENABLE=y CONFIG_HYPERVISOR_GUEST=yCONFIG_PARAVIRT=y
# CONFIG_PARAVIRT_DEBUG is not set CONFIG_XEN=yCONFIG_XEN_DOM0=yCONFIG_XEN_PVHVM=y CONFIG_XEN_MAX_DOMAIN_MEMORY=500 CONFIG_XEN_SAVE_RESTORE=y
# CONFIG_XEN_DEBUG_FS is not set CONFIG_XEN_PVH=y
# CONFIG_KVM_GUEST is not set CONFIG_PARAVIRT_TIME_ACCOUNTING=y CONFIG_PARAVIRT_CLOCK=yCONFIG_NO_BOOTMEM=y
# CONFIG_MEMTEST is not set
# CONFIG_MK8 is not set
# CONFIG_MPSC is not set
# CONFIG_MCORE2 is not set
# CONFIG_MATOM is not set CONFIG_GENERIC_CPU=y CONFIG_X86_INTERNODE_CACHE_SHIFT=6 CONFIG_X86_L1_CACHE_SHIFT=6CONFIG_X86_TSC=yCONFIG_X86_CMPXCHG64=yCONFIG_X86_CMOV=y CONFIG_X86_MINIMUM_CPU_FAMILY=64 CONFIG_X86_DEBUGCTLMSR=y CONFIG_PROCESSOR_SELECT=y
# CONFIG_CPU_SUP_INTEL is not set CONFIG_CPU_SUP_AMD=y
# CONFIG_CPU_SUP_CENTAUR is not set CONFIG_HPET_TIMER=yCONFIG_DMI=y
# CONFIG_GART_IOMMU is not set
# CONFIG_CALGARY_IOMMU is not set CONFIG_SWIOTLB=yCONFIG_IOMMU_HELPER=yCONFIG_NR_CPUS=1CONFIG_PREEMPT_NONE=y
# CONFIG_PREEMPT_VOLUNTARY is not set
# CONFIG_PREEMPT is not set CONFIG_PREEMPT_COUNT=y CONFIG_X86_LOCAL_APIC=yCONFIG_X86_IO_APIC=y
# CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS is not set CONFIG_X86_MCE=yCONFIG_X86_MCE_INTEL=y
# CONFIG_X86_MCE_AMD is not set CONFIG_X86_MCE_THRESHOLD=y CONFIG_X86_MCE_INJECT=y CONFIG_X86_THERMAL_VECTOR=y CONFIG_X86_16BIT=yCONFIG_X86_ESPFIX64=y
# CONFIG_I8K is not setCONFIG_MICROCODE=y
# CONFIG_MICROCODE_INTEL is not set
# CONFIG_MICROCODE_AMD is not set CONFIG_MICROCODE_OLD_INTERFACE=y
# CONFIG_MICROCODE_INTEL_EARLY is not set
# CONFIG_MICROCODE_AMD_EARLY is not set CONFIG_X86_MSR=m
# CONFIG_X86_CPUID is not set CONFIG_ARCH_PHYS_ADDR_T_64BIT=y CONFIG_ARCH_DMA_ADDR_T_64BIT=y
# CONFIG_DIRECT_GBPAGES is not set CONFIG_ARCH_SPARSEMEM_ENABLE=y CONFIG_ARCH_SPARSEMEM_DEFAULT=y CONFIG_ARCH_SELECT_MEMORY_MODEL=y CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000 CONFIG_SELECT_MEMORY_MODEL=y CONFIG_SPARSEMEM_MANUAL=yCONFIG_SPARSEMEM=y CONFIG_HAVE_MEMORY_PRESENT=y CONFIG_SPARSEMEM_EXTREME=y CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y CONFIG_SPARSEMEM_ALLOC_MEM_MAP_TOGETHER=y
# CONFIG_SPARSEMEM_VMEMMAP is not set CONFIG_HAVE_MEMBLOCK=y CONFIG_HAVE_MEMBLOCK_NODE_MAP=y CONFIG_ARCH_DISCARD_MEMBLOCK=y CONFIG_MEMORY_ISOLATION=y
# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set
# CONFIG_MEMORY_HOTPLUG is not set CONFIG_PAGEFLAGS_EXTENDED=y CONFIG_SPLIT_PTLOCK_CPUS=4 CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y CONFIG_COMPACTION=yCONFIG_MIGRATION=y CONFIG_PHYS_ADDR_T_64BIT=y CONFIG_ZONE_DMA_FLAG=1
# CONFIG_BOUNCE is not set CONFIG_NEED_BOUNCE_POOL=y CONFIG_VIRT_TO_BUS=yCONFIG_MMU_NOTIFIER=y
# CONFIG_KSM is not set CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y CONFIG_MEMORY_FAILURE=y CONFIG_HWPOISON_INJECT=m CONFIG_TRANSPARENT_HUGEPAGE=y CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y
# CONFIG_TRANSPARENT_HUGEPAGE_MADVISE is not set CONFIG_CROSS_MEMORY_ATTACH=y CONFIG_NEED_PER_CPU_KM=yCONFIG_CLEANCACHE=yCONFIG_CMA=y
# CONFIG_CMA_DEBUG is not set
# CONFIG_ZBUD is not setCONFIG_ZSMALLOC=y
# CONFIG_PGTABLE_MAPPING is not set CONFIG_GENERIC_EARLY_IOREMAP=y
# CONFIG_X86_CHECK_BIOS_CORRUPTION is not set CONFIG_X86_RESERVE_LOW=64CONFIG_MTRR=yCONFIG_MTRR_SANITIZER=y CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=0 CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1 CONFIG_X86_PAT=y CONFIG_ARCH_USES_PG_UNCACHED=y CONFIG_ARCH_RANDOM=y
# CONFIG_X86_SMAP is not setCONFIG_EFI=y
# CONFIG_EFI_STUB is not set
# CONFIG_SECCOMP is not set
# CONFIG_HZ_100 is not setCONFIG_HZ_250=y
# CONFIG_HZ_300 is not set
# CONFIG_HZ_1000 is not setCONFIG_HZ=250CONFIG_SCHED_HRTICK=y
# CONFIG_KEXEC is not set CONFIG_CRASH_DUMP=y CONFIG_PHYSICAL_START=0x1000000
# CONFIG_RELOCATABLE is not set CONFIG_PHYSICAL_ALIGN=0x200000
# CONFIG_COMPAT_VDSO is not set CONFIG_CMDLINE_BOOL=yCONFIG_CMDLINE=""
# CONFIG_CMDLINE_OVERRIDE is not set CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
#
# Power management and ACPI options
#
# CONFIG_SUSPEND is not setCONFIG_HIBERNATE_CALLBACKS=yCONFIG_PM_SLEEP=y
# CONFIG_PM_AUTOSLEEP is not set
# CONFIG_PM_WAKELOCKS is not setCONFIG_PM_RUNTIME=yCONFIG_PM=y
# CONFIG_PM_DEBUG is not setCONFIG_PM_CLK=y
# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not setCONFIG_ACPI=yCONFIG_ACPI_PROCFS_POWER=yCONFIG_ACPI_EC_DEBUGFS=m
# CONFIG_ACPI_AC is not setCONFIG_ACPI_BATTERY=mCONFIG_ACPI_BUTTON=m
# CONFIG_ACPI_VIDEO is not setCONFIG_ACPI_FAN=y
# CONFIG_ACPI_DOCK is not setCONFIG_ACPI_PROCESSOR=y
# CONFIG_ACPI_IPMI is not setCONFIG_ACPI_PROCESSOR_AGGREGATOR=yCONFIG_ACPI_THERMAL=y
# CONFIG_ACPI_CUSTOM_DSDT is not set
# CONFIG_ACPI_DEBUG is not setCONFIG_ACPI_PCI_SLOT=yCONFIG_X86_PM_TIMER=yCONFIG_ACPI_CONTAINER=y
# CONFIG_ACPI_SBS is not setCONFIG_ACPI_HED=yCONFIG_ACPI_CUSTOM_METHOD=m
# CONFIG_ACPI_BGRT is not setCONFIG_ACPI_REDUCED_HARDWARE_ONLY=y
# CONFIG_ACPI_APEI is not setCONFIG_ACPI_EXTLOG=mCONFIG_SFI=y
#
# CPU Frequency scaling
#CONFIG_CPU_FREQ=y CONFIG_CPU_FREQ_GOV_COMMON=y CONFIG_CPU_FREQ_STAT=y CONFIG_CPU_FREQ_STAT_DETAILS=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set # CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set # CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set # CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE=y CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
# CONFIG_CPU_FREQ_GOV_POWERSAVE is not set CONFIG_CPU_FREQ_GOV_USERSPACE=y
# CONFIG_CPU_FREQ_GOV_ONDEMAND is not set CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
#
# x86 CPU frequency scaling drivers # CONFIG_X86_INTEL_PSTATE=y CONFIG_X86_PCC_CPUFREQ=y CONFIG_X86_ACPI_CPUFREQ=y CONFIG_X86_ACPI_CPUFREQ_CPB=y CONFIG_X86_POWERNOW_K8=y # CONFIG_X86_SPEEDSTEP_CENTRINO is not set CONFIG_X86_P4_CLOCKMOD=y
#
# shared options # CONFIG_X86_SPEEDSTEP_LIB=y
#
# CPU Idle
#CONFIG_CPU_IDLE=yCONFIG_CPU_IDLE_MULTIPLE_DRIVERS=yCONFIG_CPU_IDLE_GOV_LADDER=yCONFIG_CPU_IDLE_GOV_MENU=y
# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set
#
# Memory power savings
#CONFIG_I7300_IDLE_IOAT_CHANNEL=yCONFIG_I7300_IDLE=y
#
# Bus options (PCI etc.)
#CONFIG_PCI=yCONFIG_PCI_DIRECT=yCONFIG_PCI_MMCONFIG=yCONFIG_PCI_XEN=yCONFIG_PCI_DOMAINS=yCONFIG_PCI_CNB20LE_QUIRK=yCONFIG_PCIEPORTBUS=yCONFIG_PCIEAER=yCONFIG_PCIE_ECRC=yCONFIG_PCIEAER_INJECT=m
# CONFIG_PCIEASPM is not setCONFIG_PCIE_PME=yCONFIG_PCI_MSI=y
# CONFIG_PCI_DEBUG is not setCONFIG_PCI_REALLOC_ENABLE_AUTO=y
# CONFIG_PCI_STUB is not setCONFIG_XEN_PCIDEV_FRONTEND=m
# CONFIG_HT_IRQ is not setCONFIG_PCI_ATS=yCONFIG_PCI_IOV=yCONFIG_PCI_PRI=yCONFIG_PCI_PASID=y
# CONFIG_PCI_IOAPIC is not setCONFIG_PCI_LABEL=y
#
# PCI host controller drivers
#CONFIG_ISA_DMA_API=yCONFIG_AMD_NB=yCONFIG_PCCARD=yCONFIG_PCMCIA=yCONFIG_PCMCIA_LOAD_CIS=yCONFIG_CARDBUS=y
#
# PC-card bridges
#CONFIG_YENTA=y
# CONFIG_YENTA_O2 is not setCONFIG_YENTA_RICOH=yCONFIG_YENTA_TI=yCONFIG_YENTA_ENE_TUNE=yCONFIG_YENTA_TOSHIBA=y
# CONFIG_PD6729 is not setCONFIG_I82092=yCONFIG_PCCARD_NONSTATIC=y
# CONFIG_HOTPLUG_PCI is not setCONFIG_RAPIDIO=yCONFIG_RAPIDIO_TSI721=yCONFIG_RAPIDIO_DISC_TIMEOUT=30CONFIG_RAPIDIO_ENABLE_RX_TX_PORTS=y
# CONFIG_RAPIDIO_DMA_ENGINE is not setCONFIG_RAPIDIO_DEBUG=yCONFIG_RAPIDIO_ENUM_BASIC=m
#
# RapidIO Switch drivers
#
# CONFIG_RAPIDIO_TSI57X is not setCONFIG_RAPIDIO_CPS_XX=m
# CONFIG_RAPIDIO_TSI568 is not setCONFIG_RAPIDIO_CPS_GEN2=mCONFIG_X86_SYSFB=y
#
# Executable file formats / Emulations
#CONFIG_BINFMT_ELF=yCONFIG_COMPAT_BINFMT_ELF=yCONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE=yCONFIG_BINFMT_SCRIPT=y
# CONFIG_HAVE_AOUT is not setCONFIG_BINFMT_MISC=y
# CONFIG_COREDUMP is not setCONFIG_IA32_EMULATION=yCONFIG_IA32_AOUT=yCONFIG_X86_X32=yCONFIG_COMPAT=yCONFIG_COMPAT_FOR_U64_ALIGNMENT=yCONFIG_KEYS_COMPAT=yCONFIG_X86_DEV_DMA_OPS=yCONFIG_IOSF_MBI=mCONFIG_NET=yCONFIG_COMPAT_NETLINK_MESSAGES=y
#
# Networking options
#CONFIG_PACKET=yCONFIG_PACKET_DIAG=yCONFIG_UNIX=yCONFIG_UNIX_DIAG=yCONFIG_XFRM=yCONFIG_XFRM_ALGO=yCONFIG_XFRM_USER=m
# CONFIG_XFRM_SUB_POLICY is not set CONFIG_XFRM_MIGRATE=y CONFIG_XFRM_STATISTICS=yCONFIG_XFRM_IPCOMP=mCONFIG_NET_KEY=mCONFIG_NET_KEY_MIGRATE=yCONFIG_INET=yCONFIG_IP_MULTICAST=y CONFIG_IP_ADVANCED_ROUTER=y CONFIG_IP_FIB_TRIE_STATS=y
# CONFIG_IP_MULTIPLE_TABLES is not set
# CONFIG_IP_ROUTE_MULTIPATH is not set
# CONFIG_IP_ROUTE_VERBOSE is not set CONFIG_IP_PNP=yCONFIG_IP_PNP_DHCP=y
# CONFIG_IP_PNP_BOOTP is not set
# CONFIG_IP_PNP_RARP is not set
# CONFIG_NET_IPIP is not set CONFIG_NET_IPGRE_DEMUX=m CONFIG_NET_IP_TUNNEL=mCONFIG_NET_IPGRE=m CONFIG_NET_IPGRE_BROADCAST=y
# CONFIG_IP_MROUTE is not set
# CONFIG_SYN_COOKIES is not set CONFIG_NET_IPVTI=mCONFIG_INET_AH=y
# CONFIG_INET_ESP is not set CONFIG_INET_IPCOMP=m CONFIG_INET_XFRM_TUNNEL=m CONFIG_INET_TUNNEL=m
# CONFIG_INET_XFRM_MODE_TRANSPORT is not set CONFIG_INET_XFRM_MODE_TUNNEL=m CONFIG_INET_XFRM_MODE_BEET=m CONFIG_INET_LRO=yCONFIG_INET_DIAG=mCONFIG_INET_TCP_DIAG=mCONFIG_INET_UDP_DIAG=m
# CONFIG_TCP_CONG_ADVANCED is not set CONFIG_TCP_CONG_CUBIC=y CONFIG_DEFAULT_TCP_CONG="cubic"
# CONFIG_TCP_MD5SIG is not setCONFIG_IPV6=m
# CONFIG_IPV6_ROUTER_PREF is not set
# CONFIG_IPV6_OPTIMISTIC_DAD is not set
# CONFIG_INET6_AH is not set
# CONFIG_INET6_ESP is not set
# CONFIG_INET6_IPCOMP is not set
# CONFIG_IPV6_MIP6 is not set
# CONFIG_INET6_XFRM_TUNNEL is not set
# CONFIG_INET6_TUNNEL is not set CONFIG_INET6_XFRM_MODE_TRANSPORT=m CONFIG_INET6_XFRM_MODE_TUNNEL=m CONFIG_INET6_XFRM_MODE_BEET=m
# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set # CONFIG_IPV6_VTI is not set CONFIG_IPV6_SIT=m
# CONFIG_IPV6_SIT_6RD is not set CONFIG_IPV6_NDISC_NODETYPE=y
# CONFIG_IPV6_TUNNEL is not set
# CONFIG_IPV6_GRE is not set
# CONFIG_IPV6_MULTIPLE_TABLES is not set
# CONFIG_IPV6_MROUTE is not set CONFIG_NETLABEL=yCONFIG_NETWORK_SECMARK=y CONFIG_NET_PTP_CLASSIFY=y
# CONFIG_NETWORK_PHY_TIMESTAMPING is not set CONFIG_NETFILTER=y
# CONFIG_NETFILTER_DEBUG is not set
# CONFIG_NETFILTER_ADVANCED is not set
#
# Core Netfilter Configuration
#CONFIG_NETFILTER_NETLINK=m
# CONFIG_NETFILTER_NETLINK_LOG is not setCONFIG_NF_CONNTRACK=m
# CONFIG_NF_CONNTRACK_SECMARK is not setCONFIG_NF_CONNTRACK_PROCFS=yCONFIG_NF_CONNTRACK_FTP=m
# CONFIG_NF_CONNTRACK_IRC is not setCONFIG_NF_CONNTRACK_BROADCAST=mCONFIG_NF_CONNTRACK_NETBIOS_NS=m
# CONFIG_NF_CONNTRACK_SIP is not setCONFIG_NF_CT_NETLINK=m
# CONFIG_NF_TABLES is not setCONFIG_NETFILTER_XTABLES=m
#
# Xtables combined modules
#CONFIG_NETFILTER_XT_MARK=m
#
# Xtables targets
#CONFIG_NETFILTER_XT_TARGET_LOG=m
# CONFIG_NETFILTER_XT_TARGET_NFLOG is not setCONFIG_NETFILTER_XT_TARGET_SECMARK=mCONFIG_NETFILTER_XT_TARGET_TCPMSS=m
#
# Xtables matches
#
# CONFIG_NETFILTER_XT_MATCH_CONNTRACK is not setCONFIG_NETFILTER_XT_MATCH_POLICY=m
# CONFIG_NETFILTER_XT_MATCH_STATE is not setCONFIG_IP_SET=mCONFIG_IP_SET_MAX=256CONFIG_IP_SET_BITMAP_IP=m
# CONFIG_IP_SET_BITMAP_IPMAC is not set
# CONFIG_IP_SET_BITMAP_PORT is not set
# CONFIG_IP_SET_HASH_IP is not set
# CONFIG_IP_SET_HASH_IPMARK is not set
# CONFIG_IP_SET_HASH_IPPORT is not setCONFIG_IP_SET_HASH_IPPORTIP=m
# CONFIG_IP_SET_HASH_IPPORTNET is not setCONFIG_IP_SET_HASH_NETPORTNET=mCONFIG_IP_SET_HASH_NET=mCONFIG_IP_SET_HASH_NETNET=m
# CONFIG_IP_SET_HASH_NETPORT is not setCONFIG_IP_SET_HASH_NETIFACE=m
# CONFIG_IP_SET_LIST_SET is not setCONFIG_IP_VS=m
# CONFIG_IP_VS_IPV6 is not setCONFIG_IP_VS_DEBUG=yCONFIG_IP_VS_TAB_BITS=12
#
# IPVS transport protocol load balancing support
#CONFIG_IP_VS_PROTO_TCP=yCONFIG_IP_VS_PROTO_UDP=yCONFIG_IP_VS_PROTO_AH_ESP=y
# CONFIG_IP_VS_PROTO_ESP is not setCONFIG_IP_VS_PROTO_AH=yCONFIG_IP_VS_PROTO_SCTP=y
#
# IPVS scheduler
#CONFIG_IP_VS_RR=mCONFIG_IP_VS_WRR=mCONFIG_IP_VS_LC=m
# CONFIG_IP_VS_WLC is not setCONFIG_IP_VS_LBLC=mCONFIG_IP_VS_LBLCR=mCONFIG_IP_VS_DH=m
# CONFIG_IP_VS_SH is not setCONFIG_IP_VS_SED=mCONFIG_IP_VS_NQ=m
#
# IPVS SH scheduler
#CONFIG_IP_VS_SH_TAB_BITS=8
#
# IPVS application helper
#CONFIG_IP_VS_NFCT=y
#
# IP: Netfilter Configuration
#CONFIG_NF_DEFRAG_IPV4=mCONFIG_NF_CONNTRACK_IPV4=mCONFIG_NF_CONNTRACK_PROC_COMPAT=y
# CONFIG_IP_NF_IPTABLES is not set
#
# IPv6: Netfilter Configuration
#CONFIG_NF_DEFRAG_IPV6=mCONFIG_NF_CONNTRACK_IPV6=mCONFIG_IP6_NF_IPTABLES=mCONFIG_IP6_NF_MATCH_IPV6HEADER=mCONFIG_IP6_NF_FILTER=mCONFIG_IP6_NF_TARGET_REJECT=mCONFIG_IP6_NF_MANGLE=m
# CONFIG_IP6_NF_RAW is not setCONFIG_IP_DCCP=yCONFIG_INET_DCCP_DIAG=m
#
# DCCP CCIDs Configuration
#
# CONFIG_IP_DCCP_CCID2_DEBUG is not setCONFIG_IP_DCCP_CCID3=y
# CONFIG_IP_DCCP_CCID3_DEBUG is not setCONFIG_IP_DCCP_TFRC_LIB=y
#
# DCCP Kernel Hacking
#
# CONFIG_IP_DCCP_DEBUG is not setCONFIG_IP_SCTP=mCONFIG_SCTP_DBG_OBJCNT=yCONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5=y
# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1 is not set
# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not setCONFIG_SCTP_COOKIE_HMAC_MD5=y
# CONFIG_SCTP_COOKIE_HMAC_SHA1 is not set
# CONFIG_RDS is not setCONFIG_TIPC=yCONFIG_TIPC_PORTS=8191
# CONFIG_ATM is not setCONFIG_L2TP=mCONFIG_L2TP_DEBUGFS=mCONFIG_L2TP_V3=y
# CONFIG_L2TP_IP is not setCONFIG_L2TP_ETH=mCONFIG_STP=mCONFIG_GARP=m
# CONFIG_BRIDGE is not setCONFIG_HAVE_NET_DSA=yCONFIG_NET_DSA=yCONFIG_NET_DSA_TAG_DSA=yCONFIG_NET_DSA_TAG_EDSA=yCONFIG_NET_DSA_TAG_TRAILER=yCONFIG_VLAN_8021Q=mCONFIG_VLAN_8021Q_GVRP=y
# CONFIG_VLAN_8021Q_MVRP is not setCONFIG_DECNET=m
# CONFIG_DECNET_ROUTER is not setCONFIG_LLC=y
# CONFIG_LLC2 is not setCONFIG_IPX=yCONFIG_IPX_INTERN=y
# CONFIG_ATALK is not set
# CONFIG_X25 is not set
# CONFIG_LAPB is not set
# CONFIG_PHONET is not set
# CONFIG_IEEE802154 is not set
# CONFIG_NET_SCHED is not set
# CONFIG_DCB is not setCONFIG_DNS_RESOLVER=yCONFIG_BATMAN_ADV=y
# CONFIG_BATMAN_ADV_BLA is not setCONFIG_BATMAN_ADV_DAT=yCONFIG_BATMAN_ADV_NC=y
# CONFIG_BATMAN_ADV_MCAST is not setCONFIG_BATMAN_ADV_DEBUG=yCONFIG_OPENVSWITCH=m
# CONFIG_OPENVSWITCH_GRE is not setCONFIG_OPENVSWITCH_VXLAN=yCONFIG_VSOCKETS=m
# CONFIG_NETLINK_MMAP is not set
# CONFIG_NETLINK_DIAG is not setCONFIG_NET_MPLS_GSO=y
# CONFIG_HSR is not setCONFIG_CGROUP_NET_PRIO=yCONFIG_CGROUP_NET_CLASSID=yCONFIG_NET_RX_BUSY_POLL=yCONFIG_BQL=y
# CONFIG_BPF_JIT is not set
#
# Network testing
#
# CONFIG_NET_PKTGEN is not setCONFIG_HAMRADIO=y
#
# Packet Radio protocols
#
# CONFIG_AX25 is not setCONFIG_CAN=mCONFIG_CAN_RAW=mCONFIG_CAN_BCM=mCONFIG_CAN_GW=m
#
# CAN Device Drivers
#CONFIG_CAN_VCAN=mCONFIG_CAN_SLCAN=mCONFIG_CAN_DEV=m
# CONFIG_CAN_CALC_BITTIMING is not set
# CONFIG_CAN_LEDS is not setCONFIG_CAN_MCP251X=mCONFIG_CAN_JANZ_ICAN3=mCONFIG_PCH_CAN=m
# CONFIG_CAN_SJA1000 is not setCONFIG_CAN_C_CAN=mCONFIG_CAN_C_CAN_PLATFORM=mCONFIG_CAN_C_CAN_PCI=m
# CONFIG_CAN_CC770 is not set
#
# CAN USB interfaces
#CONFIG_CAN_EMS_USB=mCONFIG_CAN_ESD_USB2=mCONFIG_CAN_KVASER_USB=mCONFIG_CAN_PEAK_USB=mCONFIG_CAN_8DEV_USB=mCONFIG_CAN_SOFTING=m
# CONFIG_CAN_SOFTING_CS is not setCONFIG_CAN_DEBUG_DEVICES=yCONFIG_IRDA=m
#
# IrDA protocols
#CONFIG_IRLAN=mCONFIG_IRNET=m
# CONFIG_IRCOMM is not setCONFIG_IRDA_ULTRA=y
#
# IrDA options
#
# CONFIG_IRDA_CACHE_LAST_LSAP is not set
# CONFIG_IRDA_FAST_RR is not setCONFIG_IRDA_DEBUG=y
#
# Infrared-port device drivers
#
#
# SIR device drivers
#CONFIG_IRTTY_SIR=m
#
# Dongle support
#CONFIG_DONGLE=yCONFIG_ESI_DONGLE=m
# CONFIG_ACTISYS_DONGLE is not set
# CONFIG_TEKRAM_DONGLE is not setCONFIG_TOIM3232_DONGLE=mCONFIG_LITELINK_DONGLE=m
# CONFIG_MA600_DONGLE is not set
# CONFIG_GIRBIL_DONGLE is not setCONFIG_MCP2120_DONGLE=m
# CONFIG_OLD_BELKIN_DONGLE is not set
# CONFIG_ACT200L_DONGLE is not setCONFIG_KINGSUN_DONGLE=m
# CONFIG_KSDAZZLE_DONGLE is not setCONFIG_KS959_DONGLE=m
#
# FIR device drivers
#CONFIG_USB_IRDA=mCONFIG_SIGMATEL_FIR=mCONFIG_NSC_FIR=mCONFIG_WINBOND_FIR=m
# CONFIG_SMC_IRCC_FIR is not setCONFIG_ALI_FIR=mCONFIG_VLSI_FIR=mCONFIG_VIA_FIR=m
# CONFIG_MCS_FIR is not setCONFIG_BT=y
# CONFIG_BT_6LOWPAN is not setCONFIG_BT_RFCOMM=m
# CONFIG_BT_RFCOMM_TTY is not set
# CONFIG_BT_BNEP is not set
# CONFIG_BT_HIDP is not set
#
# Bluetooth device drivers
#CONFIG_BT_HCIBTUSB=yCONFIG_BT_HCIBTSDIO=mCONFIG_BT_HCIUART=m
# CONFIG_BT_HCIUART_H4 is not set
# CONFIG_BT_HCIUART_BCSP is not set
# CONFIG_BT_HCIUART_ATH3K is not set
# CONFIG_BT_HCIUART_LL is not set
# CONFIG_BT_HCIUART_3WIRE is not setCONFIG_BT_HCIBCM203X=yCONFIG_BT_HCIBPA10X=y
# CONFIG_BT_HCIBFUSB is not set
# CONFIG_BT_HCIDTL1 is not setCONFIG_BT_HCIBT3C=mCONFIG_BT_HCIBLUECARD=yCONFIG_BT_HCIBTUART=yCONFIG_BT_HCIVHCI=m
# CONFIG_BT_MRVL is not setCONFIG_BT_ATH3K=mCONFIG_AF_RXRPC=mCONFIG_AF_RXRPC_DEBUG=yCONFIG_RXKAD=mCONFIG_WIRELESS=yCONFIG_WIRELESS_EXT=yCONFIG_WEXT_CORE=yCONFIG_WEXT_PROC=yCONFIG_WEXT_SPY=yCONFIG_WEXT_PRIV=y
# CONFIG_CFG80211 is not set
# CONFIG_LIB80211 is not set
#
# CFG80211 needs to be enabled for MAC80211
#CONFIG_WIMAX=mCONFIG_WIMAX_DEBUG_LEVEL=8
# CONFIG_RFKILL is not setCONFIG_RFKILL_REGULATOR=mCONFIG_NET_9P=yCONFIG_NET_9P_VIRTIO=yCONFIG_NET_9P_DEBUG=yCONFIG_CAIF=mCONFIG_CAIF_DEBUG=yCONFIG_CAIF_NETDEV=mCONFIG_CAIF_USB=mCONFIG_CEPH_LIB=yCONFIG_CEPH_LIB_PRETTYDEBUG=yCONFIG_CEPH_LIB_USE_DNS_RESOLVER=yCONFIG_NFC=mCONFIG_NFC_DIGITAL=mCONFIG_NFC_NCI=mCONFIG_NFC_NCI_SPI=yCONFIG_NFC_HCI=mCONFIG_NFC_SHDLC=y
#
# Near Field Communication (NFC) devices
#CONFIG_NFC_PN533=mCONFIG_NFC_TRF7970A=mCONFIG_NFC_SIM=mCONFIG_NFC_PORT100=mCONFIG_NFC_PN544=m
# CONFIG_NFC_PN544_I2C is not setCONFIG_NFC_MICROREAD=m
# CONFIG_NFC_MICROREAD_I2C is not setCONFIG_NFC_MRVL=m
# CONFIG_NFC_MRVL_USB is not setCONFIG_HAVE_BPF_JIT=y
#
# Device Drivers
#
#
# Generic Driver Options
#CONFIG_UEVENT_HELPER_PATH=""
# CONFIG_DEVTMPFS is not setCONFIG_STANDALONE=yCONFIG_PREVENT_FIRMWARE_BUILD=yCONFIG_FW_LOADER=y
# CONFIG_FIRMWARE_IN_KERNEL is not setCONFIG_EXTRA_FIRMWARE=""
# CONFIG_FW_LOADER_USER_HELPER is not set
# CONFIG_DEBUG_DRIVER is not set
# CONFIG_DEBUG_DEVRES is not setCONFIG_SYS_HYPERVISOR=y
# CONFIG_GENERIC_CPU_DEVICES is not setCONFIG_GENERIC_CPU_AUTOPROBE=yCONFIG_REGMAP=yCONFIG_REGMAP_I2C=mCONFIG_REGMAP_SPI=yCONFIG_REGMAP_MMIO=yCONFIG_REGMAP_IRQ=y
# CONFIG_DMA_SHARED_BUFFER is not set
#
# Bus devices
#
# CONFIG_CONNECTOR is not set
# CONFIG_MTD is not setCONFIG_PARPORT=yCONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y
# CONFIG_PARPORT_PC is not set
# CONFIG_PARPORT_GSC is not setCONFIG_PARPORT_AX88796=yCONFIG_PARPORT_1284=yCONFIG_PARPORT_NOT_PC=yCONFIG_PNP=y
# CONFIG_PNP_DEBUG_MESSAGES is not set
#
# Protocols
#CONFIG_PNPACPI=yCONFIG_BLK_DEV=yCONFIG_BLK_DEV_NULL_BLK=m
# CONFIG_BLK_DEV_FD is not setCONFIG_BLK_DEV_PCIESSD_MTIP32XX=yCONFIG_ZRAM=m
# CONFIG_ZRAM_LZ4_COMPRESS is not set
# CONFIG_ZRAM_DEBUG is not setCONFIG_BLK_CPQ_CISS_DA=mCONFIG_CISS_SCSI_TAPE=y
# CONFIG_BLK_DEV_DAC960 is not set
# CONFIG_BLK_DEV_UMEM is not set
# CONFIG_BLK_DEV_COW_COMMON is not set
# CONFIG_BLK_DEV_LOOP is not set
# CONFIG_BLK_DEV_DRBD is not setCONFIG_BLK_DEV_NBD=y
# CONFIG_BLK_DEV_NVME is not set
# CONFIG_BLK_DEV_SKD is not setCONFIG_BLK_DEV_SX8=mCONFIG_BLK_DEV_RAM=mCONFIG_BLK_DEV_RAM_COUNT=16CONFIG_BLK_DEV_RAM_SIZE=4096CONFIG_BLK_DEV_XIP=y
# CONFIG_CDROM_PKTCDVD is not set
# CONFIG_ATA_OVER_ETH is not setCONFIG_XEN_BLKDEV_FRONTEND=yCONFIG_VIRTIO_BLK=yCONFIG_BLK_DEV_HD=y
# CONFIG_BLK_DEV_RBD is not setCONFIG_BLK_DEV_RSXX=m
#
# Misc devices
#CONFIG_SENSORS_LIS3LV02D=mCONFIG_AD525X_DPOT=y
# CONFIG_AD525X_DPOT_I2C is not set
# CONFIG_AD525X_DPOT_SPI is not setCONFIG_ATMEL_PWM=y
# CONFIG_DUMMY_IRQ is not setCONFIG_IBM_ASM=yCONFIG_PHANTOM=mCONFIG_SGI_IOC4=yCONFIG_TIFM_CORE=mCONFIG_TIFM_7XX1=mCONFIG_ICS932S401=mCONFIG_ATMEL_SSC=m
# CONFIG_ENCLOSURE_SERVICES is not set
# CONFIG_CS5535_MFGPT is not setCONFIG_HP_ILO=yCONFIG_APDS9802ALS=mCONFIG_ISL29003=m
# CONFIG_ISL29020 is not setCONFIG_SENSORS_TSL2550=mCONFIG_SENSORS_BH1780=mCONFIG_SENSORS_BH1770=mCONFIG_SENSORS_APDS990X=mCONFIG_HMC6352=mCONFIG_DS1682=mCONFIG_TI_DAC7512=mCONFIG_VMWARE_BALLOON=mCONFIG_BMP085=y
# CONFIG_BMP085_I2C is not setCONFIG_BMP085_SPI=y
# CONFIG_PCH_PHUB is not setCONFIG_USB_SWITCH_FSA9480=m
# CONFIG_LATTICE_ECP3_CONFIG is not setCONFIG_SRAM=yCONFIG_C2PORT=yCONFIG_C2PORT_DURAMAR_2150=m
#
# EEPROM support
#CONFIG_EEPROM_AT24=mCONFIG_EEPROM_AT25=yCONFIG_EEPROM_LEGACY=m
# CONFIG_EEPROM_MAX6875 is not setCONFIG_EEPROM_93CX6=y
# CONFIG_EEPROM_93XX46 is not setCONFIG_CB710_CORE=m
# CONFIG_CB710_DEBUG is not setCONFIG_CB710_DEBUG_ASSUMPTIONS=y
#
# Texas Instruments shared transport line discipline #
# CONFIG_TI_ST is not set CONFIG_SENSORS_LIS3_I2C=m
#
# Altera FPGA firmware download module
#CONFIG_ALTERA_STAPL=m
# CONFIG_VMWARE_VMCI is not set
#
# Intel MIC Host Driver
#
# CONFIG_INTEL_MIC_HOST is not set
#
# Intel MIC Card Driver
#CONFIG_INTEL_MIC_CARD=y
# CONFIG_GENWQE is not set
# CONFIG_ECHO is not setCONFIG_HAVE_IDE=y
# CONFIG_IDE is not set
#
# SCSI device support
#CONFIG_SCSI_MOD=yCONFIG_RAID_ATTRS=mCONFIG_SCSI=yCONFIG_SCSI_DMA=yCONFIG_SCSI_TGT=mCONFIG_SCSI_NETLINK=y
# CONFIG_SCSI_PROC_FS is not set
#
# SCSI support type (disk, tape, CD-ROM)
#CONFIG_BLK_DEV_SD=y
# CONFIG_CHR_DEV_ST is not setCONFIG_CHR_DEV_OSST=mCONFIG_BLK_DEV_SR=yCONFIG_BLK_DEV_SR_VENDOR=yCONFIG_CHR_DEV_SG=y
# CONFIG_CHR_DEV_SCH is not setCONFIG_SCSI_MULTI_LUN=y
# CONFIG_SCSI_CONSTANTS is not set
# CONFIG_SCSI_LOGGING is not setCONFIG_SCSI_SCAN_ASYNC=y
#
# SCSI Transports
#CONFIG_SCSI_SPI_ATTRS=yCONFIG_SCSI_FC_ATTRS=yCONFIG_SCSI_ISCSI_ATTRS=yCONFIG_SCSI_SAS_ATTRS=yCONFIG_SCSI_SAS_LIBSAS=mCONFIG_SCSI_SAS_ATA=y
# CONFIG_SCSI_SAS_HOST_SMP is not setCONFIG_SCSI_SRP_ATTRS=m
# CONFIG_SCSI_SRP_TGT_ATTRS is not setCONFIG_SCSI_LOWLEVEL=yCONFIG_ISCSI_TCP=yCONFIG_ISCSI_BOOT_SYSFS=yCONFIG_SCSI_CXGB3_ISCSI=yCONFIG_SCSI_CXGB4_ISCSI=m
# CONFIG_SCSI_BNX2_ISCSI is not set
# CONFIG_SCSI_BNX2X_FCOE is not set
# CONFIG_BE2ISCSI is not set
# CONFIG_BLK_DEV_3W_XXXX_RAID is not setCONFIG_SCSI_HPSA=mCONFIG_SCSI_3W_9XXX=m
# CONFIG_SCSI_3W_SAS is not setCONFIG_SCSI_ACARD=mCONFIG_SCSI_AACRAID=m
# CONFIG_SCSI_AIC7XXX is not setCONFIG_SCSI_AIC79XX=yCONFIG_AIC79XX_CMDS_PER_DEVICE=32CONFIG_AIC79XX_RESET_DELAY_MS=5000CONFIG_AIC79XX_DEBUG_ENABLE=yCONFIG_AIC79XX_DEBUG_MASK=0CONFIG_AIC79XX_REG_PRETTY_PRINT=yCONFIG_SCSI_AIC94XX=m
# CONFIG_AIC94XX_DEBUG is not set
# CONFIG_SCSI_MVSAS is not set
# CONFIG_SCSI_MVUMI is not setCONFIG_SCSI_DPT_I2O=yCONFIG_SCSI_ADVANSYS=y
# CONFIG_SCSI_ARCMSR is not set
# CONFIG_SCSI_ESAS2R is not set
# CONFIG_MEGARAID_NEWGEN is not setCONFIG_MEGARAID_LEGACY=yCONFIG_MEGARAID_SAS=y
# CONFIG_SCSI_MPT2SAS is not setCONFIG_SCSI_MPT3SAS=mCONFIG_SCSI_MPT3SAS_MAX_SGE=128
# CONFIG_SCSI_MPT3SAS_LOGGING is not setCONFIG_SCSI_UFSHCD=yCONFIG_SCSI_UFSHCD_PCI=yCONFIG_SCSI_UFSHCD_PLATFORM=y
# CONFIG_SCSI_HPTIOP is not setCONFIG_SCSI_BUSLOGIC=m
# CONFIG_SCSI_FLASHPOINT is not set
# CONFIG_VMWARE_PVSCSI is not setCONFIG_LIBFC=yCONFIG_LIBFCOE=yCONFIG_FCOE=y
# CONFIG_FCOE_FNIC is not set
# CONFIG_SCSI_DMX3191D is not setCONFIG_SCSI_EATA=m
# CONFIG_SCSI_EATA_TAGGED_QUEUE is not set
# CONFIG_SCSI_EATA_LINKED_COMMANDS is not setCONFIG_SCSI_EATA_MAX_TAGS=16CONFIG_SCSI_FUTURE_DOMAIN=mCONFIG_SCSI_GDTH=m
# CONFIG_SCSI_ISCI is not setCONFIG_SCSI_IPS=yCONFIG_SCSI_INITIO=yCONFIG_SCSI_INIA100=m
# CONFIG_SCSI_STEX is not setCONFIG_SCSI_SYM53C8XX_2=mCONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
# CONFIG_SCSI_SYM53C8XX_MMIO is not set
# CONFIG_SCSI_IPR is not set
# CONFIG_SCSI_QLOGIC_1280 is not setCONFIG_SCSI_QLA_FC=y
# CONFIG_TCM_QLA2XXX is not setCONFIG_SCSI_QLA_ISCSI=yCONFIG_SCSI_LPFC=m
# CONFIG_SCSI_LPFC_DEBUG_FS is not set
# CONFIG_SCSI_DC395x is not set
# CONFIG_SCSI_DC390T is not set
# CONFIG_SCSI_DEBUG is not set
# CONFIG_SCSI_PMCRAID is not setCONFIG_SCSI_PM8001=mCONFIG_SCSI_SRP=m
# CONFIG_SCSI_BFA_FC is not set
# CONFIG_SCSI_VIRTIO is not set
# CONFIG_SCSI_CHELSIO_FCOE is not set
# CONFIG_SCSI_LOWLEVEL_PCMCIA is not setCONFIG_SCSI_DH=yCONFIG_SCSI_DH_RDAC=mCONFIG_SCSI_DH_HP_SW=mCONFIG_SCSI_DH_EMC=yCONFIG_SCSI_DH_ALUA=yCONFIG_SCSI_OSD_INITIATOR=y
# CONFIG_SCSI_OSD_ULD is not setCONFIG_SCSI_OSD_DPRINT_SENSE=1CONFIG_SCSI_OSD_DEBUG=yCONFIG_ATA=y
# CONFIG_ATA_NONSTANDARD is not set
# CONFIG_ATA_VERBOSE_ERROR is not set
# CONFIG_ATA_ACPI is not set
# CONFIG_SATA_PMP is not set
#
# Controllers with non-SFF native interface
#CONFIG_SATA_AHCI=y
# CONFIG_SATA_AHCI_PLATFORM is not setCONFIG_SATA_INIC162X=mCONFIG_SATA_ACARD_AHCI=mCONFIG_SATA_SIL24=yCONFIG_ATA_SFF=y
#
# SFF controllers with custom DMA interface
#CONFIG_PDC_ADMA=yCONFIG_SATA_QSTOR=m
# CONFIG_SATA_SX4 is not setCONFIG_ATA_BMDMA=y
#
# SATA SFF controllers with BMDMA
#CONFIG_ATA_PIIX=y
# CONFIG_SATA_MV is not setCONFIG_SATA_NV=yCONFIG_SATA_PROMISE=m
# CONFIG_SATA_SIL is not setCONFIG_SATA_SIS=yCONFIG_SATA_SVW=yCONFIG_SATA_ULI=mCONFIG_SATA_VIA=mCONFIG_SATA_VITESSE=y
#
# PATA SFF controllers with BMDMA
#
# CONFIG_PATA_ALI is not setCONFIG_PATA_AMD=y
# CONFIG_PATA_ARTOP is not setCONFIG_PATA_ATIIXP=mCONFIG_PATA_ATP867X=yCONFIG_PATA_CMD64X=yCONFIG_PATA_CYPRESS=yCONFIG_PATA_EFAR=m
# CONFIG_PATA_HPT366 is not set
# CONFIG_PATA_HPT37X is not setCONFIG_PATA_HPT3X2N=yCONFIG_PATA_HPT3X3=m
# CONFIG_PATA_HPT3X3_DMA is not set
# CONFIG_PATA_IT8213 is not setCONFIG_PATA_IT821X=yCONFIG_PATA_JMICRON=yCONFIG_PATA_MARVELL=yCONFIG_PATA_NETCELL=yCONFIG_PATA_NINJA32=yCONFIG_PATA_NS87415=yCONFIG_PATA_OLDPIIX=y
# CONFIG_PATA_OPTIDMA is not set
# CONFIG_PATA_PDC2027X is not setCONFIG_PATA_PDC_OLD=mCONFIG_PATA_RADISYS=y
# CONFIG_PATA_RDC is not setCONFIG_PATA_SCH=yCONFIG_PATA_SERVERWORKS=mCONFIG_PATA_SIL680=mCONFIG_PATA_SIS=yCONFIG_PATA_TOSHIBA=yCONFIG_PATA_TRIFLEX=mCONFIG_PATA_VIA=yCONFIG_PATA_WINBOND=m
#
# PIO-only SFF controllers
#CONFIG_PATA_CMD640_PCI=mCONFIG_PATA_MPIIX=yCONFIG_PATA_NS87410=yCONFIG_PATA_OPTI=yCONFIG_PATA_PCMCIA=yCONFIG_PATA_PLATFORM=m
# CONFIG_PATA_RZ1000 is not set
#
# Generic fallback / legacy drivers
#CONFIG_ATA_GENERIC=mCONFIG_PATA_LEGACY=mCONFIG_MD=yCONFIG_BLK_DEV_MD=yCONFIG_MD_AUTODETECT=yCONFIG_MD_LINEAR=yCONFIG_MD_RAID0=mCONFIG_MD_RAID1=m
# CONFIG_MD_RAID10 is not setCONFIG_MD_RAID456=yCONFIG_MD_MULTIPATH=mCONFIG_MD_FAULTY=m
# CONFIG_BCACHE is not setCONFIG_BLK_DEV_DM_BUILTIN=yCONFIG_BLK_DEV_DM=mCONFIG_DM_DEBUG=yCONFIG_DM_BUFIO=mCONFIG_DM_BIO_PRISON=mCONFIG_DM_PERSISTENT_DATA=mCONFIG_DM_DEBUG_BLOCK_STACK_TRACING=yCONFIG_DM_CRYPT=mCONFIG_DM_SNAPSHOT=mCONFIG_DM_THIN_PROVISIONING=mCONFIG_DM_CACHE=m
# CONFIG_DM_CACHE_MQ is not setCONFIG_DM_CACHE_CLEANER=mCONFIG_DM_ERA=mCONFIG_DM_MIRROR=m
# CONFIG_DM_LOG_USERSPACE is not set
# CONFIG_DM_RAID is not setCONFIG_DM_ZERO=m
# CONFIG_DM_MULTIPATH is not setCONFIG_DM_DELAY=mCONFIG_DM_UEVENT=y
# CONFIG_DM_FLAKEY is not set
# CONFIG_DM_VERITY is not setCONFIG_DM_SWITCH=mCONFIG_TARGET_CORE=yCONFIG_TCM_IBLOCK=yCONFIG_TCM_FILEIO=yCONFIG_TCM_PSCSI=yCONFIG_LOOPBACK_TARGET=mCONFIG_TCM_FC=yCONFIG_ISCSI_TARGET=y
# CONFIG_SBP_TARGET is not setCONFIG_FUSION=yCONFIG_FUSION_SPI=mCONFIG_FUSION_FC=m
# CONFIG_FUSION_SAS is not setCONFIG_FUSION_MAX_SGE=128CONFIG_FUSION_CTL=m
# CONFIG_FUSION_LOGGING is not set
#
# IEEE 1394 (FireWire) support
#CONFIG_FIREWIRE=y
# CONFIG_FIREWIRE_OHCI is not set
# CONFIG_FIREWIRE_SBP2 is not setCONFIG_FIREWIRE_NET=m
# CONFIG_FIREWIRE_NOSY is not setCONFIG_I2O=y
# CONFIG_I2O_LCT_NOTIFY_ON_CHANGES is not setCONFIG_I2O_EXT_ADAPTEC=yCONFIG_I2O_EXT_ADAPTEC_DMA64=yCONFIG_I2O_CONFIG=m
# CONFIG_I2O_CONFIG_OLD_IOCTL is not setCONFIG_I2O_BUS=yCONFIG_I2O_BLOCK=yCONFIG_I2O_SCSI=mCONFIG_I2O_PROC=yCONFIG_MACINTOSH_DRIVERS=yCONFIG_MAC_EMUMOUSEBTN=yCONFIG_NETDEVICES=yCONFIG_MII=yCONFIG_NET_CORE=y
# CONFIG_BONDING is not set
# CONFIG_DUMMY is not setCONFIG_EQUALIZER=m
# CONFIG_NET_FC is not setCONFIG_NET_TEAM=yCONFIG_NET_TEAM_MODE_BROADCAST=yCONFIG_NET_TEAM_MODE_ROUNDROBIN=m
# CONFIG_NET_TEAM_MODE_RANDOM is not setCONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m
# CONFIG_NET_TEAM_MODE_LOADBALANCE is not setCONFIG_MACVLAN=y
# CONFIG_MACVTAP is not setCONFIG_VXLAN=mCONFIG_NETCONSOLE=y
# CONFIG_NETCONSOLE_DYNAMIC is not setCONFIG_NETPOLL=yCONFIG_NET_POLL_CONTROLLER=yCONFIG_RIONET=mCONFIG_RIONET_TX_SIZE=128CONFIG_RIONET_RX_SIZE=128CONFIG_TUN=y
# CONFIG_VETH is not setCONFIG_VIRTIO_NET=yCONFIG_NLMON=yCONFIG_ARCNET=y
# CONFIG_ARCNET_1201 is not setCONFIG_ARCNET_1051=yCONFIG_ARCNET_RAW=yCONFIG_ARCNET_CAP=y
CONFIG_ARCNET_COM90xx=y
CONFIG_ARCNET_COM90xxIO=mCONFIG_ARCNET_RIM_I=mCONFIG_ARCNET_COM20020=y
# CONFIG_ARCNET_COM20020_PCI is not set
# CONFIG_ARCNET_COM20020_CS is not set
#
# CAIF transport drivers
#CONFIG_CAIF_TTY=m
# CONFIG_CAIF_SPI_SLAVE is not setCONFIG_CAIF_HSI=mCONFIG_CAIF_VIRTIO=mCONFIG_VHOST_NET=yCONFIG_VHOST_SCSI=mCONFIG_VHOST_RING=yCONFIG_VHOST=y
#
# Distributed Switch Architecture drivers
#CONFIG_NET_DSA_MV88E6XXX=mCONFIG_NET_DSA_MV88E6060=yCONFIG_NET_DSA_MV88E6XXX_NEED_PPU=yCONFIG_NET_DSA_MV88E6131=mCONFIG_NET_DSA_MV88E6123_61_65=mCONFIG_ETHERNET=yCONFIG_MDIO=y
# CONFIG_NET_VENDOR_3COM is not set
# CONFIG_NET_VENDOR_ADAPTEC is not setCONFIG_NET_VENDOR_ALTEON=yCONFIG_ACENIC=mCONFIG_ACENIC_OMIT_TIGON_I=y
# CONFIG_ALTERA_TSE is not set
# CONFIG_NET_VENDOR_AMD is not set
# CONFIG_NET_VENDOR_ARC is not setCONFIG_NET_VENDOR_ATHEROS=yCONFIG_ATL2=yCONFIG_ATL1=yCONFIG_ATL1E=mCONFIG_ATL1C=yCONFIG_ALX=m
# CONFIG_NET_VENDOR_BROADCOM is not setCONFIG_NET_VENDOR_BROCADE=y
# CONFIG_BNA is not setCONFIG_NET_CALXEDA_XGMAC=mCONFIG_NET_VENDOR_CHELSIO=y
# CONFIG_CHELSIO_T1 is not setCONFIG_CHELSIO_T3=yCONFIG_CHELSIO_T4=mCONFIG_CHELSIO_T4VF=y
# CONFIG_NET_VENDOR_CISCO is not setCONFIG_CX_ECAT=m
# CONFIG_DNET is not set
# CONFIG_NET_VENDOR_DEC is not setCONFIG_NET_VENDOR_DLINK=yCONFIG_DL2K=m
# CONFIG_SUNDANCE is not set
# CONFIG_NET_VENDOR_EMULEX is not setCONFIG_NET_VENDOR_EXAR=yCONFIG_S2IO=m
# CONFIG_VXGE is not setCONFIG_NET_VENDOR_FUJITSU=yCONFIG_PCMCIA_FMVJ18X=yCONFIG_NET_VENDOR_HP=y
# CONFIG_HP100 is not set
# CONFIG_NET_VENDOR_INTEL is not set
# CONFIG_IP1000 is not setCONFIG_JME=mCONFIG_NET_VENDOR_MARVELL=yCONFIG_MVMDIO=y
# CONFIG_SKGE is not setCONFIG_SKY2=yCONFIG_SKY2_DEBUG=y
# CONFIG_NET_VENDOR_MELLANOX is not setCONFIG_NET_VENDOR_MICREL=yCONFIG_KS8851=yCONFIG_KS8851_MLL=mCONFIG_KSZ884X_PCI=mCONFIG_NET_VENDOR_MICROCHIP=y
# CONFIG_ENC28J60 is not set
# CONFIG_NET_VENDOR_MYRI is not setCONFIG_FEALNX=yCONFIG_NET_VENDOR_NATSEMI=yCONFIG_NATSEMI=y
# CONFIG_NS83820 is not set
# CONFIG_NET_VENDOR_8390 is not setCONFIG_NET_VENDOR_NVIDIA=yCONFIG_FORCEDETH=yCONFIG_NET_VENDOR_OKI=y
# CONFIG_PCH_GBE is not setCONFIG_ETHOC=y
# CONFIG_NET_PACKET_ENGINE is not setCONFIG_NET_VENDOR_QLOGIC=y
# CONFIG_QLA3XXX is not set
# CONFIG_QLCNIC is not set
# CONFIG_QLGE is not set
# CONFIG_NETXEN_NIC is not setCONFIG_NET_VENDOR_REALTEK=y
# CONFIG_ATP is not setCONFIG_8139CP=mCONFIG_8139TOO=mCONFIG_8139TOO_PIO=y
# CONFIG_8139TOO_TUNE_TWISTER is not setCONFIG_8139TOO_8129=y
# CONFIG_8139_OLD_RX_RESET is not setCONFIG_R8169=yCONFIG_SH_ETH=m
# CONFIG_NET_VENDOR_RDC is not set
# CONFIG_NET_VENDOR_SAMSUNG is not setCONFIG_NET_VENDOR_SEEQ=y
# CONFIG_NET_VENDOR_SILAN is not setCONFIG_NET_VENDOR_SIS=yCONFIG_SIS900=y
# CONFIG_SIS190 is not setCONFIG_SFC=m
# CONFIG_SFC_MCDI_MON is not set
# CONFIG_SFC_SRIOV is not setCONFIG_NET_VENDOR_SMSC=yCONFIG_PCMCIA_SMC91C92=yCONFIG_EPIC100=y
# CONFIG_SMSC911X is not set
# CONFIG_SMSC9420 is not set
# CONFIG_NET_VENDOR_STMICRO is not set
# CONFIG_NET_VENDOR_SUN is not setCONFIG_NET_VENDOR_TEHUTI=yCONFIG_TEHUTI=mCONFIG_NET_VENDOR_TI=yCONFIG_TLAN=y
# CONFIG_NET_VENDOR_VIA is not set
# CONFIG_NET_VENDOR_WIZNET is not set
# CONFIG_NET_VENDOR_XIRCOM is not setCONFIG_FDDI=yCONFIG_DEFXX=m
# CONFIG_DEFXX_MMIO is not set
# CONFIG_SKFP is not set
# CONFIG_HIPPI is not setCONFIG_NET_SB1000=mCONFIG_PHYLIB=y
#
# MII PHY device drivers
#CONFIG_AT803X_PHY=y
# CONFIG_AMD_PHY is not set
# CONFIG_MARVELL_PHY is not setCONFIG_DAVICOM_PHY=mCONFIG_QSEMI_PHY=mCONFIG_LXT_PHY=yCONFIG_CICADA_PHY=yCONFIG_VITESSE_PHY=m
# CONFIG_SMSC_PHY is not set
# CONFIG_BROADCOM_PHY is not set
# CONFIG_BCM7XXX_PHY is not set
# CONFIG_BCM87XX_PHY is not setCONFIG_ICPLUS_PHY=yCONFIG_REALTEK_PHY=y
# CONFIG_NATIONAL_PHY is not setCONFIG_STE10XP=yCONFIG_LSI_ET1011C_PHY=yCONFIG_MICREL_PHY=m
# CONFIG_FIXED_PHY is not setCONFIG_MDIO_BITBANG=yCONFIG_MDIO_GPIO=m
# CONFIG_MICREL_KS8995MA is not setCONFIG_PLIP=mCONFIG_PPP=mCONFIG_PPP_BSDCOMP=m
# CONFIG_PPP_DEFLATE is not set
# CONFIG_PPP_FILTER is not setCONFIG_PPP_MPPE=mCONFIG_PPP_MULTILINK=yCONFIG_PPPOE=mCONFIG_PPTP=m
# CONFIG_PPPOL2TP is not setCONFIG_PPP_ASYNC=mCONFIG_PPP_SYNC_TTY=mCONFIG_SLIP=yCONFIG_SLHC=yCONFIG_SLIP_COMPRESSED=yCONFIG_SLIP_SMART=y
# CONFIG_SLIP_MODE_SLIP6 is not set
#
# USB Network Adapters
#CONFIG_USB_CATC=yCONFIG_USB_KAWETH=y
# CONFIG_USB_PEGASUS is not setCONFIG_USB_RTL8150=yCONFIG_USB_RTL8152=yCONFIG_USB_USBNET=mCONFIG_USB_NET_AX8817X=m
# CONFIG_USB_NET_AX88179_178A is not set
# CONFIG_USB_NET_CDCETHER is not setCONFIG_USB_NET_CDC_EEM=mCONFIG_USB_NET_CDC_NCM=mCONFIG_USB_NET_HUAWEI_CDC_NCM=m
# CONFIG_USB_NET_CDC_MBIM is not setCONFIG_USB_NET_DM9601=mCONFIG_USB_NET_SR9700=mCONFIG_USB_NET_SR9800=mCONFIG_USB_NET_SMSC75XX=mCONFIG_USB_NET_SMSC95XX=mCONFIG_USB_NET_GL620A=m
# CONFIG_USB_NET_NET1080 is not set
# CONFIG_USB_NET_PLUSB is not setCONFIG_USB_NET_MCS7830=m
# CONFIG_USB_NET_RNDIS_HOST is not set
# CONFIG_USB_NET_CDC_SUBSET is not set
# CONFIG_USB_NET_ZAURUS is not setCONFIG_USB_NET_CX82310_ETH=mCONFIG_USB_NET_KALMIA=m
# CONFIG_USB_NET_QMI_WWAN is not setCONFIG_USB_NET_INT51X1=mCONFIG_USB_IPHETH=yCONFIG_USB_SIERRA_NET=mCONFIG_WLAN=y
# CONFIG_PCMCIA_RAYCS is not setCONFIG_PRISM54=y
# CONFIG_HOSTAP is not set
# CONFIG_WL_TI is not set
#
# WiMAX Wireless Broadband devices
#CONFIG_WIMAX_I2400M=mCONFIG_WIMAX_I2400M_USB=mCONFIG_WIMAX_I2400M_DEBUG_LEVEL=8CONFIG_WAN=yCONFIG_LANMEDIA=yCONFIG_HDLC=yCONFIG_HDLC_RAW=y
# CONFIG_HDLC_RAW_ETH is not setCONFIG_HDLC_CISCO=m
# CONFIG_HDLC_FR is not setCONFIG_HDLC_PPP=y
#
# X.25/LAPB support is disabled
#CONFIG_PCI200SYN=yCONFIG_WANXL=yCONFIG_PC300TOO=yCONFIG_FARSYNC=mCONFIG_DSCC4=mCONFIG_DSCC4_PCISYNC=yCONFIG_DSCC4_PCI_RST=yCONFIG_DLCI=yCONFIG_DLCI_MAX=8CONFIG_SBNI=m
# CONFIG_SBNI_MULTILINE is not setCONFIG_XEN_NETDEV_FRONTEND=y
# CONFIG_VMXNET3 is not set
# CONFIG_ISDN is not set
#
# Input device support
#CONFIG_INPUT=yCONFIG_INPUT_FF_MEMLESS=mCONFIG_INPUT_POLLDEV=yCONFIG_INPUT_SPARSEKMAP=mCONFIG_INPUT_MATRIXKMAP=m
#
# Userland interfaces
#CONFIG_INPUT_MOUSEDEV=y
# CONFIG_INPUT_MOUSEDEV_PSAUX is not setCONFIG_INPUT_MOUSEDEV_SCREEN_X=1024CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
# CONFIG_INPUT_JOYDEV is not set
# CONFIG_INPUT_EVDEV is not set
# CONFIG_INPUT_EVBUG is not set
#
# Input Device Drivers
#CONFIG_INPUT_KEYBOARD=yCONFIG_KEYBOARD_ADP5588=mCONFIG_KEYBOARD_ADP5589=mCONFIG_KEYBOARD_ATKBD=yCONFIG_KEYBOARD_QT1070=m
# CONFIG_KEYBOARD_QT2160 is not setCONFIG_KEYBOARD_LKKBD=yCONFIG_KEYBOARD_GPIO=mCONFIG_KEYBOARD_GPIO_POLLED=yCONFIG_KEYBOARD_TCA6416=mCONFIG_KEYBOARD_TCA8418=m
# CONFIG_KEYBOARD_MATRIX is not set
# CONFIG_KEYBOARD_LM8323 is not setCONFIG_KEYBOARD_LM8333=mCONFIG_KEYBOARD_MAX7359=mCONFIG_KEYBOARD_MCS=m
# CONFIG_KEYBOARD_MPR121 is not setCONFIG_KEYBOARD_NEWTON=yCONFIG_KEYBOARD_OPENCORES=m
# CONFIG_KEYBOARD_SAMSUNG is not set
# CONFIG_KEYBOARD_STOWAWAY is not set
# CONFIG_KEYBOARD_SUNKBD is not setCONFIG_KEYBOARD_STMPE=mCONFIG_KEYBOARD_XTKBD=mCONFIG_INPUT_MOUSE=y
# CONFIG_MOUSE_PS2 is not setCONFIG_MOUSE_SERIAL=mCONFIG_MOUSE_APPLETOUCH=mCONFIG_MOUSE_BCM5974=y
# CONFIG_MOUSE_CYAPA is not setCONFIG_MOUSE_VSXXXAA=mCONFIG_MOUSE_GPIO=yCONFIG_MOUSE_SYNAPTICS_I2C=m
# CONFIG_MOUSE_SYNAPTICS_USB is not setCONFIG_INPUT_JOYSTICK=yCONFIG_JOYSTICK_ANALOG=yCONFIG_JOYSTICK_A3D=m
# CONFIG_JOYSTICK_ADI is not setCONFIG_JOYSTICK_COBRA=yCONFIG_JOYSTICK_GF2K=y
# CONFIG_JOYSTICK_GRIP is not setCONFIG_JOYSTICK_GRIP_MP=y
# CONFIG_JOYSTICK_GUILLEMOT is not set
# CONFIG_JOYSTICK_INTERACT is not set
# CONFIG_JOYSTICK_SIDEWINDER is not setCONFIG_JOYSTICK_TMDC=m
# CONFIG_JOYSTICK_IFORCE is not setCONFIG_JOYSTICK_WARRIOR=mCONFIG_JOYSTICK_MAGELLAN=mCONFIG_JOYSTICK_SPACEORB=mCONFIG_JOYSTICK_SPACEBALL=yCONFIG_JOYSTICK_STINGER=y
# CONFIG_JOYSTICK_TWIDJOY is not setCONFIG_JOYSTICK_ZHENHUA=mCONFIG_JOYSTICK_DB9=y
# CONFIG_JOYSTICK_GAMECON is not setCONFIG_JOYSTICK_TURBOGRAFX=mCONFIG_JOYSTICK_AS5011=m
# CONFIG_JOYSTICK_JOYDUMP is not set
# CONFIG_JOYSTICK_XPAD is not setCONFIG_JOYSTICK_WALKERA0701=yCONFIG_INPUT_TABLET=y
# CONFIG_TABLET_USB_ACECAD is not setCONFIG_TABLET_USB_AIPTEK=mCONFIG_TABLET_USB_GTCO=m
# CONFIG_TABLET_USB_HANWANG is not setCONFIG_TABLET_USB_KBTAB=yCONFIG_TABLET_USB_WACOM=y
# CONFIG_INPUT_TOUCHSCREEN is not setCONFIG_INPUT_MISC=yCONFIG_INPUT_AD714X=y
# CONFIG_INPUT_AD714X_I2C is not setCONFIG_INPUT_AD714X_SPI=mCONFIG_INPUT_ARIZONA_HAPTICS=mCONFIG_INPUT_BMA150=mCONFIG_INPUT_MMA8450=mCONFIG_INPUT_MPU3050=mCONFIG_INPUT_APANEL=mCONFIG_INPUT_GP2A=mCONFIG_INPUT_GPIO_TILT_POLLED=mCONFIG_INPUT_ATLAS_BTNS=m
# CONFIG_INPUT_ATI_REMOTE2 is not setCONFIG_INPUT_KEYSPAN_REMOTE=mCONFIG_INPUT_KXTJ9=mCONFIG_INPUT_KXTJ9_POLLED_MODE=yCONFIG_INPUT_POWERMATE=yCONFIG_INPUT_YEALINK=m
# CONFIG_INPUT_CM109 is not setCONFIG_INPUT_UINPUT=yCONFIG_INPUT_PCF50633_PMU=mCONFIG_INPUT_PCF8574=m
# CONFIG_INPUT_GPIO_ROTARY_ENCODER is not setCONFIG_INPUT_DA9052_ONKEY=yCONFIG_INPUT_ADXL34X=mCONFIG_INPUT_ADXL34X_I2C=mCONFIG_INPUT_ADXL34X_SPI=mCONFIG_INPUT_IMS_PCU=mCONFIG_INPUT_CMA3000=m
# CONFIG_INPUT_CMA3000_I2C is not setCONFIG_INPUT_XEN_KBDDEV_FRONTEND=yCONFIG_INPUT_IDEAPAD_SLIDEBAR=yCONFIG_INPUT_SOC_BUTTON_ARRAY=m
#
# Hardware I/O ports
#CONFIG_SERIO=yCONFIG_ARCH_MIGHT_HAVE_PC_SERIO=yCONFIG_SERIO_I8042=yCONFIG_SERIO_SERPORT=m
# CONFIG_SERIO_CT82C710 is not set
# CONFIG_SERIO_PARKBD is not setCONFIG_SERIO_PCIPS2=yCONFIG_SERIO_LIBPS2=yCONFIG_SERIO_RAW=y
# CONFIG_SERIO_ALTERA_PS2 is not setCONFIG_SERIO_PS2MULT=yCONFIG_SERIO_ARC_PS2=yCONFIG_GAMEPORT=yCONFIG_GAMEPORT_NS558=yCONFIG_GAMEPORT_L4=mCONFIG_GAMEPORT_EMU10K1=y
# CONFIG_GAMEPORT_FM801 is not set
#
# Character devices
#CONFIG_TTY=yCONFIG_VT=y
# CONFIG_CONSOLE_TRANSLATIONS is not setCONFIG_VT_CONSOLE=yCONFIG_VT_CONSOLE_SLEEP=yCONFIG_HW_CONSOLE=yCONFIG_VT_HW_CONSOLE_BINDING=yCONFIG_UNIX98_PTYS=y
# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not setCONFIG_LEGACY_PTYS=yCONFIG_LEGACY_PTY_COUNT=256CONFIG_SERIAL_NONSTANDARD=yCONFIG_ROCKETPORT=mCONFIG_CYCLADES=mCONFIG_CYZ_INTR=y
# CONFIG_MOXA_INTELLIO is not set
# CONFIG_MOXA_SMARTIO is not setCONFIG_SYNCLINK=yCONFIG_SYNCLINKMP=mCONFIG_SYNCLINK_GT=mCONFIG_NOZOMI=yCONFIG_ISI=yCONFIG_N_HDLC=y
# CONFIG_N_GSM is not set
# CONFIG_TRACE_SINK is not set
# CONFIG_DEVKMEM is not set
#
# Serial drivers
#CONFIG_SERIAL_8250=y
# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set # CONFIG_SERIAL_8250_PNP is not set CONFIG_SERIAL_8250_CONSOLE=y CONFIG_FIX_EARLYCON_MEM=y CONFIG_SERIAL_8250_PCI=y
# CONFIG_SERIAL_8250_CS is not set CONFIG_SERIAL_8250_NR_UARTS=4 CONFIG_SERIAL_8250_RUNTIME_UARTS=4
# CONFIG_SERIAL_8250_EXTENDED is not set CONFIG_SERIAL_8250_DW=y
#
# Non-8250 serial port support
#
# CONFIG_SERIAL_KGDB_NMI is not set
# CONFIG_SERIAL_MAX3100 is not set CONFIG_SERIAL_MAX310X=m CONFIG_SERIAL_MRST_MAX3110=y CONFIG_SERIAL_MFD_HSU=m CONFIG_SERIAL_UARTLITE=y CONFIG_SERIAL_UARTLITE_CONSOLE=y CONFIG_SERIAL_CORE=y CONFIG_SERIAL_CORE_CONSOLE=y CONFIG_CONSOLE_POLL=yCONFIG_SERIAL_JSM=yCONFIG_SERIAL_SCCNXP=y
# CONFIG_SERIAL_SCCNXP_CONSOLE is not set CONFIG_SERIAL_ALTERA_JTAGUART=y
# CONFIG_SERIAL_ALTERA_JTAGUART_CONSOLE is not set # CONFIG_SERIAL_ALTERA_UART is not set CONFIG_SERIAL_IFX6X60=m CONFIG_SERIAL_PCH_UART=y
# CONFIG_SERIAL_PCH_UART_CONSOLE is not set # CONFIG_SERIAL_ARC is not set
# CONFIG_SERIAL_RP2 is not set CONFIG_SERIAL_FSL_LPUART=y CONFIG_SERIAL_FSL_LPUART_CONSOLE=y CONFIG_TTY_PRINTK=m
# CONFIG_PRINTER is not setCONFIG_PPDEV=yCONFIG_HVC_DRIVER=y
# CONFIG_HVC_XEN is not set CONFIG_VIRTIO_CONSOLE=y CONFIG_IPMI_HANDLER=m CONFIG_IPMI_PANIC_EVENT=y CONFIG_IPMI_PANIC_STRING=y
# CONFIG_IPMI_DEVICE_INTERFACE is not set CONFIG_IPMI_SI=m CONFIG_IPMI_SI_PROBE_DEFAULTS=y CONFIG_IPMI_WATCHDOG=m
# CONFIG_IPMI_POWEROFF is not set CONFIG_HW_RANDOM=y CONFIG_HW_RANDOM_TIMERIOMEM=y CONFIG_HW_RANDOM_INTEL=y CONFIG_HW_RANDOM_AMD=m CONFIG_HW_RANDOM_ATMEL=y
# CONFIG_HW_RANDOM_VIA is not set
# CONFIG_HW_RANDOM_VIRTIO is not set
# CONFIG_HW_RANDOM_EXYNOS is not set
# CONFIG_HW_RANDOM_TPM is not set CONFIG_NVRAM=mCONFIG_R3964=y
# CONFIG_APPLICOM is not set
#
# PCMCIA character devices
#CONFIG_SYNCLINK_CS=y
# CONFIG_CARDMAN_4000 is not set
# CONFIG_CARDMAN_4040 is not setCONFIG_IPWIRELESS=mCONFIG_MWAVE=y
# CONFIG_RAW_DRIVER is not set
# CONFIG_HPET is not setCONFIG_HANGCHECK_TIMER=yCONFIG_TCG_TPM=yCONFIG_TCG_TIS=yCONFIG_TCG_TIS_I2C_ATMEL=mCONFIG_TCG_TIS_I2C_INFINEON=mCONFIG_TCG_TIS_I2C_NUVOTON=mCONFIG_TCG_NSC=y
# CONFIG_TCG_ATMEL is not setCONFIG_TCG_INFINEON=mCONFIG_TCG_ST33_I2C=mCONFIG_TCG_XEN=y
# CONFIG_TELCLOCK is not setCONFIG_DEVPORT=yCONFIG_I2C=mCONFIG_I2C_BOARDINFO=y
# CONFIG_I2C_COMPAT is not setCONFIG_I2C_CHARDEV=mCONFIG_I2C_MUX=m
#
# Multiplexer I2C Chip support
#
# CONFIG_I2C_MUX_GPIO is not setCONFIG_I2C_MUX_PCA9541=m
CONFIG_I2C_MUX_PCA954x=mCONFIG_I2C_MUX_PINCTRL=mCONFIG_I2C_HELPER_AUTO=yCONFIG_I2C_SMBUS=mCONFIG_I2C_ALGOBIT=mCONFIG_I2C_ALGOPCA=m
#
# I2C Hardware Bus support
#
#
# PC SMBus host controller drivers
#CONFIG_I2C_ALI1535=m
# CONFIG_I2C_ALI1563 is not setCONFIG_I2C_ALI15X3=m
# CONFIG_I2C_AMD756 is not setCONFIG_I2C_AMD8111=mCONFIG_I2C_I801=mCONFIG_I2C_ISCH=mCONFIG_I2C_ISMT=mCONFIG_I2C_PIIX4=m
# CONFIG_I2C_NFORCE2 is not setCONFIG_I2C_SIS5595=mCONFIG_I2C_SIS630=m
# CONFIG_I2C_SIS96X is not setCONFIG_I2C_VIA=m
# CONFIG_I2C_VIAPRO is not set
#
# ACPI drivers
#
# CONFIG_I2C_SCMI is not set
#
# I2C system bus drivers (mostly embedded / system-on-chip) #
# CONFIG_I2C_CBUS_GPIO is not set CONFIG_I2C_DESIGNWARE_CORE=m CONFIG_I2C_DESIGNWARE_PLATFORM=m CONFIG_I2C_DESIGNWARE_PCI=mCONFIG_I2C_EG20T=m
# CONFIG_I2C_GPIO is not setCONFIG_I2C_KEMPLD=m
# CONFIG_I2C_OCORES is not set CONFIG_I2C_PCA_PLATFORM=m
# CONFIG_I2C_PXA_PCI is not set CONFIG_I2C_SIMTEC=mCONFIG_I2C_XILINX=m
#
# External I2C/SMBus adapter drivers
#
# CONFIG_I2C_DIOLAN_U2C is not setCONFIG_I2C_PARPORT=mCONFIG_I2C_PARPORT_LIGHT=mCONFIG_I2C_ROBOTFUZZ_OSIF=m
# CONFIG_I2C_TAOS_EVM is not set
# CONFIG_I2C_TINY_USB is not set
# CONFIG_I2C_VIPERBOARD is not set
#
# Other I2C/SMBus bus drivers
#CONFIG_I2C_STUB=m
# CONFIG_I2C_DEBUG_CORE is not setCONFIG_I2C_DEBUG_ALGO=yCONFIG_I2C_DEBUG_BUS=yCONFIG_SPI=y
# CONFIG_SPI_DEBUG is not setCONFIG_SPI_MASTER=y
#
# SPI Master Controller Drivers
#CONFIG_SPI_ALTERA=mCONFIG_SPI_BITBANG=yCONFIG_SPI_BUTTERFLY=yCONFIG_SPI_GPIO=y
# CONFIG_SPI_LM70_LLP is not setCONFIG_SPI_OC_TINY=y
# CONFIG_SPI_PXA2XX is not set
# CONFIG_SPI_PXA2XX_PCI is not set
# CONFIG_SPI_SC18IS602 is not setCONFIG_SPI_TOPCLIFF_PCH=yCONFIG_SPI_XCOMM=m
# CONFIG_SPI_XILINX is not setCONFIG_SPI_DESIGNWARE=yCONFIG_SPI_DW_PCI=yCONFIG_SPI_DW_MMIO=m
#
# SPI Protocol Masters
#
# CONFIG_SPI_SPIDEV is not set
# CONFIG_SPI_TLE62X0 is not set
# CONFIG_SPMI is not setCONFIG_HSI=mCONFIG_HSI_BOARDINFO=y
#
# HSI clients
#
# CONFIG_HSI_CHAR is not set
#
# PPS support
#CONFIG_PPS=y
# CONFIG_PPS_DEBUG is not setCONFIG_NTP_PPS=y
#
# PPS clients support
#
# CONFIG_PPS_CLIENT_KTIMER is not setCONFIG_PPS_CLIENT_LDISC=m
# CONFIG_PPS_CLIENT_PARPORT is not set
# CONFIG_PPS_CLIENT_GPIO is not set
#
# PPS generators support
#
#
# PTP clock support
#CONFIG_PTP_1588_CLOCK=m
#
# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks. #
# CONFIG_PTP_1588_CLOCK_PCH is not setCONFIG_PINCTRL=y
#
# Pin controllers
#CONFIG_PINMUX=y
# CONFIG_PINCONF is not setCONFIG_DEBUG_PINCTRL=yCONFIG_PINCTRL_BAYTRAIL=yCONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=yCONFIG_GPIOLIB=yCONFIG_GPIO_DEVRES=yCONFIG_GPIO_ACPI=y
# CONFIG_DEBUG_GPIO is not setCONFIG_GPIO_SYSFS=y
# CONFIG_GPIO_DA9052 is not setCONFIG_GPIO_MAX730X=y
#
# Memory mapped GPIO drivers:
#
# CONFIG_GPIO_GENERIC_PLATFORM is not setCONFIG_GPIO_IT8761E=y
# CONFIG_GPIO_F7188X is not set
# CONFIG_GPIO_SCH311X is not setCONFIG_GPIO_SCH=mCONFIG_GPIO_ICH=mCONFIG_GPIO_VX855=y
# CONFIG_GPIO_LYNXPOINT is not set
#
# I2C GPIO expanders:
#CONFIG_GPIO_ARIZONA=yCONFIG_GPIO_LP3943=mCONFIG_GPIO_MAX7300=m
# CONFIG_GPIO_MAX732X is not setCONFIG_GPIO_PCA953X=mCONFIG_GPIO_PCF857X=mCONFIG_GPIO_STMPE=yCONFIG_GPIO_ADP5588=m
#
# PCI GPIO expanders:
#
# CONFIG_GPIO_CS5535 is not setCONFIG_GPIO_BT8XX=m
# CONFIG_GPIO_AMD8111 is not setCONFIG_GPIO_INTEL_MID=yCONFIG_GPIO_PCH=mCONFIG_GPIO_ML_IOH=yCONFIG_GPIO_TIMBERDALE=yCONFIG_GPIO_RDC321X=m
#
# SPI GPIO expanders:
#CONFIG_GPIO_MAX7301=yCONFIG_GPIO_MC33880=m
#
# AC97 GPIO expanders:
#CONFIG_GPIO_UCB1400=m
#
# LPC GPIO expanders:
#
# CONFIG_GPIO_KEMPLD is not set
#
# MODULbus GPIO expanders:
#CONFIG_GPIO_JANZ_TTL=m
#
# USB GPIO expanders:
#CONFIG_GPIO_VIPERBOARD=mCONFIG_W1=y
#
# 1-wire Bus Masters
#CONFIG_W1_MASTER_MATROX=m
# CONFIG_W1_MASTER_DS2490 is not setCONFIG_W1_MASTER_DS2482=mCONFIG_W1_MASTER_DS1WM=yCONFIG_W1_MASTER_GPIO=m
#
# 1-wire Slaves
#
# CONFIG_W1_SLAVE_THERM is not set
# CONFIG_W1_SLAVE_SMEM is not set
# CONFIG_W1_SLAVE_DS2408 is not setCONFIG_W1_SLAVE_DS2413=y
# CONFIG_W1_SLAVE_DS2423 is not setCONFIG_W1_SLAVE_DS2431=yCONFIG_W1_SLAVE_DS2433=mCONFIG_W1_SLAVE_DS2433_CRC=yCONFIG_W1_SLAVE_DS2760=mCONFIG_W1_SLAVE_DS2780=yCONFIG_W1_SLAVE_DS2781=mCONFIG_W1_SLAVE_DS28E04=yCONFIG_W1_SLAVE_BQ27000=yCONFIG_POWER_SUPPLY=y
# CONFIG_POWER_SUPPLY_DEBUG is not setCONFIG_PDA_POWER=y
# CONFIG_GENERIC_ADC_BATTERY is not setCONFIG_TEST_POWER=m
# CONFIG_BATTERY_DS2760 is not setCONFIG_BATTERY_DS2780=yCONFIG_BATTERY_DS2781=mCONFIG_BATTERY_DS2782=mCONFIG_BATTERY_SBS=m
CONFIG_BATTERY_BQ27x00=mCONFIG_BATTERY_BQ27X00_I2C=yCONFIG_BATTERY_BQ27X00_PLATFORM=yCONFIG_BATTERY_DA9052=mCONFIG_BATTERY_MAX17040=m
# CONFIG_BATTERY_MAX17042 is not set
# CONFIG_CHARGER_PCF50633 is not setCONFIG_CHARGER_ISP1704=y
# CONFIG_CHARGER_MAX8903 is not setCONFIG_CHARGER_LP8727=mCONFIG_CHARGER_GPIO=yCONFIG_CHARGER_BQ2415X=m
# CONFIG_CHARGER_BQ24190 is not setCONFIG_CHARGER_BQ24735=mCONFIG_CHARGER_SMB347=m
# CONFIG_POWER_RESET is not set
# CONFIG_POWER_AVS is not setCONFIG_HWMON=mCONFIG_HWMON_VID=m
# CONFIG_HWMON_DEBUG_CHIP is not set
#
# Native drivers
#CONFIG_SENSORS_ABITUGURU=mCONFIG_SENSORS_ABITUGURU3=mCONFIG_SENSORS_AD7314=m
# CONFIG_SENSORS_AD7414 is not set
# CONFIG_SENSORS_AD7418 is not setCONFIG_SENSORS_ADM1021=mCONFIG_SENSORS_ADM1025=mCONFIG_SENSORS_ADM1026=mCONFIG_SENSORS_ADM1029=mCONFIG_SENSORS_ADM1031=m
# CONFIG_SENSORS_ADM9240 is not setCONFIG_SENSORS_ADT7X10=mCONFIG_SENSORS_ADT7310=m
# CONFIG_SENSORS_ADT7410 is not setCONFIG_SENSORS_ADT7411=mCONFIG_SENSORS_ADT7462=mCONFIG_SENSORS_ADT7470=mCONFIG_SENSORS_ADT7475=mCONFIG_SENSORS_ASC7621=mCONFIG_SENSORS_K8TEMP=mCONFIG_SENSORS_K10TEMP=m
# CONFIG_SENSORS_FAM15H_POWER is not setCONFIG_SENSORS_APPLESMC=mCONFIG_SENSORS_ASB100=m
# CONFIG_SENSORS_ATXP1 is not set
# CONFIG_SENSORS_DS620 is not setCONFIG_SENSORS_DS1621=m
# CONFIG_SENSORS_DA9052_ADC is not set
# CONFIG_SENSORS_I5K_AMB is not setCONFIG_SENSORS_F71805F=mCONFIG_SENSORS_F71882FG=mCONFIG_SENSORS_F75375S=mCONFIG_SENSORS_FSCHMD=m
# CONFIG_SENSORS_GL518SM is not setCONFIG_SENSORS_GL520SM=mCONFIG_SENSORS_G760A=mCONFIG_SENSORS_G762=mCONFIG_SENSORS_GPIO_FAN=mCONFIG_SENSORS_HIH6130=mCONFIG_SENSORS_IBMAEM=m
# CONFIG_SENSORS_IBMPEX is not setCONFIG_SENSORS_IIO_HWMON=mCONFIG_SENSORS_CORETEMP=mCONFIG_SENSORS_IT87=mCONFIG_SENSORS_JC42=m
# CONFIG_SENSORS_LINEAGE is not setCONFIG_SENSORS_LTC2945=m
# CONFIG_SENSORS_LTC4151 is not setCONFIG_SENSORS_LTC4215=mCONFIG_SENSORS_LTC4222=mCONFIG_SENSORS_LTC4245=mCONFIG_SENSORS_LTC4260=mCONFIG_SENSORS_LTC4261=mCONFIG_SENSORS_MAX1111=mCONFIG_SENSORS_MAX16065=mCONFIG_SENSORS_MAX1619=m
# CONFIG_SENSORS_MAX1668 is not setCONFIG_SENSORS_MAX197=m
# CONFIG_SENSORS_MAX6639 is not setCONFIG_SENSORS_MAX6642=mCONFIG_SENSORS_MAX6650=mCONFIG_SENSORS_MAX6697=m
# CONFIG_SENSORS_HTU21 is not setCONFIG_SENSORS_MCP3021=mCONFIG_SENSORS_ADCXX=mCONFIG_SENSORS_LM63=mCONFIG_SENSORS_LM70=mCONFIG_SENSORS_LM73=mCONFIG_SENSORS_LM75=m
# CONFIG_SENSORS_LM77 is not setCONFIG_SENSORS_LM78=m
# CONFIG_SENSORS_LM80 is not set
# CONFIG_SENSORS_LM83 is not set
# CONFIG_SENSORS_LM85 is not set
# CONFIG_SENSORS_LM87 is not set
# CONFIG_SENSORS_LM90 is not set
# CONFIG_SENSORS_LM92 is not set
# CONFIG_SENSORS_LM93 is not set
# CONFIG_SENSORS_LM95234 is not setCONFIG_SENSORS_LM95241=mCONFIG_SENSORS_LM95245=mCONFIG_SENSORS_PC87360=mCONFIG_SENSORS_PC87427=m
# CONFIG_SENSORS_NTC_THERMISTOR is not set
# CONFIG_SENSORS_NCT6775 is not set
# CONFIG_SENSORS_PCF8591 is not set
# CONFIG_PMBUS is not setCONFIG_SENSORS_SHT15=mCONFIG_SENSORS_SHT21=mCONFIG_SENSORS_SIS5595=mCONFIG_SENSORS_DME1737=mCONFIG_SENSORS_EMC1403=mCONFIG_SENSORS_EMC2103=m
# CONFIG_SENSORS_EMC6W201 is not setCONFIG_SENSORS_SMSC47M1=mCONFIG_SENSORS_SMSC47M192=m
# CONFIG_SENSORS_SMSC47B397 is not set
# CONFIG_SENSORS_SCH56XX_COMMON is not setCONFIG_SENSORS_SMM665=mCONFIG_SENSORS_ADC128D818=m
# CONFIG_SENSORS_ADS1015 is not setCONFIG_SENSORS_ADS7828=m
# CONFIG_SENSORS_ADS7871 is not set
# CONFIG_SENSORS_AMC6821 is not set
# CONFIG_SENSORS_INA209 is not set
# CONFIG_SENSORS_INA2XX is not setCONFIG_SENSORS_THMC50=mCONFIG_SENSORS_TMP102=m
# CONFIG_SENSORS_TMP401 is not set
# CONFIG_SENSORS_TMP421 is not setCONFIG_SENSORS_VIA_CPUTEMP=m
# CONFIG_SENSORS_VIA686A is not setCONFIG_SENSORS_VT1211=m
# CONFIG_SENSORS_VT8231 is not setCONFIG_SENSORS_W83781D=m
# CONFIG_SENSORS_W83791D is not setCONFIG_SENSORS_W83792D=mCONFIG_SENSORS_W83793=m
# CONFIG_SENSORS_W83795 is not setCONFIG_SENSORS_W83L785TS=mCONFIG_SENSORS_W83L786NG=mCONFIG_SENSORS_W83627HF=m
# CONFIG_SENSORS_W83627EHF is not set
#
# ACPI drivers
#CONFIG_SENSORS_ACPI_POWER=m CONFIG_SENSORS_ATK0110=mCONFIG_THERMAL=y CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y
# CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set # CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set # CONFIG_THERMAL_GOV_FAIR_SHARE is not set CONFIG_THERMAL_GOV_STEP_WISE=y CONFIG_THERMAL_GOV_USER_SPACE=y
# CONFIG_THERMAL_EMULATION is not set CONFIG_X86_PKG_TEMP_THERMAL=y
# CONFIG_ACPI_INT3403_THERMAL is not set
#
# Texas Instruments thermal drivers
#
# CONFIG_WATCHDOG is not setCONFIG_SSB_POSSIBLE=y
#
# Sonics Silicon Backplane
#CONFIG_SSB=yCONFIG_SSB_SPROM=yCONFIG_SSB_PCIHOST_POSSIBLE=yCONFIG_SSB_PCIHOST=y
# CONFIG_SSB_B43_PCI_BRIDGE is not setCONFIG_SSB_PCMCIAHOST_POSSIBLE=y
# CONFIG_SSB_PCMCIAHOST is not setCONFIG_SSB_SILENT=yCONFIG_SSB_DRIVER_PCICORE_POSSIBLE=yCONFIG_SSB_DRIVER_PCICORE=yCONFIG_SSB_DRIVER_GPIO=yCONFIG_BCMA_POSSIBLE=y
#
# Broadcom specific AMBA
#CONFIG_BCMA=yCONFIG_BCMA_HOST_PCI_POSSIBLE=yCONFIG_BCMA_HOST_PCI=y
# CONFIG_BCMA_HOST_SOC is not setCONFIG_BCMA_DRIVER_GMAC_CMN=y
# CONFIG_BCMA_DRIVER_GPIO is not set
# CONFIG_BCMA_DEBUG is not set
#
# Multifunction device drivers
#CONFIG_MFD_CORE=yCONFIG_MFD_CS5535=mCONFIG_MFD_BCM590XX=m
# CONFIG_MFD_CROS_EC is not setCONFIG_PMIC_DA9052=yCONFIG_MFD_DA9052_SPI=y
# CONFIG_MFD_MC13XXX_SPI is not set
# CONFIG_MFD_MC13XXX_I2C is not setCONFIG_HTC_PASIC3=mCONFIG_LPC_ICH=yCONFIG_LPC_SCH=yCONFIG_MFD_JANZ_CMODIO=yCONFIG_MFD_KEMPLD=y
# CONFIG_EZX_PCAP is not setCONFIG_MFD_VIPERBOARD=m
# CONFIG_MFD_RETU is not setCONFIG_MFD_PCF50633=mCONFIG_PCF50633_ADC=m
# CONFIG_PCF50633_GPIO is not setCONFIG_UCB1400_CORE=mCONFIG_MFD_RDC321X=yCONFIG_MFD_RTSX_PCI=yCONFIG_MFD_RTSX_USB=mCONFIG_MFD_SI476X_CORE=mCONFIG_MFD_SM501=yCONFIG_MFD_SM501_GPIO=yCONFIG_ABX500_CORE=yCONFIG_MFD_STMPE=y
#
# STMicroelectronics STMPE Interface Drivers
#CONFIG_STMPE_SPI=yCONFIG_MFD_SYSCON=yCONFIG_MFD_TI_AM335X_TSCADC=mCONFIG_MFD_LP3943=mCONFIG_TPS6105X=m
# CONFIG_TPS65010 is not setCONFIG_TPS6507X=mCONFIG_MFD_TPS65217=mCONFIG_MFD_TPS65218=m
# CONFIG_MFD_TPS65912 is not set
# CONFIG_MFD_TPS65912_SPI is not setCONFIG_MFD_WL1273_CORE=m
# CONFIG_MFD_LM3533 is not setCONFIG_MFD_TIMBERDALE=y
# CONFIG_MFD_TMIO is not setCONFIG_MFD_VX855=yCONFIG_MFD_ARIZONA=y
# CONFIG_MFD_ARIZONA_I2C is not setCONFIG_MFD_ARIZONA_SPI=yCONFIG_MFD_WM5102=y
# CONFIG_MFD_WM5110 is not set
# CONFIG_MFD_WM8997 is not set
# CONFIG_MFD_WM831X_SPI is not setCONFIG_REGULATOR=yCONFIG_REGULATOR_DEBUG=yCONFIG_REGULATOR_FIXED_VOLTAGE=mCONFIG_REGULATOR_VIRTUAL_CONSUMER=yCONFIG_REGULATOR_USERSPACE_CONSUMER=y
# CONFIG_REGULATOR_ACT8865 is not setCONFIG_REGULATOR_AD5398=mCONFIG_REGULATOR_ANATOP=m
# CONFIG_REGULATOR_ARIZONA is not setCONFIG_REGULATOR_BCM590XX=mCONFIG_REGULATOR_DA9052=m
# CONFIG_REGULATOR_DA9210 is not set
# CONFIG_REGULATOR_FAN53555 is not set
# CONFIG_REGULATOR_GPIO is not set
# CONFIG_REGULATOR_ISL6271A is not setCONFIG_REGULATOR_LP3971=mCONFIG_REGULATOR_LP3972=mCONFIG_REGULATOR_LP872X=mCONFIG_REGULATOR_LP8755=m
# CONFIG_REGULATOR_MAX1586 is not setCONFIG_REGULATOR_MAX8649=m
# CONFIG_REGULATOR_MAX8660 is not setCONFIG_REGULATOR_MAX8952=m
# CONFIG_REGULATOR_MAX8973 is not set
# CONFIG_REGULATOR_PCF50633 is not setCONFIG_REGULATOR_PFUZE100=mCONFIG_REGULATOR_TPS51632=mCONFIG_REGULATOR_TPS6105X=mCONFIG_REGULATOR_TPS62360=mCONFIG_REGULATOR_TPS65023=m
# CONFIG_REGULATOR_TPS6507X is not setCONFIG_REGULATOR_TPS65217=mCONFIG_REGULATOR_TPS6524X=y
# CONFIG_MEDIA_SUPPORT is not set
#
# Graphics support
#
# CONFIG_AGP is not setCONFIG_VGA_ARB=yCONFIG_VGA_ARB_MAX_GPUS=16CONFIG_VGA_SWITCHEROO=y
#
# Direct Rendering Manager
#
# CONFIG_DRM is not set
#
# Frame buffer Devices
#CONFIG_FB=y
# CONFIG_FIRMWARE_EDID is not setCONFIG_FB_DDC=m
# CONFIG_FB_BOOT_VESA_SUPPORT is not setCONFIG_FB_CFB_FILLRECT=yCONFIG_FB_CFB_COPYAREA=yCONFIG_FB_CFB_IMAGEBLIT=y
# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not setCONFIG_FB_SYS_FILLRECT=yCONFIG_FB_SYS_COPYAREA=yCONFIG_FB_SYS_IMAGEBLIT=y
# CONFIG_FB_FOREIGN_ENDIAN is not setCONFIG_FB_SYS_FOPS=yCONFIG_FB_DEFERRED_IO=yCONFIG_FB_SVGALIB=y
# CONFIG_FB_MACMODES is not setCONFIG_FB_BACKLIGHT=yCONFIG_FB_MODE_HELPERS=yCONFIG_FB_TILEBLITTING=y
#
# Frame buffer hardware drivers
#
# CONFIG_FB_CIRRUS is not setCONFIG_FB_PM2=mCONFIG_FB_PM2_FIFO_DISCONNECT=y
# CONFIG_FB_CYBER2000 is not setCONFIG_FB_ARC=m
# CONFIG_FB_ASILIANT is not setCONFIG_FB_IMSTT=y
# CONFIG_FB_VGA16 is not set
# CONFIG_FB_VESA is not setCONFIG_FB_EFI=y
# CONFIG_FB_N411 is not setCONFIG_FB_HGA=m
# CONFIG_FB_OPENCORES is not setCONFIG_FB_S1D13XXX=mCONFIG_FB_NVIDIA=m
# CONFIG_FB_NVIDIA_I2C is not set
# CONFIG_FB_NVIDIA_DEBUG is not set
# CONFIG_FB_NVIDIA_BACKLIGHT is not setCONFIG_FB_RIVA=m
# CONFIG_FB_RIVA_I2C is not set
# CONFIG_FB_RIVA_DEBUG is not setCONFIG_FB_RIVA_BACKLIGHT=y
# CONFIG_FB_I740 is not setCONFIG_FB_LE80578=mCONFIG_FB_CARILLO_RANCH=mCONFIG_FB_MATROX=mCONFIG_FB_MATROX_MILLENIUM=y
# CONFIG_FB_MATROX_MYSTIQUE is not set
# CONFIG_FB_MATROX_G is not setCONFIG_FB_MATROX_I2C=m
# CONFIG_FB_RADEON is not set
# CONFIG_FB_ATY128 is not set
# CONFIG_FB_ATY is not setCONFIG_FB_S3=y
# CONFIG_FB_S3_DDC is not setCONFIG_FB_SAVAGE=y
# CONFIG_FB_SAVAGE_I2C is not set
# CONFIG_FB_SAVAGE_ACCEL is not setCONFIG_FB_SIS=mCONFIG_FB_SIS_300=y
# CONFIG_FB_SIS_315 is not setCONFIG_FB_VIA=m
# CONFIG_FB_VIA_DIRECT_PROCFS is not setCONFIG_FB_VIA_X_COMPATIBILITY=y
# CONFIG_FB_NEOMAGIC is not setCONFIG_FB_KYRO=mCONFIG_FB_3DFX=yCONFIG_FB_3DFX_ACCEL=y
# CONFIG_FB_3DFX_I2C is not setCONFIG_FB_VOODOO1=mCONFIG_FB_VT8623=yCONFIG_FB_TRIDENT=y
# CONFIG_FB_ARK is not setCONFIG_FB_PM3=mCONFIG_FB_CARMINE=yCONFIG_FB_CARMINE_DRAM_EVAL=y
# CONFIG_CARMINE_DRAM_CUSTOM is not set
# CONFIG_FB_TMIO is not setCONFIG_FB_SM501=yCONFIG_FB_SMSCUFX=mCONFIG_FB_UDL=yCONFIG_FB_GOLDFISH=m
# CONFIG_FB_VIRTUAL is not set
# CONFIG_XEN_FBDEV_FRONTEND is not set
# CONFIG_FB_METRONOME is not setCONFIG_FB_MB862XX=mCONFIG_FB_MB862XX_PCI_GDC=y
# CONFIG_FB_MB862XX_I2C is not setCONFIG_FB_BROADSHEET=yCONFIG_FB_AUO_K190X=yCONFIG_FB_AUO_K1900=mCONFIG_FB_AUO_K1901=mCONFIG_FB_SIMPLE=y
# CONFIG_EXYNOS_VIDEO is not setCONFIG_BACKLIGHT_LCD_SUPPORT=yCONFIG_LCD_CLASS_DEVICE=yCONFIG_LCD_L4F00242T03=m
# CONFIG_LCD_LMS283GF05 is not setCONFIG_LCD_LTV350QV=mCONFIG_LCD_ILI922X=y
# CONFIG_LCD_ILI9320 is not set
# CONFIG_LCD_TDO24M is not set
# CONFIG_LCD_VGG2432A4 is not setCONFIG_LCD_PLATFORM=y
# CONFIG_LCD_S6E63M0 is not setCONFIG_LCD_LD9040=yCONFIG_LCD_AMS369FG06=yCONFIG_LCD_LMS501KF03=mCONFIG_LCD_HX8357=mCONFIG_BACKLIGHT_CLASS_DEVICE=y
# CONFIG_BACKLIGHT_ATMEL_PWM is not set
# CONFIG_BACKLIGHT_GENERIC is not setCONFIG_BACKLIGHT_CARILLO_RANCH=mCONFIG_BACKLIGHT_DA9052=yCONFIG_BACKLIGHT_APPLE=m
# CONFIG_BACKLIGHT_SAHARA is not set
# CONFIG_BACKLIGHT_ADP8860 is not setCONFIG_BACKLIGHT_ADP8870=mCONFIG_BACKLIGHT_PCF50633=mCONFIG_BACKLIGHT_LM3630A=mCONFIG_BACKLIGHT_LM3639=m
# CONFIG_BACKLIGHT_LP855X is not set
# CONFIG_BACKLIGHT_TPS65217 is not setCONFIG_BACKLIGHT_GPIO=yCONFIG_BACKLIGHT_LV5207LP=mCONFIG_BACKLIGHT_BD6107=mCONFIG_VGASTATE=y
#
# Console display driver support
#CONFIG_VGA_CONSOLE=yCONFIG_VGACON_SOFT_SCROLLBACK=yCONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64CONFIG_DUMMY_CONSOLE=y
# CONFIG_FRAMEBUFFER_CONSOLE is not set
# CONFIG_LOGO is not setCONFIG_SOUND=yCONFIG_SOUND_OSS_CORE=y
# CONFIG_SOUND_OSS_CORE_PRECLAIM is not setCONFIG_SND=mCONFIG_SND_TIMER=mCONFIG_SND_PCM=mCONFIG_SND_HWDEP=mCONFIG_SND_RAWMIDI=mCONFIG_SND_COMPRESS_OFFLOAD=mCONFIG_SND_JACK=yCONFIG_SND_SEQUENCER=mCONFIG_SND_SEQ_DUMMY=mCONFIG_SND_OSSEMUL=yCONFIG_SND_MIXER_OSS=mCONFIG_SND_PCM_OSS=mCONFIG_SND_PCM_OSS_PLUGINS=y
# CONFIG_SND_SEQUENCER_OSS is not setCONFIG_SND_HRTIMER=m
# CONFIG_SND_SEQ_HRTIMER_DEFAULT is not setCONFIG_SND_DYNAMIC_MINORS=yCONFIG_SND_MAX_CARDS=32CONFIG_SND_SUPPORT_OLD_API=y
# CONFIG_SND_VERBOSE_PROCFS is not set
# CONFIG_SND_VERBOSE_PRINTK is not set
# CONFIG_SND_DEBUG is not setCONFIG_SND_VMASTER=yCONFIG_SND_KCTL_JACK=yCONFIG_SND_DMA_SGBUF=yCONFIG_SND_RAWMIDI_SEQ=mCONFIG_SND_OPL3_LIB_SEQ=m
# CONFIG_SND_OPL4_LIB_SEQ is not set
# CONFIG_SND_SBAWE_SEQ is not setCONFIG_SND_EMU10K1_SEQ=mCONFIG_SND_MPU401_UART=mCONFIG_SND_OPL3_LIB=mCONFIG_SND_VX_LIB=mCONFIG_SND_AC97_CODEC=mCONFIG_SND_DRIVERS=yCONFIG_SND_DUMMY=m
# CONFIG_SND_ALOOP is not setCONFIG_SND_VIRMIDI=m
# CONFIG_SND_MTPAV is not setCONFIG_SND_MTS64=m
# CONFIG_SND_SERIAL_U16550 is not setCONFIG_SND_MPU401=mCONFIG_SND_PORTMAN2X4=m
# CONFIG_SND_AC97_POWER_SAVE is not setCONFIG_SND_SB_COMMON=mCONFIG_SND_PCI=yCONFIG_SND_AD1889=mCONFIG_SND_ALS300=mCONFIG_SND_ALS4000=mCONFIG_SND_ALI5451=m
# CONFIG_SND_ASIHPI is not setCONFIG_SND_ATIIXP=m
# CONFIG_SND_ATIIXP_MODEM is not setCONFIG_SND_AU8810=mCONFIG_SND_AU8820=mCONFIG_SND_AU8830=mCONFIG_SND_AW2=m
# CONFIG_SND_AZT3328 is not setCONFIG_SND_BT87X=mCONFIG_SND_BT87X_OVERCLOCK=yCONFIG_SND_CA0106=mCONFIG_SND_CMIPCI=mCONFIG_SND_OXYGEN_LIB=mCONFIG_SND_OXYGEN=mCONFIG_SND_CS4281=mCONFIG_SND_CS46XX=m
# CONFIG_SND_CS46XX_NEW_DSP is not setCONFIG_SND_CTXFI=mCONFIG_SND_DARLA20=m
# CONFIG_SND_GINA20 is not setCONFIG_SND_LAYLA20=mCONFIG_SND_DARLA24=mCONFIG_SND_GINA24=mCONFIG_SND_LAYLA24=mCONFIG_SND_MONA=mCONFIG_SND_MIA=mCONFIG_SND_ECHO3G=mCONFIG_SND_INDIGO=mCONFIG_SND_INDIGOIO=m
# CONFIG_SND_INDIGODJ is not set
# CONFIG_SND_INDIGOIOX is not setCONFIG_SND_INDIGODJX=mCONFIG_SND_EMU10K1=mCONFIG_SND_EMU10K1X=mCONFIG_SND_ENS1370=mCONFIG_SND_ENS1371=mCONFIG_SND_ES1938=mCONFIG_SND_ES1968=mCONFIG_SND_ES1968_INPUT=yCONFIG_SND_FM801=m
# CONFIG_SND_HDSP is not setCONFIG_SND_HDSPM=m
# CONFIG_SND_ICE1712 is not set
# CONFIG_SND_ICE1724 is not set
# CONFIG_SND_INTEL8X0 is not setCONFIG_SND_INTEL8X0M=mCONFIG_SND_KORG1212=mCONFIG_SND_LOLA=mCONFIG_SND_LX6464ES=mCONFIG_SND_MAESTRO3=m
# CONFIG_SND_MAESTRO3_INPUT is not set
# CONFIG_SND_MIXART is not set
# CONFIG_SND_NM256 is not setCONFIG_SND_PCXHR=mCONFIG_SND_RIPTIDE=m
# CONFIG_SND_RME32 is not setCONFIG_SND_RME96=m
# CONFIG_SND_RME9652 is not setCONFIG_SND_SONICVIBES=mCONFIG_SND_TRIDENT=mCONFIG_SND_VIA82XX=mCONFIG_SND_VIA82XX_MODEM=mCONFIG_SND_VIRTUOSO=mCONFIG_SND_VX222=mCONFIG_SND_YMFPCI=m
#
# HD-Audio
#CONFIG_SND_HDA=mCONFIG_SND_HDA_INTEL=mCONFIG_SND_HDA_PREALLOC_SIZE=64CONFIG_SND_HDA_HWDEP=y
# CONFIG_SND_HDA_RECONFIG is not setCONFIG_SND_HDA_INPUT_BEEP=yCONFIG_SND_HDA_INPUT_BEEP_MODE=1CONFIG_SND_HDA_INPUT_JACK=y
# CONFIG_SND_HDA_PATCH_LOADER is not setCONFIG_SND_HDA_CODEC_REALTEK=m
# CONFIG_SND_HDA_CODEC_ANALOG is not setCONFIG_SND_HDA_CODEC_SIGMATEL=m
# CONFIG_SND_HDA_CODEC_VIA is not setCONFIG_SND_HDA_CODEC_HDMI=m
# CONFIG_SND_HDA_CODEC_CIRRUS is not set
# CONFIG_SND_HDA_CODEC_CONEXANT is not set
# CONFIG_SND_HDA_CODEC_CA0110 is not set
# CONFIG_SND_HDA_CODEC_CA0132 is not setCONFIG_SND_HDA_CODEC_CMEDIA=mCONFIG_SND_HDA_CODEC_SI3054=mCONFIG_SND_HDA_GENERIC=mCONFIG_SND_HDA_POWER_SAVE_DEFAULT=0
# CONFIG_SND_SPI is not set
# CONFIG_SND_USB is not setCONFIG_SND_FIREWIRE=yCONFIG_SND_FIREWIRE_LIB=m
# CONFIG_SND_DICE is not setCONFIG_SND_FIREWIRE_SPEAKERS=mCONFIG_SND_ISIGHT=mCONFIG_SND_SCS1X=m
# CONFIG_SND_PCMCIA is not setCONFIG_SND_SOC=mCONFIG_SND_ATMEL_SOC=mCONFIG_SND_DESIGNWARE_I2S=m
# CONFIG_SND_SOC_INTEL_SST is not setCONFIG_SND_SOC_I2C_AND_SPI=m
#
# CODEC drivers
#CONFIG_SND_SOC_ADAU1701=mCONFIG_SND_SOC_AK4104=m
# CONFIG_SND_SOC_AK4554 is not setCONFIG_SND_SOC_AK4642=mCONFIG_SND_SOC_AK5386=m
# CONFIG_SND_SOC_CS42L52 is not setCONFIG_SND_SOC_CS42L73=mCONFIG_SND_SOC_CS4270=mCONFIG_SND_SOC_CS4271=mCONFIG_SND_SOC_CS42XX8=mCONFIG_SND_SOC_CS42XX8_I2C=mCONFIG_SND_SOC_HDMI_CODEC=mCONFIG_SND_SOC_PCM1681=mCONFIG_SND_SOC_PCM1792A=m
CONFIG_SND_SOC_PCM512x=m
CONFIG_SND_SOC_PCM512x_I2C=m
# CONFIG_SND_SOC_PCM512x_SPI is not set
# CONFIG_SND_SOC_SGTL5000 is not setCONFIG_SND_SOC_SIGMADSP=mCONFIG_SND_SOC_SIRF_AUDIO_CODEC=mCONFIG_SND_SOC_SPDIF=mCONFIG_SND_SOC_TAS5086=mCONFIG_SND_SOC_TLV320AIC3X=m
# CONFIG_SND_SOC_WM8510 is not setCONFIG_SND_SOC_WM8523=m
# CONFIG_SND_SOC_WM8580 is not setCONFIG_SND_SOC_WM8711=m
# CONFIG_SND_SOC_WM8728 is not setCONFIG_SND_SOC_WM8731=mCONFIG_SND_SOC_WM8737=mCONFIG_SND_SOC_WM8741=mCONFIG_SND_SOC_WM8750=mCONFIG_SND_SOC_WM8753=mCONFIG_SND_SOC_WM8770=mCONFIG_SND_SOC_WM8776=mCONFIG_SND_SOC_WM8804=mCONFIG_SND_SOC_WM8903=mCONFIG_SND_SOC_WM8962=mCONFIG_SND_SOC_TPA6130A2=mCONFIG_SND_SIMPLE_CARD=mCONFIG_SOUND_PRIME=yCONFIG_SOUND_OSS=mCONFIG_SOUND_TRACEINIT=y
# CONFIG_SOUND_DMAP is not setCONFIG_SOUND_VMIDI=m
# CONFIG_SOUND_TRIX is not setCONFIG_SOUND_MSS=m
# CONFIG_SOUND_MPU401 is not setCONFIG_SOUND_PAS=mCONFIG_SOUND_PSS=mCONFIG_PSS_MIXER=y
# CONFIG_SOUND_SB is not set
# CONFIG_SOUND_YM3812 is not set
# CONFIG_SOUND_UART6850 is not set
# CONFIG_SOUND_AEDSP16 is not setCONFIG_AC97_BUS=m
#
# HID support
#CONFIG_HID=m
# CONFIG_HIDRAW is not setCONFIG_UHID=mCONFIG_HID_GENERIC=m
#
# Special HID drivers
#CONFIG_HID_A4TECH=m
# CONFIG_HID_ACRUX is not setCONFIG_HID_APPLE=mCONFIG_HID_AUREAL=mCONFIG_HID_BELKIN=mCONFIG_HID_CHERRY=mCONFIG_HID_CHICONY=mCONFIG_HID_PRODIKEYS=m
# CONFIG_HID_CYPRESS is not setCONFIG_HID_DRAGONRISE=m
# CONFIG_DRAGONRISE_FF is not setCONFIG_HID_EMS_FF=m
# CONFIG_HID_ELECOM is not setCONFIG_HID_EZKEY=mCONFIG_HID_KEYTOUCH=m
# CONFIG_HID_KYE is not setCONFIG_HID_UCLOGIC=m
# CONFIG_HID_WALTOP is not setCONFIG_HID_GYRATION=mCONFIG_HID_ICADE=m
# CONFIG_HID_TWINHAN is not setCONFIG_HID_KENSINGTON=mCONFIG_HID_LCPOWER=mCONFIG_HID_LENOVO_TPKBD=m
# CONFIG_HID_LOGITECH is not setCONFIG_HID_MAGICMOUSE=mCONFIG_HID_MICROSOFT=m
# CONFIG_HID_MONTEREY is not setCONFIG_HID_MULTITOUCH=mCONFIG_HID_ORTEK=mCONFIG_HID_PANTHERLORD=m
# CONFIG_PANTHERLORD_FF is not setCONFIG_HID_PETALYNX=mCONFIG_HID_PICOLCD=mCONFIG_HID_PICOLCD_FB=yCONFIG_HID_PICOLCD_BACKLIGHT=yCONFIG_HID_PICOLCD_LCD=y
# CONFIG_HID_PICOLCD_LEDS is not set
# CONFIG_HID_PRIMAX is not setCONFIG_HID_SAITEK=m
# CONFIG_HID_SAMSUNG is not setCONFIG_HID_SPEEDLINK=m
# CONFIG_HID_STEELSERIES is not setCONFIG_HID_SUNPLUS=m
# CONFIG_HID_GREENASIA is not set
# CONFIG_HID_SMARTJOYPLUS is not setCONFIG_HID_TIVO=mCONFIG_HID_TOPSEED=mCONFIG_HID_THINGM=m
# CONFIG_HID_THRUSTMASTER is not setCONFIG_HID_WACOM=mCONFIG_HID_WIIMOTE=m
# CONFIG_HID_XINMO is not set
# CONFIG_HID_ZEROPLUS is not setCONFIG_HID_ZYDACRON=mCONFIG_HID_SENSOR_HUB=m
#
# USB HID support
#
# CONFIG_USB_HID is not set
# CONFIG_HID_PID is not set
#
# USB HID Boot Protocol drivers
#
# CONFIG_USB_KBD is not set
# CONFIG_USB_MOUSE is not set
#
# I2C HID support
#CONFIG_I2C_HID=mCONFIG_USB_OHCI_LITTLE_ENDIAN=yCONFIG_USB_SUPPORT=yCONFIG_USB_COMMON=yCONFIG_USB_ARCH_HAS_HCD=yCONFIG_USB=y
# CONFIG_USB_DEBUG is not set
# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
#
# Miscellaneous USB options
#
# CONFIG_USB_DEFAULT_PERSIST is not set
# CONFIG_USB_DYNAMIC_MINORS is not setCONFIG_USB_OTG=y
# CONFIG_USB_OTG_WHITELIST is not set
# CONFIG_USB_OTG_BLACKLIST_HUB is not setCONFIG_USB_MON=yCONFIG_USB_WUSB=yCONFIG_USB_WUSB_CBAF=m
# CONFIG_USB_WUSB_CBAF_DEBUG is not set
#
# USB Host Controller Drivers
#CONFIG_USB_C67X00_HCD=m
# CONFIG_USB_XHCI_HCD is not setCONFIG_USB_EHCI_HCD=yCONFIG_USB_EHCI_ROOT_HUB_TT=y
# CONFIG_USB_EHCI_TT_NEWSCHED is not setCONFIG_USB_EHCI_PCI=yCONFIG_USB_EHCI_HCD_PLATFORM=mCONFIG_USB_OXU210HP_HCD=mCONFIG_USB_ISP116X_HCD=yCONFIG_USB_ISP1760_HCD=mCONFIG_USB_ISP1362_HCD=mCONFIG_USB_FUSBH200_HCD=yCONFIG_USB_FOTG210_HCD=yCONFIG_USB_OHCI_HCD=yCONFIG_USB_OHCI_HCD_PCI=y
# CONFIG_USB_OHCI_HCD_SSB is not setCONFIG_USB_OHCI_HCD_PLATFORM=mCONFIG_USB_UHCI_HCD=yCONFIG_USB_SL811_HCD=m
# CONFIG_USB_SL811_HCD_ISO is not setCONFIG_USB_SL811_CS=m
# CONFIG_USB_R8A66597_HCD is not setCONFIG_USB_WHCI_HCD=yCONFIG_USB_HWA_HCD=y
# CONFIG_USB_HCD_BCMA is not setCONFIG_USB_HCD_SSB=mCONFIG_USB_HCD_TEST_MODE=y
#
# USB Device Class drivers
#CONFIG_USB_ACM=y
# CONFIG_USB_PRINTER is not setCONFIG_USB_WDM=yCONFIG_USB_TMC=y
#
# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may #
#
# also be needed; see USB_STORAGE Help for more info # # CONFIG_USB_STORAGE is not set
#
# USB Imaging devices
#CONFIG_USB_MDC800=m
# CONFIG_USB_MICROTEK is not set
# CONFIG_USB_MUSB_HDRC is not setCONFIG_USB_DWC3=yCONFIG_USB_DWC3_HOST=y
#
# Platform Glue Driver Support
#CONFIG_USB_DWC3_OMAP=mCONFIG_USB_DWC3_EXYNOS=y
# CONFIG_USB_DWC3_PCI is not setCONFIG_USB_DWC3_KEYSTONE=y
#
# Debugging features
#
# CONFIG_USB_DWC3_DEBUG is not setCONFIG_USB_DWC2=yCONFIG_USB_DWC2_DEBUG=y
# CONFIG_USB_DWC2_VERBOSE is not set
# CONFIG_USB_DWC2_TRACK_MISSED_SOFS is not set
# CONFIG_USB_DWC2_DEBUG_PERIODIC is not setCONFIG_USB_CHIPIDEA=m
# CONFIG_USB_CHIPIDEA_HOST is not setCONFIG_USB_CHIPIDEA_DEBUG=y
#
# USB port drivers
#CONFIG_USB_USS720=m
# CONFIG_USB_SERIAL is not set
#
# USB Miscellaneous drivers
#CONFIG_USB_EMI62=y
# CONFIG_USB_EMI26 is not setCONFIG_USB_ADUTUX=mCONFIG_USB_SEVSEG=yCONFIG_USB_RIO500=mCONFIG_USB_LEGOTOWER=yCONFIG_USB_LCD=m
# CONFIG_USB_LED is not setCONFIG_USB_CYPRESS_CY7C63=y
# CONFIG_USB_CYTHERM is not setCONFIG_USB_IDMOUSE=m
# CONFIG_USB_FTDI_ELAN is not setCONFIG_USB_APPLEDISPLAY=m
# CONFIG_USB_SISUSBVGA is not set
# CONFIG_USB_LD is not set
# CONFIG_USB_TRANCEVIBRATOR is not set
# CONFIG_USB_IOWARRIOR is not set
# CONFIG_USB_TEST is not setCONFIG_USB_EHSET_TEST_FIXTURE=m
# CONFIG_USB_ISIGHTFW is not set
# CONFIG_USB_YUREX is not setCONFIG_USB_EZUSB_FX2=yCONFIG_USB_HSIC_USB3503=m
#
# USB Physical Layer drivers
#CONFIG_USB_PHY=yCONFIG_USB_OTG_FSM=yCONFIG_NOP_USB_XCEIV=yCONFIG_SAMSUNG_USBPHY=mCONFIG_SAMSUNG_USB2PHY=mCONFIG_SAMSUNG_USB3PHY=m
# CONFIG_USB_GPIO_VBUS is not setCONFIG_USB_ISP1301=m
# CONFIG_USB_RCAR_PHY is not set
# CONFIG_USB_GADGET is not setCONFIG_UWB=yCONFIG_UWB_HWA=yCONFIG_UWB_WHCI=yCONFIG_UWB_I1480U=yCONFIG_MMC=m
# CONFIG_MMC_DEBUG is not set
# CONFIG_MMC_CLKGATE is not set
#
# MMC/SD/SDIO Card Drivers
#
# CONFIG_MMC_BLOCK is not set
# CONFIG_SDIO_UART is not set
# CONFIG_MMC_TEST is not set
#
# MMC/SD/SDIO Host Controller Drivers
#CONFIG_MMC_SDHCI=mCONFIG_MMC_SDHCI_PCI=mCONFIG_MMC_RICOH_MMC=y
# CONFIG_MMC_SDHCI_ACPI is not setCONFIG_MMC_SDHCI_PLTFM=mCONFIG_MMC_SDHCI_PXAV3=mCONFIG_MMC_SDHCI_PXAV2=mCONFIG_MMC_WBSD=mCONFIG_MMC_TIFM_SD=m
# CONFIG_MMC_SPI is not setCONFIG_MMC_SDRICOH_CS=mCONFIG_MMC_CB710=mCONFIG_MMC_VIA_SDMMC=m
# CONFIG_MMC_VUB300 is not set
# CONFIG_MMC_USHC is not set
# CONFIG_MMC_REALTEK_PCI is not setCONFIG_MEMSTICK=m
# CONFIG_MEMSTICK_DEBUG is not set
#
# MemoryStick drivers
#CONFIG_MEMSTICK_UNSAFE_RESUME=y
# CONFIG_MSPRO_BLOCK is not setCONFIG_MS_BLOCK=m
#
# MemoryStick Host Controller Drivers
#CONFIG_MEMSTICK_TIFM_MS=mCONFIG_MEMSTICK_JMICRON_38X=mCONFIG_MEMSTICK_R592=m
# CONFIG_MEMSTICK_REALTEK_PCI is not setCONFIG_NEW_LEDS=yCONFIG_LEDS_CLASS=y
#
# LED drivers
#CONFIG_LEDS_ATMEL_PWM=mCONFIG_LEDS_LM3530=mCONFIG_LEDS_LM3642=m
# CONFIG_LEDS_PCA9532 is not set
# CONFIG_LEDS_GPIO is not setCONFIG_LEDS_LP3944=mCONFIG_LEDS_LP55XX_COMMON=mCONFIG_LEDS_LP5521=mCONFIG_LEDS_LP5523=mCONFIG_LEDS_LP5562=m
# CONFIG_LEDS_LP8501 is not set
# CONFIG_LEDS_CLEVO_MAIL is not set
# CONFIG_LEDS_PCA955X is not setCONFIG_LEDS_PCA963X=mCONFIG_LEDS_PCA9685=mCONFIG_LEDS_DA9052=yCONFIG_LEDS_DAC124S085=y
# CONFIG_LEDS_REGULATOR is not set
# CONFIG_LEDS_BD2802 is not setCONFIG_LEDS_INTEL_SS4200=mCONFIG_LEDS_LT3593=yCONFIG_LEDS_TCA6507=m
CONFIG_LEDS_LM355x=mCONFIG_LEDS_BLINKM=m
#
# LED Triggers
#CONFIG_LEDS_TRIGGERS=yCONFIG_LEDS_TRIGGER_TIMER=y
# CONFIG_LEDS_TRIGGER_ONESHOT is not set
# CONFIG_LEDS_TRIGGER_HEARTBEAT is not setCONFIG_LEDS_TRIGGER_BACKLIGHT=yCONFIG_LEDS_TRIGGER_CPU=yCONFIG_LEDS_TRIGGER_GPIO=mCONFIG_LEDS_TRIGGER_DEFAULT_ON=y
#
# iptables trigger is under Netfilter config (LED target) # CONFIG_LEDS_TRIGGER_TRANSIENT=m CONFIG_LEDS_TRIGGER_CAMERA=m # CONFIG_ACCESSIBILITY is not set # CONFIG_INFINIBAND is not set # CONFIG_EDAC is not set CONFIG_RTC_LIB=y # CONFIG_RTC_CLASS is not set # CONFIG_DMADEVICES is not set CONFIG_AUXDISPLAY=y CONFIG_UIO=m # CONFIG_UIO_CIF is not set # CONFIG_UIO_PDRV_GENIRQ is not set CONFIG_UIO_DMEM_GENIRQ=m CONFIG_UIO_AEC=m CONFIG_UIO_SERCOS3=m # CONFIG_UIO_PCI_GENERIC is not set CONFIG_UIO_NETX=m CONFIG_UIO_MF624=m CONFIG_VFIO_IOMMU_TYPE1=m CONFIG_VFIO=m CONFIG_VFIO_PCI=m # CONFIG_VFIO_PCI_VGA is not set # CONFIG_VIRT_DRIVERS is not set CONFIG_VIRTIO=y
#
# Virtio drivers
#CONFIG_VIRTIO_PCI=y
# CONFIG_VIRTIO_BALLOON is not setCONFIG_VIRTIO_MMIO=m
# CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set
#
# Microsoft Hyper-V guest support
#
# CONFIG_HYPERV is not set
#
# Xen driver support
#CONFIG_XEN_BALLOON=y
# CONFIG_XEN_SCRUB_PAGES is not set
# CONFIG_XEN_DEV_EVTCHN is not set
# CONFIG_XEN_BACKEND is not set
# CONFIG_XENFS is not setCONFIG_XEN_SYS_HYPERVISOR=yCONFIG_XEN_XENBUS_FRONTEND=yCONFIG_XEN_GNTDEV=mCONFIG_XEN_GRANT_DEV_ALLOC=mCONFIG_SWIOTLB_XEN=yCONFIG_XEN_TMEM=mCONFIG_XEN_PRIVCMD=mCONFIG_XEN_ACPI_PROCESSOR=mCONFIG_XEN_MCE_LOG=yCONFIG_XEN_HAVE_PVMMU=y
# CONFIG_STAGING is not set
# CONFIG_X86_PLATFORM_DEVICES is not set
# CONFIG_CHROME_PLATFORMS is not setCONFIG_CLKDEV_LOOKUP=yCONFIG_HAVE_CLK_PREPARE=yCONFIG_COMMON_CLK=y
#
# Common Clock Framework
#
# CONFIG_COMMON_CLK_SI5351 is not set
#
# Hardware Spinlock drivers
#CONFIG_CLKEVT_I8253=yCONFIG_CLKBLD_I8253=y
# CONFIG_SH_TIMER_CMT is not set
# CONFIG_SH_TIMER_MTU2 is not set
# CONFIG_SH_TIMER_TMU is not set
# CONFIG_EM_TIMER_STI is not setCONFIG_MAILBOX=yCONFIG_IOMMU_API=yCONFIG_IOMMU_SUPPORT=yCONFIG_AMD_IOMMU=y
# CONFIG_AMD_IOMMU_STATS is not set
# CONFIG_AMD_IOMMU_V2 is not setCONFIG_DMAR_TABLE=y
# CONFIG_INTEL_IOMMU is not setCONFIG_IRQ_REMAP=y
#
# Remoteproc drivers
#CONFIG_REMOTEPROC=yCONFIG_STE_MODEM_RPROC=y
#
# Rpmsg drivers
#CONFIG_PM_DEVFREQ=y
#
# DEVFREQ Governors
#CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=mCONFIG_DEVFREQ_GOV_PERFORMANCE=yCONFIG_DEVFREQ_GOV_POWERSAVE=yCONFIG_DEVFREQ_GOV_USERSPACE=m
#
# DEVFREQ Drivers
#CONFIG_EXTCON=m
#
# Extcon Device Drivers
#
# CONFIG_EXTCON_GPIO is not setCONFIG_EXTCON_ADC_JACK=mCONFIG_EXTCON_ARIZONA=mCONFIG_MEMORY=yCONFIG_IIO=mCONFIG_IIO_BUFFER=yCONFIG_IIO_BUFFER_CB=yCONFIG_IIO_KFIFO_BUF=mCONFIG_IIO_TRIGGERED_BUFFER=mCONFIG_IIO_TRIGGER=yCONFIG_IIO_CONSUMERS_PER_TRIGGER=2
#
# Accelerometers
#CONFIG_BMA180=mCONFIG_HID_SENSOR_ACCEL_3D=m
# CONFIG_IIO_ST_ACCEL_3AXIS is not setCONFIG_KXSD9=m
#
# Analog to digital converters
#CONFIG_AD_SIGMA_DELTA=m
# CONFIG_AD7266 is not setCONFIG_AD7298=mCONFIG_AD7476=mCONFIG_AD7791=mCONFIG_AD7793=m
# CONFIG_AD7887 is not set
# CONFIG_AD7923 is not setCONFIG_MAX1363=mCONFIG_MCP320X=mCONFIG_MCP3422=m
# CONFIG_NAU7802 is not setCONFIG_TI_ADC081C=m
# CONFIG_TI_AM335X_ADC is not setCONFIG_VIPERBOARD_ADC=m
#
# Amplifiers
#CONFIG_AD8366=m
#
# Hid Sensor IIO Common
#CONFIG_HID_SENSOR_IIO_COMMON=mCONFIG_HID_SENSOR_IIO_TRIGGER=mCONFIG_IIO_ST_SENSORS_I2C=mCONFIG_IIO_ST_SENSORS_SPI=mCONFIG_IIO_ST_SENSORS_CORE=m
#
# Digital to analog converters
#CONFIG_AD5064=m
# CONFIG_AD5360 is not setCONFIG_AD5380=mCONFIG_AD5421=mCONFIG_AD5446=mCONFIG_AD5449=mCONFIG_AD5504=mCONFIG_AD5624R_SPI=m
# CONFIG_AD5686 is not setCONFIG_AD5755=mCONFIG_AD5764=mCONFIG_AD5791=m
# CONFIG_AD7303 is not setCONFIG_MAX517=mCONFIG_MCP4725=m
#
# Frequency Synthesizers DDS/PLL
#
#
# Clock Generator/Distribution
#
# CONFIG_AD9523 is not set
#
# Phase-Locked Loop (PLL) frequency synthesizers
#CONFIG_ADF4350=m
#
# Digital gyroscope sensors
#CONFIG_ADIS16080=mCONFIG_ADIS16130=mCONFIG_ADIS16136=m
# CONFIG_ADIS16260 is not setCONFIG_ADXRS450=m
# CONFIG_HID_SENSOR_GYRO_3D is not setCONFIG_IIO_ST_GYRO_3AXIS=mCONFIG_IIO_ST_GYRO_I2C_3AXIS=mCONFIG_IIO_ST_GYRO_SPI_3AXIS=mCONFIG_ITG3200=m
#
# Humidity sensors
#
# CONFIG_DHT11 is not setCONFIG_SI7005=m
#
# Inertial measurement units
#CONFIG_ADIS16400=m
# CONFIG_ADIS16480 is not setCONFIG_INV_MPU6050_IIO=mCONFIG_IIO_ADIS_LIB=mCONFIG_IIO_ADIS_LIB_BUFFER=y
#
# Light sensors
#
# CONFIG_ADJD_S311 is not set
# CONFIG_APDS9300 is not set
# CONFIG_CM32181 is not set
# CONFIG_CM36651 is not setCONFIG_GP2AP020A00F=mCONFIG_HID_SENSOR_ALS=mCONFIG_HID_SENSOR_PROX=mCONFIG_LTR501=m
# CONFIG_TCS3472 is not setCONFIG_SENSORS_TSL2563=mCONFIG_TSL4531=mCONFIG_VCNL4000=m
#
# Magnetometer sensors
#
# CONFIG_AK8975 is not setCONFIG_MAG3110=mCONFIG_HID_SENSOR_MAGNETOMETER_3D=mCONFIG_IIO_ST_MAGN_3AXIS=mCONFIG_IIO_ST_MAGN_I2C_3AXIS=mCONFIG_IIO_ST_MAGN_SPI_3AXIS=m
#
# Inclinometer sensors
#CONFIG_HID_SENSOR_INCLINOMETER_3D=m
#
# Triggers - standalone
#
# CONFIG_IIO_INTERRUPT_TRIGGER is not setCONFIG_IIO_SYSFS_TRIGGER=m
#
# Pressure sensors
#CONFIG_HID_SENSOR_PRESS=mCONFIG_MPL3115=mCONFIG_IIO_ST_PRESS=mCONFIG_IIO_ST_PRESS_I2C=mCONFIG_IIO_ST_PRESS_SPI=m
#
# Temperature sensors
#CONFIG_TMP006=m
# CONFIG_NTB is not set
# CONFIG_VME_BUS is not set
# CONFIG_PWM is not setCONFIG_IPACK_BUS=yCONFIG_BOARD_TPCI200=yCONFIG_SERIAL_IPOCTAL=y
# CONFIG_RESET_CONTROLLER is not setCONFIG_FMC=m
# CONFIG_FMC_FAKEDEV is not set
# CONFIG_FMC_TRIVIAL is not set
# CONFIG_FMC_WRITE_EEPROM is not setCONFIG_FMC_CHARDEV=m
#
# PHY Subsystem
#CONFIG_GENERIC_PHY=y
# CONFIG_BCM_KONA_USB2_PHY is not setCONFIG_PHY_SAMSUNG_USB2=mCONFIG_POWERCAP=y
# CONFIG_INTEL_RAPL is not set
# CONFIG_MCB is not set
#
# Firmware Drivers
#CONFIG_EDD=m
# CONFIG_EDD_OFF is not set
# CONFIG_FIRMWARE_MEMMAP is not set
# CONFIG_DELL_RBU is not set
# CONFIG_DCDBAS is not setCONFIG_DMIID=yCONFIG_DMI_SYSFS=mCONFIG_DMI_SCAN_MACHINE_NON_EFI_FALLBACK=y
# CONFIG_ISCSI_IBFT_FIND is not set
# CONFIG_GOOGLE_FIRMWARE is not set
#
# EFI (Extensible Firmware Interface) Support
#CONFIG_EFI_VARS=mCONFIG_UEFI_CPER=y
#
# File systems
#CONFIG_DCACHE_WORD_ACCESS=yCONFIG_EXT2_FS=mCONFIG_EXT2_FS_XATTR=y
# CONFIG_EXT2_FS_POSIX_ACL is not set
# CONFIG_EXT2_FS_SECURITY is not setCONFIG_EXT2_FS_XIP=yCONFIG_EXT3_FS=y
# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not setCONFIG_EXT3_FS_XATTR=yCONFIG_EXT3_FS_POSIX_ACL=yCONFIG_EXT3_FS_SECURITY=yCONFIG_EXT4_FS=yCONFIG_EXT4_FS_POSIX_ACL=yCONFIG_EXT4_FS_SECURITY=y
# CONFIG_EXT4_DEBUG is not setCONFIG_FS_XIP=yCONFIG_JBD=y
# CONFIG_JBD_DEBUG is not setCONFIG_JBD2=y
# CONFIG_JBD2_DEBUG is not setCONFIG_FS_MBCACHE=y
# CONFIG_REISERFS_FS is not setCONFIG_JFS_FS=m
# CONFIG_JFS_POSIX_ACL is not setCONFIG_JFS_SECURITY=yCONFIG_JFS_DEBUG=yCONFIG_JFS_STATISTICS=yCONFIG_XFS_FS=yCONFIG_XFS_QUOTA=yCONFIG_XFS_POSIX_ACL=yCONFIG_XFS_RT=y
# CONFIG_XFS_WARN is not set
# CONFIG_XFS_DEBUG is not set
# CONFIG_GFS2_FS is not setCONFIG_OCFS2_FS=yCONFIG_OCFS2_FS_O2CB=yCONFIG_OCFS2_FS_USERSPACE_CLUSTER=mCONFIG_OCFS2_FS_STATS=y
# CONFIG_OCFS2_DEBUG_MASKLOG is not setCONFIG_OCFS2_DEBUG_FS=yCONFIG_BTRFS_FS=y
# CONFIG_BTRFS_FS_POSIX_ACL is not set
# CONFIG_BTRFS_FS_CHECK_INTEGRITY is not set
# CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set
# CONFIG_BTRFS_DEBUG is not set
# CONFIG_BTRFS_ASSERT is not setCONFIG_NILFS2_FS=mCONFIG_FS_POSIX_ACL=yCONFIG_EXPORTFS=yCONFIG_FILE_LOCKING=yCONFIG_FSNOTIFY=yCONFIG_DNOTIFY=y
# CONFIG_INOTIFY_USER is not set
# CONFIG_FANOTIFY is not setCONFIG_QUOTA=y
# CONFIG_QUOTA_NETLINK_INTERFACE is not setCONFIG_PRINT_QUOTA_WARNING=y
# CONFIG_QUOTA_DEBUG is not setCONFIG_QUOTA_TREE=y
# CONFIG_QFMT_V1 is not setCONFIG_QFMT_V2=mCONFIG_QUOTACTL=yCONFIG_QUOTACTL_COMPAT=yCONFIG_AUTOFS4_FS=mCONFIG_FUSE_FS=y
# CONFIG_CUSE is not set
#
# Caches
#CONFIG_FSCACHE=yCONFIG_FSCACHE_STATS=yCONFIG_FSCACHE_HISTOGRAM=y
# CONFIG_FSCACHE_DEBUG is not set
# CONFIG_FSCACHE_OBJECT_LIST is not setCONFIG_CACHEFILES=yCONFIG_CACHEFILES_DEBUG=yCONFIG_CACHEFILES_HISTOGRAM=y
#
# CD-ROM/DVD Filesystems
#
# CONFIG_ISO9660_FS is not setCONFIG_UDF_FS=yCONFIG_UDF_NLS=y
#
# DOS/FAT/NT Filesystems
#CONFIG_FAT_FS=y
# CONFIG_MSDOS_FS is not setCONFIG_VFAT_FS=yCONFIG_FAT_DEFAULT_CODEPAGE=437CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"CONFIG_NTFS_FS=y
# CONFIG_NTFS_DEBUG is not set
# CONFIG_NTFS_RW is not set
#
# Pseudo filesystems
#CONFIG_PROC_FS=y
# CONFIG_PROC_KCORE is not setCONFIG_PROC_VMCORE=yCONFIG_PROC_SYSCTL=yCONFIG_PROC_PAGE_MONITOR=yCONFIG_KERNFS=yCONFIG_SYSFS=y
# CONFIG_TMPFS is not setCONFIG_HUGETLBFS=yCONFIG_HUGETLB_PAGE=yCONFIG_CONFIGFS_FS=yCONFIG_MISC_FILESYSTEMS=yCONFIG_ADFS_FS=m
# CONFIG_ADFS_FS_RW is not set
# CONFIG_AFFS_FS is not set
# CONFIG_ECRYPT_FS is not setCONFIG_HFS_FS=mCONFIG_HFSPLUS_FS=yCONFIG_HFSPLUS_FS_POSIX_ACL=y
# CONFIG_BEFS_FS is not setCONFIG_BFS_FS=yCONFIG_EFS_FS=mCONFIG_LOGFS=mCONFIG_CRAMFS=mCONFIG_SQUASHFS=y
# CONFIG_SQUASHFS_FILE_CACHE is not setCONFIG_SQUASHFS_FILE_DIRECT=y
# CONFIG_SQUASHFS_DECOMP_SINGLE is not set
# CONFIG_SQUASHFS_DECOMP_MULTI is not setCONFIG_SQUASHFS_DECOMP_MULTI_PERCPU=y
# CONFIG_SQUASHFS_XATTR is not set
# CONFIG_SQUASHFS_ZLIB is not setCONFIG_SQUASHFS_LZO=y
# CONFIG_SQUASHFS_XZ is not setCONFIG_SQUASHFS_4K_DEVBLK_SIZE=y
# CONFIG_SQUASHFS_EMBEDDED is not setCONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3CONFIG_VXFS_FS=m
# CONFIG_MINIX_FS is not setCONFIG_OMFS_FS=mCONFIG_HPFS_FS=yCONFIG_QNX4FS_FS=yCONFIG_QNX6FS_FS=mCONFIG_QNX6FS_DEBUG=yCONFIG_ROMFS_FS=mCONFIG_ROMFS_BACKED_BY_BLOCK=yCONFIG_ROMFS_ON_BLOCK=y
# CONFIG_PSTORE is not setCONFIG_SYSV_FS=m
# CONFIG_UFS_FS is not set
# CONFIG_F2FS_FS is not set
# CONFIG_EFIVAR_FS is not setCONFIG_NETWORK_FILESYSTEMS=yCONFIG_NFS_FS=yCONFIG_NFS_V2=yCONFIG_NFS_V3=yCONFIG_NFS_V3_ACL=y
# CONFIG_NFS_V4 is not set
# CONFIG_NFS_SWAP is not set
# CONFIG_ROOT_NFS is not set
# CONFIG_NFS_FSCACHE is not setCONFIG_NFSD=mCONFIG_NFSD_V2_ACL=yCONFIG_NFSD_V3=yCONFIG_NFSD_V3_ACL=y
# CONFIG_NFSD_V4 is not setCONFIG_LOCKD=yCONFIG_LOCKD_V4=yCONFIG_NFS_ACL_SUPPORT=yCONFIG_NFS_COMMON=yCONFIG_SUNRPC=y
# CONFIG_SUNRPC_DEBUG is not setCONFIG_CEPH_FS=y
# CONFIG_CEPH_FSCACHE is not setCONFIG_CEPH_FS_POSIX_ACL=yCONFIG_CIFS=y
# CONFIG_CIFS_STATS is not setCONFIG_CIFS_WEAK_PW_HASH=yCONFIG_CIFS_UPCALL=y
# CONFIG_CIFS_XATTR is not setCONFIG_CIFS_DEBUG=yCONFIG_CIFS_DEBUG2=y
# CONFIG_CIFS_DFS_UPCALL is not setCONFIG_CIFS_SMB2=y
# CONFIG_CIFS_FSCACHE is not setCONFIG_NCP_FS=m
# CONFIG_NCPFS_PACKET_SIGNING is not set
# CONFIG_NCPFS_IOCTL_LOCKING is not set
# CONFIG_NCPFS_STRONG is not set
# CONFIG_NCPFS_NFS_NS is not setCONFIG_NCPFS_OS2_NS=yCONFIG_NCPFS_SMALLDOS=yCONFIG_NCPFS_NLS=yCONFIG_NCPFS_EXTRAS=yCONFIG_CODA_FS=m
# CONFIG_AFS_FS is not setCONFIG_9P_FS=yCONFIG_9P_FSCACHE=yCONFIG_9P_FS_POSIX_ACL=yCONFIG_9P_FS_SECURITY=yCONFIG_NLS=yCONFIG_NLS_DEFAULT="iso8859-1"
# CONFIG_NLS_CODEPAGE_437 is not setCONFIG_NLS_CODEPAGE_737=mCONFIG_NLS_CODEPAGE_775=m
# CONFIG_NLS_CODEPAGE_850 is not setCONFIG_NLS_CODEPAGE_852=yCONFIG_NLS_CODEPAGE_855=y
# CONFIG_NLS_CODEPAGE_857 is not setCONFIG_NLS_CODEPAGE_860=y
# CONFIG_NLS_CODEPAGE_861 is not set
# CONFIG_NLS_CODEPAGE_862 is not setCONFIG_NLS_CODEPAGE_863=mCONFIG_NLS_CODEPAGE_864=yCONFIG_NLS_CODEPAGE_865=m
# CONFIG_NLS_CODEPAGE_866 is not set
# CONFIG_NLS_CODEPAGE_869 is not set
# CONFIG_NLS_CODEPAGE_936 is not setCONFIG_NLS_CODEPAGE_950=yCONFIG_NLS_CODEPAGE_932=yCONFIG_NLS_CODEPAGE_949=yCONFIG_NLS_CODEPAGE_874=yCONFIG_NLS_ISO8859_8=mCONFIG_NLS_CODEPAGE_1250=y
# CONFIG_NLS_CODEPAGE_1251 is not setCONFIG_NLS_ASCII=yCONFIG_NLS_ISO8859_1=yCONFIG_NLS_ISO8859_2=mCONFIG_NLS_ISO8859_3=m
# CONFIG_NLS_ISO8859_4 is not setCONFIG_NLS_ISO8859_5=yCONFIG_NLS_ISO8859_6=m
# CONFIG_NLS_ISO8859_7 is not setCONFIG_NLS_ISO8859_9=yCONFIG_NLS_ISO8859_13=mCONFIG_NLS_ISO8859_14=mCONFIG_NLS_ISO8859_15=y
# CONFIG_NLS_KOI8_R is not set
# CONFIG_NLS_KOI8_U is not setCONFIG_NLS_MAC_ROMAN=y
# CONFIG_NLS_MAC_CELTIC is not setCONFIG_NLS_MAC_CENTEURO=m
# CONFIG_NLS_MAC_CROATIAN is not setCONFIG_NLS_MAC_CYRILLIC=mCONFIG_NLS_MAC_GAELIC=yCONFIG_NLS_MAC_GREEK=m
# CONFIG_NLS_MAC_ICELAND is not setCONFIG_NLS_MAC_INUIT=mCONFIG_NLS_MAC_ROMANIAN=m
# CONFIG_NLS_MAC_TURKISH is not setCONFIG_NLS_UTF8=yCONFIG_DLM=m
# CONFIG_DLM_DEBUG is not set
#
# Kernel hacking
#CONFIG_TRACE_IRQFLAGS_SUPPORT=y
#
# printk and dmesg options # # CONFIG_PRINTK_TIME is not set CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4 CONFIG_BOOT_PRINTK_DELAY=y CONFIG_DYNAMIC_DEBUG=y
#
# Compile-time checks and compiler options
#
# CONFIG_DEBUG_INFO is not setCONFIG_ENABLE_WARN_DEPRECATED=y
# CONFIG_ENABLE_MUST_CHECK is not setCONFIG_FRAME_WARN=2048CONFIG_STRIP_ASM_SYMS=y
# CONFIG_READABLE_ASM is not setCONFIG_UNUSED_SYMBOLS=yCONFIG_DEBUG_FS=y
# CONFIG_HEADERS_CHECK is not set
# CONFIG_DEBUG_SECTION_MISMATCH is not setCONFIG_ARCH_WANT_FRAME_POINTERS=yCONFIG_FRAME_POINTER=y
# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not setCONFIG_MAGIC_SYSRQ=yCONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1CONFIG_DEBUG_KERNEL=y
#
# Memory Debugging
#CONFIG_DEBUG_PAGEALLOC=yCONFIG_WANT_PAGE_DEBUG_FLAGS=yCONFIG_PAGE_GUARD=y
# CONFIG_DEBUG_OBJECTS is not setCONFIG_HAVE_DEBUG_KMEMLEAK=y
# CONFIG_DEBUG_KMEMLEAK is not set
# CONFIG_DEBUG_STACK_USAGE is not setCONFIG_DEBUG_VM=y
# CONFIG_DEBUG_VM_RB is not setCONFIG_DEBUG_VIRTUAL=y
# CONFIG_DEBUG_MEMORY_INIT is not setCONFIG_HAVE_DEBUG_STACKOVERFLOW=yCONFIG_DEBUG_STACKOVERFLOW=yCONFIG_HAVE_ARCH_KMEMCHECK=yCONFIG_DEBUG_SHIRQ=y
#
# Debug Lockups and Hangs
#CONFIG_LOCKUP_DETECTOR=yCONFIG_HARDLOCKUP_DETECTOR=y
# CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is not setCONFIG_BOOTPARAM_HARDLOCKUP_PANIC_VALUE=0
# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not setCONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0CONFIG_DETECT_HUNG_TASK=yCONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120
# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not setCONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
# CONFIG_PANIC_ON_OOPS is not setCONFIG_PANIC_ON_OOPS_VALUE=0CONFIG_PANIC_TIMEOUT=0CONFIG_SCHED_DEBUG=yCONFIG_SCHEDSTATS=y
# CONFIG_TIMER_STATS is not set
#
# Lock Debugging (spinlocks, mutexes, etc...)
#CONFIG_DEBUG_RT_MUTEXES=yCONFIG_DEBUG_PI_LIST=y
# CONFIG_RT_MUTEX_TESTER is not setCONFIG_DEBUG_SPINLOCK=yCONFIG_DEBUG_MUTEXES=y
# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not setCONFIG_DEBUG_LOCK_ALLOC=y
# CONFIG_PROVE_LOCKING is not setCONFIG_LOCKDEP=y
# CONFIG_LOCK_STAT is not set
# CONFIG_DEBUG_LOCKDEP is not setCONFIG_DEBUG_ATOMIC_SLEEP=yCONFIG_DEBUG_LOCKING_API_SELFTESTS=yCONFIG_LOCK_TORTURE_TEST=mCONFIG_STACKTRACE=y
# CONFIG_DEBUG_KOBJECT is not setCONFIG_DEBUG_BUGVERBOSE=y
# CONFIG_DEBUG_LIST is not setCONFIG_DEBUG_SG=yCONFIG_DEBUG_NOTIFIERS=yCONFIG_DEBUG_CREDENTIALS=y
#
# RCU Debugging
#CONFIG_SPARSE_RCU_POINTER=yCONFIG_TORTURE_TEST=mCONFIG_RCU_TORTURE_TEST=mCONFIG_RCU_CPU_STALL_TIMEOUT=21CONFIG_RCU_TRACE=y
# CONFIG_DEBUG_BLOCK_EXT_DEVT is not setCONFIG_NOTIFIER_ERROR_INJECTION=yCONFIG_PM_NOTIFIER_ERROR_INJECT=yCONFIG_FAULT_INJECTION=y
# CONFIG_FAIL_PAGE_ALLOC is not set
# CONFIG_FAIL_MAKE_REQUEST is not set
# CONFIG_FAIL_IO_TIMEOUT is not set
# CONFIG_FAIL_MMC_REQUEST is not setCONFIG_FAULT_INJECTION_DEBUG_FS=yCONFIG_LATENCYTOP=yCONFIG_ARCH_HAS_DEBUG_STRICT_USER_COPY_CHECKS=y
# CONFIG_DEBUG_STRICT_USER_COPY_CHECKS is not setCONFIG_USER_STACKTRACE_SUPPORT=yCONFIG_HAVE_FUNCTION_TRACER=yCONFIG_HAVE_FUNCTION_GRAPH_TRACER=yCONFIG_HAVE_FUNCTION_GRAPH_FP_TEST=yCONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=yCONFIG_HAVE_DYNAMIC_FTRACE=yCONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=yCONFIG_HAVE_FTRACE_MCOUNT_RECORD=yCONFIG_HAVE_SYSCALL_TRACEPOINTS=yCONFIG_HAVE_FENTRY=yCONFIG_HAVE_C_RECORDMCOUNT=yCONFIG_TRACE_CLOCK=yCONFIG_RING_BUFFER=yCONFIG_RING_BUFFER_ALLOW_SWAP=yCONFIG_TRACING_SUPPORT=y
# CONFIG_FTRACE is not set
#
# Runtime Testing
#CONFIG_LKDTM=mCONFIG_TEST_LIST_SORT=yCONFIG_BACKTRACE_SELF_TEST=m
# CONFIG_RBTREE_TEST is not setCONFIG_INTERVAL_TREE_TEST=mCONFIG_PERCPU_TEST=m
# CONFIG_ATOMIC64_SELFTEST is not set
# CONFIG_ASYNC_RAID6_TEST is not setCONFIG_TEST_STRING_HELPERS=mCONFIG_TEST_KSTRTOX=y
# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not setCONFIG_DMA_API_DEBUG=yCONFIG_TEST_MODULE=mCONFIG_TEST_USER_COPY=mCONFIG_SAMPLES=y
# CONFIG_SAMPLE_KOBJECT is not setCONFIG_SAMPLE_HW_BREAKPOINT=mCONFIG_SAMPLE_KFIFO=mCONFIG_HAVE_ARCH_KGDB=yCONFIG_KGDB=yCONFIG_KGDB_SERIAL_CONSOLE=y
# CONFIG_KGDB_TESTS is not setCONFIG_KGDB_LOW_LEVEL_TRAP=y
# CONFIG_KGDB_KDB is not set
# CONFIG_STRICT_DEVMEM is not setCONFIG_X86_VERBOSE_BOOTUP=yCONFIG_EARLY_PRINTK=y
# CONFIG_EARLY_PRINTK_DBGP is not setCONFIG_EARLY_PRINTK_EFI=y
# CONFIG_X86_PTDUMP is not setCONFIG_DEBUG_RODATA=y
# CONFIG_DEBUG_RODATA_TEST is not setCONFIG_DEBUG_SET_MODULE_RONX=y
# CONFIG_DEBUG_NX_TEST is not set
# CONFIG_DOUBLEFAULT is not set
# CONFIG_DEBUG_TLBFLUSH is not set
# CONFIG_IOMMU_STRESS is not setCONFIG_HAVE_MMIOTRACE_SUPPORT=yCONFIG_IO_DELAY_TYPE_0X80=0CONFIG_IO_DELAY_TYPE_0XED=1CONFIG_IO_DELAY_TYPE_UDELAY=2CONFIG_IO_DELAY_TYPE_NONE=3CONFIG_IO_DELAY_0X80=y
# CONFIG_IO_DELAY_0XED is not set
# CONFIG_IO_DELAY_UDELAY is not set
# CONFIG_IO_DELAY_NONE is not setCONFIG_DEFAULT_IO_DELAY_TYPE=0CONFIG_DEBUG_BOOT_PARAMS=y
# CONFIG_CPA_DEBUG is not set
# CONFIG_OPTIMIZE_INLINING is not set
# CONFIG_DEBUG_NMI_SELFTEST is not setCONFIG_X86_DEBUG_STATIC_CPU_HAS=y
#
# Security options
#CONFIG_KEYS=yCONFIG_PERSISTENT_KEYRINGS=y CONFIG_TRUSTED_KEYS=yCONFIG_ENCRYPTED_KEYS=y CONFIG_KEYS_DEBUG_PROC_KEYS=y CONFIG_SECURITY_DMESG_RESTRICT=y CONFIG_SECURITY=yCONFIG_SECURITYFS=yCONFIG_SECURITY_NETWORK=y
# CONFIG_SECURITY_NETWORK_XFRM is not set CONFIG_SECURITY_PATH=y
# CONFIG_SECURITY_SMACK is not set CONFIG_SECURITY_TOMOYO=y CONFIG_SECURITY_TOMOYO_MAX_ACCEPT_ENTRY=2048 CONFIG_SECURITY_TOMOYO_MAX_AUDIT_LOG=1024
# CONFIG_SECURITY_TOMOYO_OMIT_USERSPACE_LOADER is not set CONFIG_SECURITY_TOMOYO_POLICY_LOADER="/sbin/tomoyo-init" CONFIG_SECURITY_TOMOYO_ACTIVATION_TRIGGER="/sbin/init" # CONFIG_SECURITY_APPARMOR is not set CONFIG_SECURITY_YAMA=y
# CONFIG_SECURITY_YAMA_STACKED is not set CONFIG_INTEGRITY=yCONFIG_INTEGRITY_SIGNATURE=y
# CONFIG_INTEGRITY_ASYMMETRIC_KEYS is not set
# CONFIG_IMA is not setCONFIG_EVM=yCONFIG_EVM_HMAC_VERSION=2
# CONFIG_DEFAULT_SECURITY_TOMOYO is not set
# CONFIG_DEFAULT_SECURITY_YAMA is not set CONFIG_DEFAULT_SECURITY_DAC=y CONFIG_DEFAULT_SECURITY=""CONFIG_XOR_BLOCKS=yCONFIG_ASYNC_CORE=yCONFIG_ASYNC_MEMCPY=yCONFIG_ASYNC_XOR=yCONFIG_ASYNC_PQ=yCONFIG_ASYNC_RAID6_RECOV=yCONFIG_CRYPTO=y
#
# Crypto core or helper
#CONFIG_CRYPTO_ALGAPI=yCONFIG_CRYPTO_ALGAPI2=yCONFIG_CRYPTO_AEAD=yCONFIG_CRYPTO_AEAD2=yCONFIG_CRYPTO_BLKCIPHER=yCONFIG_CRYPTO_BLKCIPHER2=yCONFIG_CRYPTO_HASH=yCONFIG_CRYPTO_HASH2=yCONFIG_CRYPTO_RNG=yCONFIG_CRYPTO_RNG2=yCONFIG_CRYPTO_PCOMP=mCONFIG_CRYPTO_PCOMP2=yCONFIG_CRYPTO_MANAGER=yCONFIG_CRYPTO_MANAGER2=y
# CONFIG_CRYPTO_USER is not set
# CONFIG_CRYPTO_MANAGER_DISABLE_TESTS is not setCONFIG_CRYPTO_GF128MUL=yCONFIG_CRYPTO_NULL=mCONFIG_CRYPTO_WORKQUEUE=yCONFIG_CRYPTO_CRYPTD=yCONFIG_CRYPTO_AUTHENC=mCONFIG_CRYPTO_TEST=mCONFIG_CRYPTO_ABLK_HELPER=yCONFIG_CRYPTO_GLUE_HELPER_X86=y
#
# Authenticated Encryption with Associated Data
#
# CONFIG_CRYPTO_CCM is not setCONFIG_CRYPTO_GCM=mCONFIG_CRYPTO_SEQIV=y
#
# Block modes
#CONFIG_CRYPTO_CBC=yCONFIG_CRYPTO_CTR=m
# CONFIG_CRYPTO_CTS is not setCONFIG_CRYPTO_ECB=yCONFIG_CRYPTO_LRW=yCONFIG_CRYPTO_PCBC=mCONFIG_CRYPTO_XTS=y
#
# Hash modes
#CONFIG_CRYPTO_CMAC=yCONFIG_CRYPTO_HMAC=yCONFIG_CRYPTO_XCBC=mCONFIG_CRYPTO_VMAC=m
#
# Digest
#CONFIG_CRYPTO_CRC32C=yCONFIG_CRYPTO_CRC32C_INTEL=yCONFIG_CRYPTO_CRC32=yCONFIG_CRYPTO_CRC32_PCLMUL=yCONFIG_CRYPTO_CRCT10DIF=yCONFIG_CRYPTO_CRCT10DIF_PCLMUL=mCONFIG_CRYPTO_GHASH=mCONFIG_CRYPTO_MD4=yCONFIG_CRYPTO_MD5=yCONFIG_CRYPTO_MICHAEL_MIC=mCONFIG_CRYPTO_RMD128=y
# CONFIG_CRYPTO_RMD160 is not setCONFIG_CRYPTO_RMD256=yCONFIG_CRYPTO_RMD320=yCONFIG_CRYPTO_SHA1=y
# CONFIG_CRYPTO_SHA1_SSSE3 is not setCONFIG_CRYPTO_SHA256_SSSE3=y
# CONFIG_CRYPTO_SHA512_SSSE3 is not setCONFIG_CRYPTO_SHA256=y
# CONFIG_CRYPTO_SHA512 is not setCONFIG_CRYPTO_TGR192=mCONFIG_CRYPTO_WP512=yCONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL=m
#
# Ciphers
#CONFIG_CRYPTO_AES=yCONFIG_CRYPTO_AES_X86_64=yCONFIG_CRYPTO_AES_NI_INTEL=yCONFIG_CRYPTO_ANUBIS=yCONFIG_CRYPTO_ARC4=yCONFIG_CRYPTO_BLOWFISH=yCONFIG_CRYPTO_BLOWFISH_COMMON=yCONFIG_CRYPTO_BLOWFISH_X86_64=mCONFIG_CRYPTO_CAMELLIA=yCONFIG_CRYPTO_CAMELLIA_X86_64=yCONFIG_CRYPTO_CAMELLIA_AESNI_AVX_X86_64=yCONFIG_CRYPTO_CAMELLIA_AESNI_AVX2_X86_64=yCONFIG_CRYPTO_CAST_COMMON=yCONFIG_CRYPTO_CAST5=y
# CONFIG_CRYPTO_CAST5_AVX_X86_64 is not setCONFIG_CRYPTO_CAST6=mCONFIG_CRYPTO_CAST6_AVX_X86_64=mCONFIG_CRYPTO_DES=yCONFIG_CRYPTO_FCRYPT=yCONFIG_CRYPTO_KHAZAD=yCONFIG_CRYPTO_SALSA20=m
# CONFIG_CRYPTO_SALSA20_X86_64 is not setCONFIG_CRYPTO_SEED=mCONFIG_CRYPTO_SERPENT=yCONFIG_CRYPTO_SERPENT_SSE2_X86_64=yCONFIG_CRYPTO_SERPENT_AVX_X86_64=yCONFIG_CRYPTO_SERPENT_AVX2_X86_64=y
# CONFIG_CRYPTO_TEA is not setCONFIG_CRYPTO_TWOFISH=mCONFIG_CRYPTO_TWOFISH_COMMON=yCONFIG_CRYPTO_TWOFISH_X86_64=yCONFIG_CRYPTO_TWOFISH_X86_64_3WAY=yCONFIG_CRYPTO_TWOFISH_AVX_X86_64=y
#
# Compression
#CONFIG_CRYPTO_DEFLATE=yCONFIG_CRYPTO_ZLIB=mCONFIG_CRYPTO_LZO=y
# CONFIG_CRYPTO_LZ4 is not setCONFIG_CRYPTO_LZ4HC=m
#
# Random Number Generation
#
# CONFIG_CRYPTO_ANSI_CPRNG is not setCONFIG_CRYPTO_USER_API=yCONFIG_CRYPTO_USER_API_HASH=yCONFIG_CRYPTO_USER_API_SKCIPHER=yCONFIG_CRYPTO_HASH_INFO=y
# CONFIG_CRYPTO_HW is not setCONFIG_ASYMMETRIC_KEY_TYPE=mCONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=mCONFIG_PUBLIC_KEY_ALGO_RSA=m
# CONFIG_X509_CERTIFICATE_PARSER is not setCONFIG_HAVE_KVM=yCONFIG_VIRTUALIZATION=y
# CONFIG_KVM is not set
# CONFIG_BINARY_PRINTF is not set
#
# Library routines
#CONFIG_RAID6_PQ=yCONFIG_BITREVERSE=yCONFIG_GENERIC_STRNCPY_FROM_USER=yCONFIG_GENERIC_STRNLEN_USER=yCONFIG_GENERIC_NET_UTILS=yCONFIG_GENERIC_FIND_FIRST_BIT=yCONFIG_GENERIC_PCI_IOMAP=yCONFIG_GENERIC_IOMAP=yCONFIG_GENERIC_IO=yCONFIG_ARCH_USE_CMPXCHG_LOCKREF=yCONFIG_CRC_CCITT=mCONFIG_CRC16=yCONFIG_CRC_T10DIF=yCONFIG_CRC_ITU_T=yCONFIG_CRC32=y
# CONFIG_CRC32_SELFTEST is not setCONFIG_CRC32_SLICEBY8=y
# CONFIG_CRC32_SLICEBY4 is not set
# CONFIG_CRC32_SARWATE is not set
# CONFIG_CRC32_BIT is not setCONFIG_CRC7=mCONFIG_LIBCRC32C=y
# CONFIG_CRC8 is not set
# CONFIG_AUDIT_ARCH_COMPAT_GENERIC is not set
# CONFIG_RANDOM32_SELFTEST is not setCONFIG_ZLIB_INFLATE=yCONFIG_ZLIB_DEFLATE=yCONFIG_LZO_COMPRESS=yCONFIG_LZO_DECOMPRESS=yCONFIG_LZ4HC_COMPRESS=mCONFIG_LZ4_DECOMPRESS=mCONFIG_XZ_DEC=y
# CONFIG_XZ_DEC_X86 is not set
# CONFIG_XZ_DEC_POWERPC is not setCONFIG_XZ_DEC_IA64=y
# CONFIG_XZ_DEC_ARM is not setCONFIG_XZ_DEC_ARMTHUMB=yCONFIG_XZ_DEC_SPARC=yCONFIG_XZ_DEC_BCJ=y
# CONFIG_XZ_DEC_TEST is not setCONFIG_GENERIC_ALLOCATOR=yCONFIG_BTREE=yCONFIG_ASSOCIATIVE_ARRAY=yCONFIG_HAS_IOMEM=yCONFIG_HAS_IOPORT_MAP=yCONFIG_HAS_DMA=yCONFIG_CHECK_SIGNATURE=yCONFIG_DQL=yCONFIG_NLATTR=yCONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=yCONFIG_AVERAGE=yCONFIG_CLZ_TAB=yCONFIG_CORDIC=m
# CONFIG_DDR is not setCONFIG_MPILIB=yCONFIG_SIGNATURE=yCONFIG_UCS2_STRING=yCONFIG_FONT_SUPPORT=y
CONFIG_FONT_8x16=yCONFIG_FONT_AUTOSELECT=y
Peter Zijlstra
maintainerQuoted 7 lines · Ingo Molnar
Unfortunately even with the latest bits from you the breakage I reported weeks ago is not resolved:
In file included from
include/linux/spinlock_types.h:15:0,
fromkernel/bounds.c:14:include/linux/spinlock_types_up.h:19:3: error: conflicting types for ‘arch_spinlock_t’ In file included from/home/mingo/linux/linux2/arch/x86/include/asm/paravirt_types.h:329:0,
Quoted 10 lines
from /home/mingo/linux/linux2/arch/x86/include/asm/ptrace.h:64,
from /home/mingo/linux/linux2/arch/x86/include/asm/alternative.h:8,
from /home/mingo/linux/linux2/arch/x86/include/asm/bitops.h:16,
from include/linux/bitops.h:33,
from include/linux/kernel.h:10,
from include/asm-generic/bug.h:13,
from /home/mingo/linux/linux2/arch/x86/include/asm/bug.h:35,
from include/linux/bug.h:4,
from include/linux/page-flags.h:9,
from kernel/bounds.c:9:OK, That's UP + paravirt. The one I fixed a few weeks ago was SMP + paravirt.
Lemme go kick some headers.
Peter Zijlstra
maintainerQuoted 19 lines · Peter Zijlstra
Quoted 7 lines · Ingo Molnar
Unfortunately even with the latest bits from you the breakage I reported weeks ago is not resolved:
In file included from
include/linux/spinlock_types.h:15:0,
fromkernel/bounds.c:14:include/linux/spinlock_types_up.h:19:3: error: conflicting types for ‘arch_spinlock_t’ In file included from/home/mingo/linux/linux2/arch/x86/include/asm/paravirt_types.h:329:0,Quoted 10 lines
from /home/mingo/linux/linux2/arch/x86/include/asm/ptrace.h:64, from /home/mingo/linux/linux2/arch/x86/include/asm/alternative.h:8, from /home/mingo/linux/linux2/arch/x86/include/asm/bitops.h:16, from include/linux/bitops.h:33, from include/linux/kernel.h:10, from include/asm-generic/bug.h:13, from /home/mingo/linux/linux2/arch/x86/include/asm/bug.h:35, from include/linux/bug.h:4, from include/linux/page-flags.h:9, from kernel/bounds.c:9:
Quoted 4 lines
OK, That's UP + paravirt. The one I fixed a few weeks ago was SMP + paravirt.
Lemme go kick some headers.
OK, I got {SMP,UP}x{PARAVIRT,!PARAVIRT} all building now, /me crosses fingers. Hateful headers them.