linux/drivers/video
Tomi Valkeinen b41deecbda OMAPFB: simplify locking
Kernel lock verification code has lately detected possible circular
locking in omapfb. The exact problem is unclear, but omapfb's current
locking seems to be overly complex.

This patch simplifies the locking in the following ways:

- Remove explicit omapfb mem region locking. I couldn't figure out the
  need for this, as long as we take care to take omapfb lock.

- Get omapfb lock always, even if the operation is possibly only related
  to one fb_info. Better safe than sorry, and normally there's only one
  user for the fb so this shouldn't matter.

- Make sure fb_info lock is taken first, then omapfb lock.

With this patch the warnings about possible circular locking does not
happen anymore.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
2012-12-07 16:55:03 +02:00
..
aty mm: kill vma flag VM_RESERVED and mm->reserved_vm counter 2012-10-09 16:22:19 +09:00
backlight backlight: ili9320: add missing SPI dependency 2012-10-25 14:37:52 -07:00
console drivers: console: font_: Change a glyph from "broken bar" to "vertical line" 2012-09-22 21:14:22 +00:00
exynos fbdev updates for 3.7 2012-10-12 10:21:02 +09:00
geode sections: fix section conflicts in drivers/video 2012-10-06 03:04:44 +09:00
i810 sections: fix section conflicts in drivers/video 2012-10-06 03:04:44 +09:00
intelfb drivers/video/intelfb/intelfbdrv.c: add missing agp_backend_release 2012-05-13 13:05:24 +00:00
kyro kyrofb: fix on x86_64 2012-04-08 14:27:08 +00:00
logo module_param: make bool parameters really bool (drivers & misc) 2012-01-13 09:32:20 +10:30
matrox i2c: Split I2C_M_NOSTART support out of I2C_FUNC_PROTOCOL_MANGLING 2012-05-30 10:55:34 +02:00
mb862xx drivers/video/mb862xx/mb862xxfbdrv.c: fix error return code 2012-09-22 21:41:51 +00:00
mbx video: mbxfb: Include linux/io.h instead of asm/io.h 2012-09-22 21:19:38 +00:00
msm fbdev updates for 3.7 2012-10-12 10:21:02 +09:00
nvidia drivers/video/nvidia/nvidia.c: fix warning 2012-01-12 20:13:03 -08:00
omap fbdev updates for 3.7 2012-10-12 10:21:02 +09:00
omap2 OMAPFB: simplify locking 2012-12-07 16:55:03 +02:00
riva riva/fbdev: fix several -Wuninitialized 2012-02-13 02:59:14 +00:00
savage drivers/video/savage/savagefb_driver.c: fix error return code 2012-10-10 02:06:18 +00:00
sis drivers/video/sis/initextlfb.c: removes unnecessary semicolon 2012-09-22 21:35:41 +00:00
vermilion fbdev updates for 3.7 2012-10-12 10:21:02 +09:00
via viafb: don't touch clock state on OLPC XO-1.5 2012-09-22 21:31:01 +00:00
68328fb.c mm: kill vma flag VM_RESERVED and mm->reserved_vm counter 2012-10-09 16:22:19 +09:00
acornfb.c acornfb: use display information in info not in var for panning 2011-08-19 10:29:34 +02:00
acornfb.h
amba-clcd.c fbdev: amba: Enable module alias autogeneration for AMBA drivers 2011-11-22 10:58:33 +00:00
amifb.c fbdev/amifb: Remove write-only variable amifb_inverse 2012-08-23 13:19:46 +00:00
arcfb.c drivers/video/arcfb.c: fix error return code 2012-09-22 21:41:53 +00:00
arkfb.c arkfb: use display information in info not in var for panning 2011-08-19 10:29:44 +02:00
asiliantfb.c
atafb_iplan2p2.c
atafb_iplan2p4.c
atafb_iplan2p8.c
atafb_mfb.c
atafb_utils.h
atafb.c
atafb.h
atmel_lcdfb.c drivers/video/atmel_lcdfb.c: fix error return code 2012-09-22 21:41:52 +00:00
au1100fb.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2012-05-22 19:22:50 -07:00
au1100fb.h fb: fix au1100fb bitrot. 2011-10-03 15:52:38 +00:00
au1200fb.c fbdev: fix au1*fb builds 2012-04-08 14:27:09 +00:00
au1200fb.h
auo_k190x.c drivers/video/auo_k190x.c: drop kfree of devm_kzalloc's data 2012-08-23 12:32:09 +00:00
auo_k190x.h video: auo_k190x: add code shared by controller drivers 2012-04-29 19:35:35 +00:00
auo_k1900fb.c video: auo_k190x: add driver for AUO-K1900 variant 2012-04-29 19:35:40 +00:00
auo_k1901fb.c video: auo_k190x: add driver for AUO-K1901 variant 2012-04-29 19:35:42 +00:00
bf54x-lq043fb.c video: bf*: Add missing spinlock init 2012-09-22 21:35:02 +00:00
bf537-lq035.c drivers/video/bf537-lq035.c: use devm_ functions 2012-08-23 12:59:58 +00:00
bfin_adv7393fb.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2012-07-24 13:34:56 -07:00
bfin_adv7393fb.h
bfin-lq035q1-fb.c video: bf*: Add missing spinlock init 2012-09-22 21:35:02 +00:00
bfin-t350mcqb-fb.c video: bf*: Add missing spinlock init 2012-09-22 21:35:02 +00:00
broadsheetfb.c drivers/video: use correct __devexit_p annotation 2012-06-09 12:51:11 +00:00
bt431.h Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
bt455.h Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
bw2.c drivers/video/bw2.c: fix error return code 2012-09-22 21:41:52 +00:00
c2p_core.h
c2p_iplan2.c
c2p_planar.c
c2p.h
carminefb_regs.h
carminefb.c video: Add module.h to drivers/video files who really use it. 2011-10-31 19:31:33 -04:00
carminefb.h
cfbcopyarea.c
cfbfillrect.c
cfbimgblt.c
cg3.c drivers/video/cg3.c: fix error return code 2012-09-22 21:41:51 +00:00
cg6.c
cg14.c
chipsfb.c
cirrusfb.c video: Fix typo in drivers/video 2012-07-24 12:58:15 +02:00
clps711xfb.c ARM: clps711x: Using a single definition for the PHYS and VIRT registers offset 2012-05-11 16:18:01 +02:00
cobalt_lcdfb.c drivers/video/cobalt_lcdfb.c: use devm_ functions 2012-08-23 12:59:02 +00:00
controlfb.c Drivers: video: controlfb: fixed a brace coding style issue 2011-11-22 01:00:16 +00:00
controlfb.h
cyber2000fb.c drivers/video/cyber2000fb.c: fix error return code 2012-09-22 21:41:52 +00:00
cyber2000fb.h
da8xx-fb.c fbdev updates for 3.7 2012-10-12 10:21:02 +09:00
dnfb.c Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
edid.h
efifb.c efifb: Skip DMI checks if the bootloader knows what it's doing 2012-09-17 13:29:23 +01:00
ep93xx-fb.c fbdev updates for 3.7 2012-10-12 10:21:02 +09:00
fb_ddc.c video: Add module.h to drivers/video files who really use it. 2011-10-31 19:31:33 -04:00
fb_defio.c mm: kill vma flag VM_RESERVED and mm->reserved_vm counter 2012-10-09 16:22:19 +09:00
fb_draw.h fbdev: Make pixel_to_pat() failure mode more friendly 2012-07-29 12:25:06 +00:00
fb_notify.c video: Add export.h for THIS_MODULE/EXPORT_SYMBOL to drivers/video 2011-10-31 19:31:33 -04:00
fb_sys_fops.c
fb-puv3.c mm: kill vma flag VM_RESERVED and mm->reserved_vm counter 2012-10-09 16:22:19 +09:00
fbcmap.c
fbcvt.c
fbmem.c mm: kill vma flag VM_RESERVED and mm->reserved_vm counter 2012-10-09 16:22:19 +09:00
fbmon.c fbdev: fix parsing of standard timings 2011-09-01 00:31:05 +00:00
fbsysfs.c fb: handle NULL pointers in framebuffer release 2012-05-29 13:00:03 +00:00
ffb.c
fm2fb.c
fsl-diu-fb.c drivers/video/fsl-diu-fb.c: use devm_ functions 2012-08-23 13:06:12 +00:00
g364fb.c g364fb: use display information in info not in var for panning 2011-08-19 10:31:09 +02:00
gbefb.c fbdev updates for 3.7 2012-10-12 10:21:02 +09:00
grvga.c grvga: Fix error handling issues 2012-07-08 14:03:17 +00:00
gxt4500.c sections: fix section conflicts in drivers/video 2012-10-06 03:04:44 +09:00
hecubafb.c hecubafb: add module_put on error path in hecubafb_probe() 2011-06-24 17:00:39 +09:00
hgafb.c module_param: make bool parameters really bool (drivers & misc) 2012-01-13 09:32:20 +10:30
hitfb.c
hpfb.c video: hpfb: Fix error handling 2012-09-22 21:16:20 +00:00
i740_reg.h Resurrect Intel740 driver: i740fb 2012-02-15 04:31:21 +00:00
i740fb.c video: Fix typo in drivers/video 2012-07-24 12:58:15 +02:00
igafb.c doc: fix broken references 2011-09-27 18:08:04 +02:00
imsttfb.c imsttfb: use display information in info not in var for panning 2011-08-19 10:31:39 +02:00
imxfb.c fbdev updates for 3.7 2012-10-12 10:21:02 +09:00
jz4740_fb.c fbdev updates for 3.7 2012-10-12 10:21:02 +09:00
Kconfig fbdev updates for 3.7 2012-10-12 10:21:02 +09:00
leo.c
macfb.c macfb: fix black and white modes 2012-01-22 14:50:02 +01:00
macmodes.c
macmodes.h
Makefile fbdev updates for 3.7 2012-10-12 10:21:02 +09:00
maxinefb.c
metronomefb.c video: Convert vmalloc/memset to vzalloc 2011-06-02 17:25:35 +09:00
modedb.c fbdev: fix indentation in modedb.c 2011-09-14 16:40:52 +00:00
mx3fb.c fbdev updates for 3.7 2012-10-12 10:21:02 +09:00
mxsfb.c video: mxsfb: add simple device tree probe 2012-07-03 13:22:37 +08:00
n411.c
neofb.c Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
nuc900fb.c fbdev updates for 3.7 2012-10-12 10:21:02 +09:00
nuc900fb.h ARM: w90x900: move platform_data definitions 2012-09-14 11:18:59 +02:00
offb.c offb: Fix setting of the pseudo-palette for >8bpp 2012-01-03 12:09:25 +11:00
output.c
p9100.c
platinumfb.c video: platinumfb: Add __devexit_p at necessary place 2011-10-15 00:19:58 +00:00
platinumfb.h
pm2fb.c module_param: make bool parameters really bool (drivers & misc) 2012-01-13 09:32:20 +10:30
pm3fb.c module_param: make bool parameters really bool (drivers & misc) 2012-01-13 09:32:20 +10:30
pmag-aa-fb.c
pmag-ba-fb.c Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
pmagb-b-fb.c Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
ps3fb.c fbdev updates for 3.7 2012-10-12 10:21:02 +09:00
pvr2fb.c drivers/video/pvr2fb.c: ensure arguments to request_irq and free_irq are compatible 2012-03-13 23:17:31 +00:00
pxa3xx-gcu.c video: pxa3xx-gcu: Simplify the logic to exit while loop in pxa3xx_gcu_wait_idle 2012-04-09 16:18:15 +00:00
pxa3xx-gcu.h
pxa168fb.c drivers/video/pxa168fb.c: use devm_ functions 2012-02-24 00:49:59 +00:00
pxa168fb.h
pxafb.c ARM: pxa: move platform_data definitions 2012-09-14 11:18:10 +02:00
pxafb.h
q40fb.c Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
s1d13xxxfb.c
s3c2410fb.c video: s3c2410: fix checkpatch warnings 2012-09-22 21:37:56 +00:00
s3c2410fb.h
s3c-fb.c video: s3c-fb: use clk_prepare_enable and clk_disable_unprepare 2012-10-10 02:06:00 +00:00
s3fb.c s3fb: Add Virge/MX (86C260) 2012-07-08 14:03:50 +00:00
sa1100fb.c FB: sa11x0: convert to use platform resource and ioremap() 2012-02-24 09:39:59 +00:00
sa1100fb.h FB: sa11x0: convert to use platform resource and ioremap() 2012-02-24 09:39:59 +00:00
sbuslib.c mm: kill vma flag VM_RESERVED and mm->reserved_vm counter 2012-10-09 16:22:19 +09:00
sbuslib.h
sgivwfb.c
sh7760fb.c video: convert drivers/video/* to use module_platform_driver() 2011-12-03 22:08:42 +00:00
sh_mipi_dsi.c fbdev: sh_mipi_dsi: fix a section mismatch 2012-06-20 10:02:53 +02:00
sh_mobile_hdmi.c fbdev: sh_mobile_hdmi: add HDMI Control Register support 2012-05-13 13:07:59 +00:00
sh_mobile_lcdcfb.c fbdev: sh_mobile_lcdc: Fix vertical panning step 2012-07-29 01:17:07 +00:00
sh_mobile_lcdcfb.h fbdev: sh_mobile_lcdc: Fix pan offset computation in YUV mode 2012-07-19 12:15:26 +02:00
sh_mobile_meram.c sh_mobile_meram: Add direct MERAM allocation API 2012-07-19 02:05:22 +02:00
skeletonfb.c skeletonfb: fixed module exit function typo. 2012-04-15 21:44:02 +00:00
sm501fb.c video: convert drivers/video/* to use module_platform_driver() 2011-12-03 22:08:42 +00:00
smscufx.c mm: kill vma flag VM_RESERVED and mm->reserved_vm counter 2012-10-09 16:22:19 +09:00
sstfb.c module_param: make bool parameters really bool (drivers & misc) 2012-01-13 09:32:20 +10:30
sticore.h
stifb.c
sunxvr500.c drivers/video/sunxvr500.c: fix error return code 2012-09-22 21:41:51 +00:00
sunxvr1000.c drivers/video/sunxvr1000.c: fix error return code 2012-09-22 21:41:51 +00:00
sunxvr2500.c drivers/video/sunxvr2500.c: fix error return code 2012-08-23 13:21:48 +00:00
svgalib.c
syscopyarea.c
sysfillrect.c
sysimgblt.c
tcx.c
tdfxfb.c module_param: make bool parameters really bool (drivers & misc) 2012-01-13 09:32:20 +10:30
tgafb.c
tmiofb.c tmiofb: missing NULL pointer checks 2012-09-01 08:51:03 -07:00
tridentfb.c tridentfb: use display information in info not in var for panning 2011-08-19 10:35:18 +02:00
udlfb.c fbdev updates for 3.7 2012-10-12 10:21:02 +09:00
uvesafb.c video:uvesafb: check the return value of kzalloc 2012-08-23 13:18:08 +00:00
valkyriefb.c video: Fix speficied typo 2011-06-24 17:14:39 +09:00
valkyriefb.h
vesafb.c vesafb: fix memory leak 2011-07-04 16:02:48 +09:00
vfb.c mm: kill vma flag VM_RESERVED and mm->reserved_vm counter 2012-10-09 16:22:19 +09:00
vga16fb.c vga16fb: use display information in info not in var for panning 2011-08-19 10:35:34 +02:00
vgastate.c
vt8500lcdfb.c ARM: soc: multiplatform enablement 2012-10-01 19:11:38 -07:00
vt8500lcdfb.h
vt8623fb.c vt8623fb: use display information in info not in var for panning 2011-08-19 10:36:20 +02:00
w100fb.c video: w100fb: Reduce sleep mode battery discharge 2012-07-08 14:03:02 +00:00
w100fb.h
wm8505fb_regs.h
wm8505fb.c ARM: soc: multiplatform enablement 2012-10-01 19:11:38 -07:00
wmt_ge_rops.c video: vt8500: Add devicetree support for vt8500-fb and wm8505-fb 2012-09-21 19:23:56 +12:00
wmt_ge_rops.h
xen-fbfront.c xen-fbfront: handle backend CLOSED without CLOSING 2012-10-30 09:28:17 -04:00
xilinxfb.c video: convert drivers/video/* to use module_platform_driver() 2011-12-03 22:08:42 +00:00