WSL2-Linux-Kernel/drivers/video
Marko Katic 1581b088fc backlight: corgi_lcd: Use gpio_set_value_cansleep() to avoid WARN_ON
Changing backlight intensity on an Akita (Sharp Zaurus C-1000) triggers
WARN_ON message:

  WARNING: at drivers/gpio/gpiolib.c:1672 __gpio_set_value+0x38/0xa4()
  Modules linked in:
  Backtrace:
    corgi_bl_set_intensity+0x0/0x74
    corgi_bl_update_status+0x0/0x64
    corgi_lcd_probe+0x0/0x258
    spi_drv_probe+0x0/0x24
    driver_probe_device+0x0/0x208
    __driver_attach+0x0/0x94
    bus_for_each_dev+0x0/0x90
    driver_attach+0x0/0x28
    bus_add_driver+0x0/0x22c
    driver_register+0x0/0x134
    spi_register_driver+0x0/0x60
    corgi_lcd_driver_init+0x0/0x1c
    do_one_initcall+0x0/0x174
    kernel_init+0x0/0x2a8

Akita machines have backlight controls hooked to a gpio expander chip,
max7310 using i2c transfers which can sleep.  In this case,
pca953x_gpio_set_value() can be called to control gpio, and
pca953x_setup_gpio() sets can_sleep flag.  Therefore,
gpio_set_value_cansleep() should be used in order to avoid WARN_ON on
akita machines.

Akita is the only exception in this case since other users of corgi_lcd
access backlight gpio controls through a different gpio expander which
does not set the can_sleep flag.

Signed-off-by: Marko Katic <dromede@gmail.com>
Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Grant Likely <grant.likely@secretlab.ca>
Cc: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
Cc: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2012-12-17 17:15:17 -08:00
..
aty mm: kill vma flag VM_RESERVED and mm->reserved_vm counter 2012-10-09 16:22:19 +09:00
backlight backlight: corgi_lcd: Use gpio_set_value_cansleep() to avoid WARN_ON 2012-12-17 17:15:17 -08:00
console fbdev changes for 3.8: 2012-12-15 13:03:48 -08:00
exynos video: exynos_dp: remove redundant parameters 2012-11-29 10:33:28 +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 ARM: OMAP: Move plat-omap/dma-omap.h to include/linux/omap-dma.h 2012-11-30 08:41:50 -08:00
omap2 ARM: OMAP: Fix drivers to depend on omap for internal devices 2012-12-16 15:23:37 -08: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
Kconfig drivers/video: add support for the Solomon SSD1307 OLED Controller 2012-12-10 11:33:53 +02:00
Makefile drivers/video: add support for the Solomon SSD1307 OLED Controller 2012-12-10 11:33:53 +02:00
acornfb.c
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
asiliantfb.c
atafb.c
atafb.h
atafb_iplan2p2.c
atafb_iplan2p4.c
atafb_iplan2p8.c
atafb_mfb.c
atafb_utils.h
atmel_lcdfb.c arm: at91: move platfarm_data to include/linux/platform_data/atmel.h 2012-11-06 20:29:33 +08: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-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
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
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.h
c2p_core.h
c2p_iplan2.c
c2p_planar.c
carminefb.c video: Add module.h to drivers/video files who really use it. 2011-10-31 19:31:33 -04:00
carminefb.h
carminefb_regs.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: Moving backlight controls of framebuffer driver to the board 2012-11-21 09:57:45 -08: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 da8xx: Fix revision check on the da8xx driver 2012-12-04 11:19:41 +02: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-puv3.c mm: kill vma flag VM_RESERVED and mm->reserved_vm counter 2012-10-09 16:22:19 +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
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
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: store EDID data in the global object 2012-11-26 13:41:20 -06:00
g364fb.c
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
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
imsttfb.c
imxfb.c video: imxfb: remove cpu_is_xxx by using platform_device_id 2012-10-15 10:05:42 +08:00
jz4740_fb.c 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
maxinefb.c
metronomefb.c
modedb.c
mx3fb.c video: mx3fb: remove unneeded mach/hardware.h inclusion 2012-10-15 10:03:14 +08: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
s3c-fb.c video: s3c-fb: fix red offset and length for ARGB232 format 2012-11-26 13:35:36 +09:00
s3c2410fb.c video: s3c2410: fix checkpatch warnings 2012-09-22 21:37:56 +00:00
s3c2410fb.h
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: Remove last reference to LCDC platform data 2012-11-21 15:50:01 +01: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: Make sh_mobile_lcdc_sys_bus_ops static 2012-11-21 15:50:02 +01:00
sh_mobile_lcdcfb.h fbdev: sh_mobile_lcdc: Store the backlight brightness internally 2012-11-21 15:50:01 +01: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
ssd1307fb.c drivers/video: add support for the Solomon SSD1307 OLED Controller 2012-12-10 11:33:53 +02: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
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
valkyriefb.h
vesafb.c
vfb.c mm: kill vma flag VM_RESERVED and mm->reserved_vm counter 2012-10-09 16:22:19 +09:00
vga16fb.c
vgastate.c
vt8500lcdfb.c ARM: soc: multiplatform enablement 2012-10-01 19:11:38 -07:00
vt8500lcdfb.h
vt8623fb.c
w100fb.c video: w100fb: Reduce sleep mode battery discharge 2012-07-08 14:03:02 +00:00
w100fb.h
wm8505fb.c ARM: soc: multiplatform enablement 2012-10-01 19:11:38 -07:00
wm8505fb_regs.h
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