diff options
author | Arnd Bergmann <arnd@arndb.de> | 2010-09-11 12:00:57 -0400 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2010-10-21 09:44:13 -0400 |
commit | 6de5bd128d381ad88ac6d419a5e597048eb468cf (patch) | |
tree | 7b3a0440f645c6e98367a87b1ca0ed1e0df204dd /drivers | |
parent | 7ff52efdca367d4bfe2449bd3d4a1f8172c5953a (diff) |
BKL: introduce CONFIG_BKL.
With all the patches we have queued in the BKL removal tree, only a
few dozen modules are left that actually rely on the BKL, and even
there are lots of low-hanging fruit. We need to decide what to do
about them, this patch illustrates one of the options:
Every user of the BKL is marked as 'depends on BKL' in Kconfig,
and the CONFIG_BKL becomes a user-visible option. If it gets
disabled, no BKL using module can be built any more and the BKL
code itself is compiled out.
The one exception is file locking, which is practically always
enabled and does a 'select BKL' instead. This effectively forces
CONFIG_BKL to be enabled until we have solved the fs/lockd
mess and can apply the patch that removes the BKL from fs/locks.c.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/gpu/drm/Kconfig | 5 | ||||
-rw-r--r-- | drivers/media/Kconfig | 1 | ||||
-rw-r--r-- | drivers/net/appletalk/Kconfig | 1 | ||||
-rw-r--r-- | drivers/staging/cx25821/Kconfig | 1 | ||||
-rw-r--r-- | drivers/staging/easycap/Kconfig | 1 | ||||
-rw-r--r-- | drivers/staging/go7007/Kconfig | 1 | ||||
-rw-r--r-- | drivers/staging/usbip/Kconfig | 2 |
7 files changed, 10 insertions, 2 deletions
diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig index 4cab0c6397e3..7af443672626 100644 --- a/drivers/gpu/drm/Kconfig +++ b/drivers/gpu/drm/Kconfig | |||
@@ -73,7 +73,8 @@ source "drivers/gpu/drm/radeon/Kconfig" | |||
73 | 73 | ||
74 | config DRM_I810 | 74 | config DRM_I810 |
75 | tristate "Intel I810" | 75 | tristate "Intel I810" |
76 | depends on DRM && AGP && AGP_INTEL | 76 | # BKL usage in order to avoid AB-BA deadlocks, may become BROKEN_ON_SMP |
77 | depends on DRM && AGP && AGP_INTEL && BKL | ||
77 | help | 78 | help |
78 | Choose this option if you have an Intel I810 graphics card. If M is | 79 | Choose this option if you have an Intel I810 graphics card. If M is |
79 | selected, the module will be called i810. AGP support is required | 80 | selected, the module will be called i810. AGP support is required |
@@ -86,6 +87,8 @@ choice | |||
86 | 87 | ||
87 | config DRM_I830 | 88 | config DRM_I830 |
88 | tristate "i830 driver" | 89 | tristate "i830 driver" |
90 | # BKL usage in order to avoid AB-BA deadlocks, i830 may get removed | ||
91 | depends on BKL | ||
89 | help | 92 | help |
90 | Choose this option if you have a system that has Intel 830M, 845G, | 93 | Choose this option if you have a system that has Intel 830M, 845G, |
91 | 852GM, 855GM or 865G integrated graphics. If M is selected, the | 94 | 852GM, 855GM or 865G integrated graphics. If M is selected, the |
diff --git a/drivers/media/Kconfig b/drivers/media/Kconfig index a28541b2b1a2..bad2cedb8d96 100644 --- a/drivers/media/Kconfig +++ b/drivers/media/Kconfig | |||
@@ -19,6 +19,7 @@ comment "Multimedia core support" | |||
19 | 19 | ||
20 | config VIDEO_DEV | 20 | config VIDEO_DEV |
21 | tristate "Video For Linux" | 21 | tristate "Video For Linux" |
22 | depends on BKL # used in many drivers for ioctl handling, need to kill | ||
22 | ---help--- | 23 | ---help--- |
23 | V4L core support for video capture and overlay devices, webcams and | 24 | V4L core support for video capture and overlay devices, webcams and |
24 | AM/FM radio cards. | 25 | AM/FM radio cards. |
diff --git a/drivers/net/appletalk/Kconfig b/drivers/net/appletalk/Kconfig index 0a0e0cd81a23..20f97e7017ce 100644 --- a/drivers/net/appletalk/Kconfig +++ b/drivers/net/appletalk/Kconfig | |||
@@ -3,6 +3,7 @@ | |||
3 | # | 3 | # |
4 | config ATALK | 4 | config ATALK |
5 | tristate "Appletalk protocol support" | 5 | tristate "Appletalk protocol support" |
6 | depends on BKL # waiting to be removed from net/appletalk/ddp.c | ||
6 | select LLC | 7 | select LLC |
7 | ---help--- | 8 | ---help--- |
8 | AppleTalk is the protocol that Apple computers can use to communicate | 9 | AppleTalk is the protocol that Apple computers can use to communicate |
diff --git a/drivers/staging/cx25821/Kconfig b/drivers/staging/cx25821/Kconfig index df7756a95fad..813cb355ac01 100644 --- a/drivers/staging/cx25821/Kconfig +++ b/drivers/staging/cx25821/Kconfig | |||
@@ -1,6 +1,7 @@ | |||
1 | config VIDEO_CX25821 | 1 | config VIDEO_CX25821 |
2 | tristate "Conexant cx25821 support" | 2 | tristate "Conexant cx25821 support" |
3 | depends on DVB_CORE && VIDEO_DEV && PCI && I2C && INPUT | 3 | depends on DVB_CORE && VIDEO_DEV && PCI && I2C && INPUT |
4 | depends on BKL # please fix | ||
4 | select I2C_ALGOBIT | 5 | select I2C_ALGOBIT |
5 | select VIDEO_BTCX | 6 | select VIDEO_BTCX |
6 | select VIDEO_TVEEPROM | 7 | select VIDEO_TVEEPROM |
diff --git a/drivers/staging/easycap/Kconfig b/drivers/staging/easycap/Kconfig index bd96f39f2735..9d5fe4ddc30a 100644 --- a/drivers/staging/easycap/Kconfig +++ b/drivers/staging/easycap/Kconfig | |||
@@ -1,6 +1,7 @@ | |||
1 | config EASYCAP | 1 | config EASYCAP |
2 | tristate "EasyCAP USB ID 05e1:0408 support" | 2 | tristate "EasyCAP USB ID 05e1:0408 support" |
3 | depends on USB && VIDEO_DEV | 3 | depends on USB && VIDEO_DEV |
4 | depends on BKL # please fix | ||
4 | 5 | ||
5 | ---help--- | 6 | ---help--- |
6 | This is an integrated audio/video driver for EasyCAP cards with | 7 | This is an integrated audio/video driver for EasyCAP cards with |
diff --git a/drivers/staging/go7007/Kconfig b/drivers/staging/go7007/Kconfig index e47f683a323e..75fa46805527 100644 --- a/drivers/staging/go7007/Kconfig +++ b/drivers/staging/go7007/Kconfig | |||
@@ -1,6 +1,7 @@ | |||
1 | config VIDEO_GO7007 | 1 | config VIDEO_GO7007 |
2 | tristate "WIS GO7007 MPEG encoder support" | 2 | tristate "WIS GO7007 MPEG encoder support" |
3 | depends on VIDEO_DEV && PCI && I2C && INPUT | 3 | depends on VIDEO_DEV && PCI && I2C && INPUT |
4 | depends on BKL # please fix | ||
4 | depends on SND | 5 | depends on SND |
5 | select VIDEOBUF_DMA_SG | 6 | select VIDEOBUF_DMA_SG |
6 | select VIDEO_IR | 7 | select VIDEO_IR |
diff --git a/drivers/staging/usbip/Kconfig b/drivers/staging/usbip/Kconfig index 2c1d10acb8b5..b11ec379b5c2 100644 --- a/drivers/staging/usbip/Kconfig +++ b/drivers/staging/usbip/Kconfig | |||
@@ -1,6 +1,6 @@ | |||
1 | config USB_IP_COMMON | 1 | config USB_IP_COMMON |
2 | tristate "USB IP support (EXPERIMENTAL)" | 2 | tristate "USB IP support (EXPERIMENTAL)" |
3 | depends on USB && NET && EXPERIMENTAL | 3 | depends on USB && NET && EXPERIMENTAL && BKL |
4 | default N | 4 | default N |
5 | ---help--- | 5 | ---help--- |
6 | This enables pushing USB packets over IP to allow remote | 6 | This enables pushing USB packets over IP to allow remote |