Kconfig.locks 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203
  1. #
  2. # The ARCH_INLINE foo is necessary because select ignores "depends on"
  3. #
  4. config ARCH_INLINE_SPIN_TRYLOCK
  5. bool
  6. config ARCH_INLINE_SPIN_TRYLOCK_BH
  7. bool
  8. config ARCH_INLINE_SPIN_LOCK
  9. bool
  10. config ARCH_INLINE_SPIN_LOCK_BH
  11. bool
  12. config ARCH_INLINE_SPIN_LOCK_IRQ
  13. bool
  14. config ARCH_INLINE_SPIN_LOCK_IRQSAVE
  15. bool
  16. config ARCH_INLINE_SPIN_UNLOCK
  17. bool
  18. config ARCH_INLINE_SPIN_UNLOCK_BH
  19. bool
  20. config ARCH_INLINE_SPIN_UNLOCK_IRQ
  21. bool
  22. config ARCH_INLINE_SPIN_UNLOCK_IRQRESTORE
  23. bool
  24. config ARCH_INLINE_READ_TRYLOCK
  25. bool
  26. config ARCH_INLINE_READ_LOCK
  27. bool
  28. config ARCH_INLINE_READ_LOCK_BH
  29. bool
  30. config ARCH_INLINE_READ_LOCK_IRQ
  31. bool
  32. config ARCH_INLINE_READ_LOCK_IRQSAVE
  33. bool
  34. config ARCH_INLINE_READ_UNLOCK
  35. bool
  36. config ARCH_INLINE_READ_UNLOCK_BH
  37. bool
  38. config ARCH_INLINE_READ_UNLOCK_IRQ
  39. bool
  40. config ARCH_INLINE_READ_UNLOCK_IRQRESTORE
  41. bool
  42. config ARCH_INLINE_WRITE_TRYLOCK
  43. bool
  44. config ARCH_INLINE_WRITE_LOCK
  45. bool
  46. config ARCH_INLINE_WRITE_LOCK_BH
  47. bool
  48. config ARCH_INLINE_WRITE_LOCK_IRQ
  49. bool
  50. config ARCH_INLINE_WRITE_LOCK_IRQSAVE
  51. bool
  52. config ARCH_INLINE_WRITE_UNLOCK
  53. bool
  54. config ARCH_INLINE_WRITE_UNLOCK_BH
  55. bool
  56. config ARCH_INLINE_WRITE_UNLOCK_IRQ
  57. bool
  58. config ARCH_INLINE_WRITE_UNLOCK_IRQRESTORE
  59. bool
  60. #
  61. # lock_* functions are inlined when:
  62. # - DEBUG_SPINLOCK=n and GENERIC_LOCKBREAK=n and ARCH_INLINE_*LOCK=y
  63. #
  64. # trylock_* functions are inlined when:
  65. # - DEBUG_SPINLOCK=n and ARCH_INLINE_*LOCK=y
  66. #
  67. # unlock and unlock_irq functions are inlined when:
  68. # - DEBUG_SPINLOCK=n and ARCH_INLINE_*LOCK=y
  69. # or
  70. # - DEBUG_SPINLOCK=n and PREEMPT=n
  71. #
  72. # unlock_bh and unlock_irqrestore functions are inlined when:
  73. # - DEBUG_SPINLOCK=n and ARCH_INLINE_*LOCK=y
  74. #
  75. config INLINE_SPIN_TRYLOCK
  76. def_bool !DEBUG_SPINLOCK && ARCH_INLINE_SPIN_TRYLOCK
  77. config INLINE_SPIN_TRYLOCK_BH
  78. def_bool !DEBUG_SPINLOCK && ARCH_INLINE_SPIN_TRYLOCK_BH
  79. config INLINE_SPIN_LOCK
  80. def_bool !DEBUG_SPINLOCK && !GENERIC_LOCKBREAK && ARCH_INLINE_SPIN_LOCK
  81. config INLINE_SPIN_LOCK_BH
  82. def_bool !DEBUG_SPINLOCK && !GENERIC_LOCKBREAK && \
  83. ARCH_INLINE_SPIN_LOCK_BH
  84. config INLINE_SPIN_LOCK_IRQ
  85. def_bool !DEBUG_SPINLOCK && !GENERIC_LOCKBREAK && \
  86. ARCH_INLINE_SPIN_LOCK_IRQ
  87. config INLINE_SPIN_LOCK_IRQSAVE
  88. def_bool !DEBUG_SPINLOCK && !GENERIC_LOCKBREAK && \
  89. ARCH_INLINE_SPIN_LOCK_IRQSAVE
  90. config INLINE_SPIN_UNLOCK
  91. def_bool !DEBUG_SPINLOCK && (!PREEMPT || ARCH_INLINE_SPIN_UNLOCK)
  92. config INLINE_SPIN_UNLOCK_BH
  93. def_bool !DEBUG_SPINLOCK && ARCH_INLINE_SPIN_UNLOCK_BH
  94. config INLINE_SPIN_UNLOCK_IRQ
  95. def_bool !DEBUG_SPINLOCK && (!PREEMPT || ARCH_INLINE_SPIN_UNLOCK_BH)
  96. config INLINE_SPIN_UNLOCK_IRQRESTORE
  97. def_bool !DEBUG_SPINLOCK && ARCH_INLINE_SPIN_UNLOCK_IRQRESTORE
  98. config INLINE_READ_TRYLOCK
  99. def_bool !DEBUG_SPINLOCK && ARCH_INLINE_READ_TRYLOCK
  100. config INLINE_READ_LOCK
  101. def_bool !DEBUG_SPINLOCK && !GENERIC_LOCKBREAK && ARCH_INLINE_READ_LOCK
  102. config INLINE_READ_LOCK_BH
  103. def_bool !DEBUG_SPINLOCK && !GENERIC_LOCKBREAK && \
  104. ARCH_INLINE_READ_LOCK_BH
  105. config INLINE_READ_LOCK_IRQ
  106. def_bool !DEBUG_SPINLOCK && !GENERIC_LOCKBREAK && \
  107. ARCH_INLINE_READ_LOCK_IRQ
  108. config INLINE_READ_LOCK_IRQSAVE
  109. def_bool !DEBUG_SPINLOCK && !GENERIC_LOCKBREAK && \
  110. ARCH_INLINE_READ_LOCK_IRQSAVE
  111. config INLINE_READ_UNLOCK
  112. def_bool !DEBUG_SPINLOCK && (!PREEMPT || ARCH_INLINE_READ_UNLOCK)
  113. config INLINE_READ_UNLOCK_BH
  114. def_bool !DEBUG_SPINLOCK && ARCH_INLINE_READ_UNLOCK_BH
  115. config INLINE_READ_UNLOCK_IRQ
  116. def_bool !DEBUG_SPINLOCK && (!PREEMPT || ARCH_INLINE_READ_UNLOCK_BH)
  117. config INLINE_READ_UNLOCK_IRQRESTORE
  118. def_bool !DEBUG_SPINLOCK && ARCH_INLINE_READ_UNLOCK_IRQRESTORE
  119. config INLINE_WRITE_TRYLOCK
  120. def_bool !DEBUG_SPINLOCK && ARCH_INLINE_WRITE_TRYLOCK
  121. config INLINE_WRITE_LOCK
  122. def_bool !DEBUG_SPINLOCK && !GENERIC_LOCKBREAK && ARCH_INLINE_WRITE_LOCK
  123. config INLINE_WRITE_LOCK_BH
  124. def_bool !DEBUG_SPINLOCK && !GENERIC_LOCKBREAK && \
  125. ARCH_INLINE_WRITE_LOCK_BH
  126. config INLINE_WRITE_LOCK_IRQ
  127. def_bool !DEBUG_SPINLOCK && !GENERIC_LOCKBREAK && \
  128. ARCH_INLINE_WRITE_LOCK_IRQ
  129. config INLINE_WRITE_LOCK_IRQSAVE
  130. def_bool !DEBUG_SPINLOCK && !GENERIC_LOCKBREAK && \
  131. ARCH_INLINE_WRITE_LOCK_IRQSAVE
  132. config INLINE_WRITE_UNLOCK
  133. def_bool !DEBUG_SPINLOCK && (!PREEMPT || ARCH_INLINE_WRITE_UNLOCK)
  134. config INLINE_WRITE_UNLOCK_BH
  135. def_bool !DEBUG_SPINLOCK && ARCH_INLINE_WRITE_UNLOCK_BH
  136. config INLINE_WRITE_UNLOCK_IRQ
  137. def_bool !DEBUG_SPINLOCK && (!PREEMPT || ARCH_INLINE_WRITE_UNLOCK_BH)
  138. config INLINE_WRITE_UNLOCK_IRQRESTORE
  139. def_bool !DEBUG_SPINLOCK && ARCH_INLINE_WRITE_UNLOCK_IRQRESTORE
  140. config MUTEX_SPIN_ON_OWNER
  141. def_bool SMP && !DEBUG_MUTEXES