Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: GPL-2.0-only
0002 #
0003 # The ARCH_INLINE foo is necessary because select ignores "depends on"
0004 #
0005 config ARCH_INLINE_SPIN_TRYLOCK
0006         bool
0007 
0008 config ARCH_INLINE_SPIN_TRYLOCK_BH
0009         bool
0010 
0011 config ARCH_INLINE_SPIN_LOCK
0012         bool
0013 
0014 config ARCH_INLINE_SPIN_LOCK_BH
0015         bool
0016 
0017 config ARCH_INLINE_SPIN_LOCK_IRQ
0018         bool
0019 
0020 config ARCH_INLINE_SPIN_LOCK_IRQSAVE
0021         bool
0022 
0023 config ARCH_INLINE_SPIN_UNLOCK
0024         bool
0025 
0026 config ARCH_INLINE_SPIN_UNLOCK_BH
0027         bool
0028 
0029 config ARCH_INLINE_SPIN_UNLOCK_IRQ
0030         bool
0031 
0032 config ARCH_INLINE_SPIN_UNLOCK_IRQRESTORE
0033         bool
0034 
0035 
0036 config ARCH_INLINE_READ_TRYLOCK
0037         bool
0038 
0039 config ARCH_INLINE_READ_LOCK
0040         bool
0041 
0042 config ARCH_INLINE_READ_LOCK_BH
0043         bool
0044 
0045 config ARCH_INLINE_READ_LOCK_IRQ
0046         bool
0047 
0048 config ARCH_INLINE_READ_LOCK_IRQSAVE
0049         bool
0050 
0051 config ARCH_INLINE_READ_UNLOCK
0052         bool
0053 
0054 config ARCH_INLINE_READ_UNLOCK_BH
0055         bool
0056 
0057 config ARCH_INLINE_READ_UNLOCK_IRQ
0058         bool
0059 
0060 config ARCH_INLINE_READ_UNLOCK_IRQRESTORE
0061         bool
0062 
0063 
0064 config ARCH_INLINE_WRITE_TRYLOCK
0065         bool
0066 
0067 config ARCH_INLINE_WRITE_LOCK
0068         bool
0069 
0070 config ARCH_INLINE_WRITE_LOCK_BH
0071         bool
0072 
0073 config ARCH_INLINE_WRITE_LOCK_IRQ
0074         bool
0075 
0076 config ARCH_INLINE_WRITE_LOCK_IRQSAVE
0077         bool
0078 
0079 config ARCH_INLINE_WRITE_UNLOCK
0080         bool
0081 
0082 config ARCH_INLINE_WRITE_UNLOCK_BH
0083         bool
0084 
0085 config ARCH_INLINE_WRITE_UNLOCK_IRQ
0086         bool
0087 
0088 config ARCH_INLINE_WRITE_UNLOCK_IRQRESTORE
0089         bool
0090 
0091 config UNINLINE_SPIN_UNLOCK
0092         bool
0093 
0094 #
0095 # lock_* functions are inlined when:
0096 #   - DEBUG_SPINLOCK=n and GENERIC_LOCKBREAK=n and ARCH_INLINE_*LOCK=y
0097 #
0098 # trylock_* functions are inlined when:
0099 #   - DEBUG_SPINLOCK=n and ARCH_INLINE_*LOCK=y
0100 #
0101 # unlock and unlock_irq functions are inlined when:
0102 #   - DEBUG_SPINLOCK=n and ARCH_INLINE_*LOCK=y
0103 #  or
0104 #   - DEBUG_SPINLOCK=n and PREEMPTION=n
0105 #
0106 # unlock_bh and unlock_irqrestore functions are inlined when:
0107 #   - DEBUG_SPINLOCK=n and ARCH_INLINE_*LOCK=y
0108 #
0109 
0110 if !DEBUG_SPINLOCK
0111 
0112 config INLINE_SPIN_TRYLOCK
0113         def_bool y
0114         depends on ARCH_INLINE_SPIN_TRYLOCK
0115 
0116 config INLINE_SPIN_TRYLOCK_BH
0117         def_bool y
0118         depends on ARCH_INLINE_SPIN_TRYLOCK_BH
0119 
0120 config INLINE_SPIN_LOCK
0121         def_bool y
0122         depends on !GENERIC_LOCKBREAK && ARCH_INLINE_SPIN_LOCK
0123 
0124 config INLINE_SPIN_LOCK_BH
0125         def_bool y
0126         depends on !GENERIC_LOCKBREAK && ARCH_INLINE_SPIN_LOCK_BH
0127 
0128 config INLINE_SPIN_LOCK_IRQ
0129         def_bool y
0130         depends on !GENERIC_LOCKBREAK && ARCH_INLINE_SPIN_LOCK_IRQ
0131 
0132 config INLINE_SPIN_LOCK_IRQSAVE
0133         def_bool y
0134         depends on !GENERIC_LOCKBREAK && ARCH_INLINE_SPIN_LOCK_IRQSAVE
0135 
0136 config INLINE_SPIN_UNLOCK_BH
0137         def_bool y
0138         depends on ARCH_INLINE_SPIN_UNLOCK_BH
0139 
0140 config INLINE_SPIN_UNLOCK_IRQ
0141         def_bool y
0142         depends on !PREEMPTION || ARCH_INLINE_SPIN_UNLOCK_IRQ
0143 
0144 config INLINE_SPIN_UNLOCK_IRQRESTORE
0145         def_bool y
0146         depends on ARCH_INLINE_SPIN_UNLOCK_IRQRESTORE
0147 
0148 
0149 config INLINE_READ_TRYLOCK
0150         def_bool y
0151         depends on ARCH_INLINE_READ_TRYLOCK
0152 
0153 config INLINE_READ_LOCK
0154         def_bool y
0155         depends on !GENERIC_LOCKBREAK && ARCH_INLINE_READ_LOCK
0156 
0157 config INLINE_READ_LOCK_BH
0158         def_bool y
0159         depends on !GENERIC_LOCKBREAK && ARCH_INLINE_READ_LOCK_BH
0160 
0161 config INLINE_READ_LOCK_IRQ
0162         def_bool y
0163         depends on !GENERIC_LOCKBREAK && ARCH_INLINE_READ_LOCK_IRQ
0164 
0165 config INLINE_READ_LOCK_IRQSAVE
0166         def_bool y
0167         depends on !GENERIC_LOCKBREAK && ARCH_INLINE_READ_LOCK_IRQSAVE
0168 
0169 config INLINE_READ_UNLOCK
0170         def_bool y
0171         depends on !PREEMPTION || ARCH_INLINE_READ_UNLOCK
0172 
0173 config INLINE_READ_UNLOCK_BH
0174         def_bool y
0175         depends on ARCH_INLINE_READ_UNLOCK_BH
0176 
0177 config INLINE_READ_UNLOCK_IRQ
0178         def_bool y
0179         depends on !PREEMPTION || ARCH_INLINE_READ_UNLOCK_IRQ
0180 
0181 config INLINE_READ_UNLOCK_IRQRESTORE
0182         def_bool y
0183         depends on ARCH_INLINE_READ_UNLOCK_IRQRESTORE
0184 
0185 
0186 config INLINE_WRITE_TRYLOCK
0187         def_bool y
0188         depends on ARCH_INLINE_WRITE_TRYLOCK
0189 
0190 config INLINE_WRITE_LOCK
0191         def_bool y
0192         depends on !GENERIC_LOCKBREAK && ARCH_INLINE_WRITE_LOCK
0193 
0194 config INLINE_WRITE_LOCK_BH
0195         def_bool y
0196         depends on !GENERIC_LOCKBREAK && ARCH_INLINE_WRITE_LOCK_BH
0197 
0198 config INLINE_WRITE_LOCK_IRQ
0199         def_bool y
0200         depends on !GENERIC_LOCKBREAK && ARCH_INLINE_WRITE_LOCK_IRQ
0201 
0202 config INLINE_WRITE_LOCK_IRQSAVE
0203         def_bool y
0204         depends on !GENERIC_LOCKBREAK && ARCH_INLINE_WRITE_LOCK_IRQSAVE
0205 
0206 config INLINE_WRITE_UNLOCK
0207         def_bool y
0208         depends on !PREEMPTION || ARCH_INLINE_WRITE_UNLOCK
0209 
0210 config INLINE_WRITE_UNLOCK_BH
0211         def_bool y
0212         depends on ARCH_INLINE_WRITE_UNLOCK_BH
0213 
0214 config INLINE_WRITE_UNLOCK_IRQ
0215         def_bool y
0216         depends on !PREEMPTION || ARCH_INLINE_WRITE_UNLOCK_IRQ
0217 
0218 config INLINE_WRITE_UNLOCK_IRQRESTORE
0219         def_bool y
0220         depends on ARCH_INLINE_WRITE_UNLOCK_IRQRESTORE
0221 
0222 endif
0223 
0224 config ARCH_SUPPORTS_ATOMIC_RMW
0225         bool
0226 
0227 config MUTEX_SPIN_ON_OWNER
0228         def_bool y
0229         depends on SMP && ARCH_SUPPORTS_ATOMIC_RMW
0230 
0231 config RWSEM_SPIN_ON_OWNER
0232        def_bool y
0233        depends on SMP && ARCH_SUPPORTS_ATOMIC_RMW
0234 
0235 config LOCK_SPIN_ON_OWNER
0236        def_bool y
0237        depends on MUTEX_SPIN_ON_OWNER || RWSEM_SPIN_ON_OWNER
0238 
0239 config ARCH_USE_QUEUED_SPINLOCKS
0240         bool
0241 
0242 config QUEUED_SPINLOCKS
0243         def_bool y if ARCH_USE_QUEUED_SPINLOCKS
0244         depends on SMP
0245 
0246 config BPF_ARCH_SPINLOCK
0247         bool
0248 
0249 config ARCH_USE_QUEUED_RWLOCKS
0250         bool
0251 
0252 config QUEUED_RWLOCKS
0253         def_bool y if ARCH_USE_QUEUED_RWLOCKS
0254         depends on SMP && !PREEMPT_RT
0255 
0256 config ARCH_HAS_MMIOWB
0257         bool
0258 
0259 config MMIOWB
0260         def_bool y if ARCH_HAS_MMIOWB
0261         depends on SMP