linux/drivers/staging
Arnd Bergmann 2a48fc0ab2 block: autoconvert trivial BKL users to private mutex
The block device drivers have all gained new lock_kernel
calls from a recent pushdown, and some of the drivers
were already using the BKL before.

This turns the BKL into a set of per-driver mutexes.
Still need to check whether this is safe to do.

file=$1
name=$2
if grep -q lock_kernel ${file} ; then
    if grep -q 'include.*linux.mutex.h' ${file} ; then
            sed -i '/include.*<linux\/smp_lock.h>/d' ${file}
    else
            sed -i 's/include.*<linux\/smp_lock.h>.*$/include <linux\/mutex.h>/g' ${file}
    fi
    sed -i ${file} \
        -e "/^#include.*linux.mutex.h/,$ {
                1,/^\(static\|int\|long\)/ {
                     /^\(static\|int\|long\)/istatic DEFINE_MUTEX(${name}_mutex);

} }"  \
    -e "s/\(un\)*lock_kernel\>[ ]*()/mutex_\1lock(\&${name}_mutex)/g" \
    -e '/[      ]*cycle_kernel_lock();/d'
else
    sed -i -e '/include.*\<smp_lock.h\>/d' ${file}  \
                -e '/cycle_kernel_lock()/d'
fi

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2010-10-05 15:01:10 +02:00
..
adis16255
asus_oled
batman-adv Staging: batman-adv: Don't write in not allocated packet_buff 2010-08-23 18:15:38 -07:00
comedi staging: comedi das08_cs.c: Fix io_req_t conversion 2010-09-03 17:37:15 -07:00
crystalhd Staging: autoconvert trivial BKL users to private mutex 2010-07-22 11:10:29 -07:00
cx25821 Staging: Merge staging-next into Linus's tree 2010-08-05 14:18:03 -07:00
cxt1e1
dream Staging: dream: pmem: remove casts from void* 2010-07-08 13:49:36 -07:00
dt3155v4l
easycap staging: Pushdown bkl to easycap ioctl handlers 2010-08-09 03:28:40 +02:00
echo
et131x
frontier
go7007
hv block: autoconvert trivial BKL users to private mutex 2010-10-05 15:01:10 +02:00
iio staging: iio: ring_sw Fix pointer arithmetic for 64bit arches by using phys_addr_t 2010-08-02 17:06:04 -07:00
line6 Staging: line6: needs to select SND_PCM 2010-07-28 08:20:55 -07:00
lirc V4L/DVB: STAGING: remove lirc_ene0100 driver 2010-08-08 23:43:00 -03:00
memrar Staging: Merge staging-next into Linus's tree 2010-08-05 14:18:03 -07:00
mrst-touchscreen Staging: mrst-touchscreen: fix dereferencing free memory 2010-06-30 08:18:14 -07:00
msm staging: msm: remove video drivers for obsolete platforms 2010-07-26 15:39:31 -07:00
octeon Staging: octeon: depends on NETDEVICES 2010-09-03 17:37:16 -07:00
otus Staging: comedi : fix brace coding style issue in wwrap.c 2010-08-02 18:27:42 -07:00
panel staging: panel: fix error path 2010-08-02 18:23:45 -07:00
phison
pohmelfs fs: fs_struct rwlock to spinlock 2010-08-18 08:35:46 -04:00
quatech_usb2 Staging: quatech_usb2: remove unused qt2_box_flush function 2010-08-02 18:25:27 -07:00
quickstart Staging: quickstart: depends on INPUT 2010-08-02 18:12:46 -07:00
rt2860 Staging: rt2870sta: Add more device IDs from vendor drivers 2010-09-03 17:37:15 -07:00
rt2870
rtl8187se param: remove unnecessary writable charp 2010-08-11 23:04:27 +09:30
rtl8192e param: remove unnecessary writable charp 2010-08-11 23:04:27 +09:30
rtl8192su param: remove unnecessary writable charp 2010-08-11 23:04:27 +09:30
rtl8192u Staging: Merge staging-next into Linus's tree 2010-08-05 14:18:03 -07:00
samsung-laptop
serqt_usb2
slicoss Staging: slicoss: Remove net_device_stats from the driver's private 2010-08-02 18:25:26 -07:00
sm7xx staging: sm7xx: Fixup of the section mismatch 2010-07-22 14:32:59 -07:00
solo6x10 Staging: solo: add delay.h header 2010-07-08 13:57:58 -07:00
spectra block: autoconvert trivial BKL users to private mutex 2010-10-05 15:01:10 +02:00
ti-st Staging: ti-st: update TODO 2010-08-02 18:28:40 -07:00
tidspbridge staging: ti dspbridge: avoid errors if stream id is zero 2010-08-02 17:11:03 -07:00
tm6000 V4L/DVB: tm6000-input: Make checkpatch.pl happy 2010-08-02 15:29:35 -03:00
udlfb
usbip USB: convert usb_hcd bitfields into atomic flags 2010-08-10 14:35:37 -07:00
vme Staging: autoconvert trivial BKL users to private mutex 2010-07-22 11:10:29 -07:00
vt6655 Staging: vt6655: replace BOOL with in kernel bool 2010-08-02 18:17:57 -07:00
vt6656 staging: vt6656: removed NTSTATUS definition 2010-08-02 18:19:04 -07:00
winbond Staging: Merge staging-next into Linus's tree 2010-08-05 14:18:03 -07:00
wlags49_h2 Merge git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6 2010-08-06 12:25:06 -07:00
wlags49_h25
wlan-ng Staging: wlan-ng: Explicitly set some fields in cfg80211 interface 2010-09-03 17:37:16 -07:00
xgifb
zram Staging: zram: free device memory when init fails 2010-09-03 17:37:15 -07:00
Kconfig Staging: sep: remove driver 2010-08-23 18:15:38 -07:00
Makefile Staging: sep: remove driver 2010-08-23 18:15:38 -07:00
staging.c