2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-23 04:34:11 +08:00
linux-next/drivers/video/backlight
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
..
88pm860x_bl.c backlight: 88pm860x_bl: remove an unnecessary line continuation 2012-12-17 17:15:17 -08:00
aat2870_bl.c drivers/video/backlight: use devm_ functions 2012-03-23 16:58:33 -07:00
adp5520_bl.c backlight: remove use of __devexit 2012-11-28 12:06:39 -08:00
adp8860_bl.c backlight: remove use of __devexit 2012-11-28 12:06:39 -08:00
adp8870_bl.c backlight: remove use of __devexit 2012-11-28 12:06:39 -08:00
ams369fg06.c backlight: remove use of __devexit 2012-11-28 12:06:39 -08:00
apple_bl.c backlight: remove use of __devexit 2012-11-28 12:06:39 -08:00
atmel-pwm-bl.c backlight: atmel-pwm-bl: fix checkpatch warning 2012-12-17 17:15:14 -08:00
backlight.c backlight: add of_find_backlight_by_node() 2012-12-17 17:15:16 -08:00
corgi_lcd.c backlight: corgi_lcd: Use gpio_set_value_cansleep() to avoid WARN_ON 2012-12-17 17:15:17 -08:00
cr_bllcd.c backlight: cr_bllcd: use pr_err()/pr_info() instead of printk() 2012-05-29 16:22:29 -07:00
da903x_bl.c backlight: da903x_bl: fix checkpatch warning 2012-12-17 17:15:14 -08:00
da9052_bl.c drivers/video/backlight/da9052_bl.c: add missing const 2012-12-17 17:15:16 -08:00
ep93xx_bl.c backlight: remove use of __devexit_p 2012-11-28 12:03:45 -08:00
generic_bl.c backlight: generic_bl: fix checkpatch warning 2012-12-17 17:15:14 -08:00
hp680_bl.c backlight: hp680_bl: fix checkpatch error and warning 2012-12-17 17:15:14 -08:00
ili9320.c drivers/video/backlight/vgg2432a4.c: add missing const 2012-12-17 17:15:16 -08:00
ili9320.h drivers/video/backlight/vgg2432a4.c: add missing const 2012-12-17 17:15:16 -08:00
jornada720_bl.c backlight: jornada720: fix checkpatch error and warning 2012-12-17 17:15:15 -08:00
jornada720_lcd.c backlight: jornada720: use pr_err()/pr_info() instead of printk() 2012-05-29 16:22:29 -07:00
kb3886_bl.c drivers/video/backlight/kb3886_bl.c: use usleep_range() instead of msleep() for small sleeps 2012-10-06 03:04:52 +09:00
Kconfig backlight: ili9320: add missing SPI dependency 2012-10-25 14:37:52 -07:00
l4f00242t03.c backlight: l4f00242t03: fix checkpatch warning 2012-12-17 17:15:15 -08:00
lcd.c drivers/video/backlight/lcd.c: return ENXIO when ops functions cannot be called 2012-12-17 17:15:17 -08:00
ld9040_gamma.h drivers/vidfeo/backlight: ld9040 amoled driver support 2011-03-22 17:43:59 -07:00
ld9040.c backlight: remove use of __devexit 2012-11-28 12:06:39 -08:00
lm3533_bl.c backlight: remove use of __devexit 2012-11-28 12:06:39 -08:00
lm3630_bl.c backlight: lm3630: fix checkpatch warning 2012-12-17 17:15:15 -08:00
lm3639_bl.c drivers/video/backlight/lm3639_bl.c: fix up world writable sysfs file 2012-12-17 17:15:16 -08:00
lms283gf05.c drivers/video/backlight/lms283gf05.c: use GPIOF_INIT flags when using devm_gpio_request_one() 2012-12-17 17:15:17 -08:00
locomolcd.c ARM: fix lcd power build failure in collie_defconfig 2012-04-02 22:03:44 -07:00
lp855x_bl.c drivers/video/backlight/lp855x_bl.c: remove unnecessary mutex code 2012-12-17 17:15:16 -08:00
ltv350qv.c backlight: remove use of __devexit 2012-11-28 12:06:39 -08:00
ltv350qv.h backlight: Add Samsung LTV350QV LCD driver 2007-10-11 22:24:12 +01:00
Makefile Merge branch 'akpm' (Andrew's patch-bomb) 2012-10-06 03:09:16 +09:00
max8925_bl.c drivers/video/backlight/max8925_bl.c: drop devm_kfree of devm_kzalloc'd data 2012-12-17 17:15:16 -08:00
omap1_bl.c backlight: omap1: fix checkpatch warning 2012-12-17 17:15:15 -08:00
ot200_bl.c backlight: ot200_bl: use devm_gpio_request() 2012-07-30 17:25:15 -07:00
pandora_bl.c drivers/video/backlight/pandora_bl.c: change TWL4030_MODULE_PWM0 to TWL_MODULE_PWM 2012-12-17 17:15:17 -08:00
pcf50633-backlight.c backlight: pcf50633: fix checkpatch warning 2012-12-17 17:15:15 -08:00
platform_lcd.c backlight: platform_lcd: fix checkpatch error 2012-12-17 17:15:15 -08:00
pwm_bl.c pwm-backlight: Use devm_pwm_get() instead of pwm_get() 2012-10-05 20:56:39 +02:00
s6e63m0_gamma.h backlight: add S6E63M0 AMOLED LCD Panel driver 2010-05-26 17:34:16 +01:00
s6e63m0.c drivers/video/backlight/s6e63m0.c: remove unnecessary cast of void pointer 2012-12-17 17:15:16 -08:00
tdo24m.c drivers/video/backlight/tdo24m.c: add missing const 2012-12-17 17:15:16 -08:00
tosa_bl.c backlight: tosa: use devm_gpio_request_one 2012-12-17 17:15:15 -08:00
tosa_lcd.c backlight: tosa: use devm_gpio_request_one 2012-12-17 17:15:15 -08:00
tps65217_bl.c backlight: tps65217_bl: Add missing platform_set_drvdata in tps65217_bl_probe 2012-10-01 00:56:12 +02:00
vgg2432a4.c drivers/video/backlight/vgg2432a4.c: add missing const 2012-12-17 17:15:16 -08:00
wm831x_bl.c backlight: initialize struct backlight_properties properly 2012-05-29 16:22:30 -07:00