linux/drivers/video
Arun Murthy fef7764f8b backlight: add low threshold to pwm backlight
The intensity of the backlight can be varied from a range of
max_brightness to zero.  Though most, if not all the pwm based backlight
devices start flickering at lower brightness value.  And also for each
device there exists a brightness value below which the backlight appears
to be turned off though the value is not equal to zero.

If the range of brightness for a device is from zero to max_brightness.  A
graph is plotted for brightness Vs intensity for the pwm based backlight
device has to be a linear graph.

intensity
	  |   /
	  |  /
	  | /
	  |/
	  ---------
	 0	max_brightness

But pratically on measuring the above we note that the intensity of
backlight goes to zero(OFF) when the value in not zero almost nearing to
zero(some x%).  so the graph looks like

intensity
	  |    /
	  |   /
	  |  /
	  |  |
	  ------------
	 0   x	 max_brightness

In order to overcome this drawback knowing this x% i.e nothing but the low
threshold beyond which the backlight is off and will have no effect, the
brightness value is being offset by the low threshold value(retaining the
linearity of the graph).  Now the graph becomes

intensity
	  |     /
	  |    /
	  |   /
	  |  /
	  -------------
	   0	  max_brightness

With this for each and every digit increment in the brightness from zero
there is a change in the intensity of backlight.  Devices having this
behaviour can set the low threshold brightness(lth_brightness) and pass
the same as platform data else can have it as zero.

[akpm@linux-foundation.org: coding-style fixes]
Signed-off-by: Arun Murthy <arun.murthy@stericsson.com>
Acked-by: Linus Walleij <linus.walleij@stericsson.com>
Acked-by: Richard Purdie <rpurdie@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2010-11-12 07:55:33 -08:00
..
aty Merge branch 'next-devicetree' of git://git.secretlab.ca/git/linux-2.6 2010-10-25 08:19:14 -07:00
backlight backlight: add low threshold to pwm backlight 2010-11-12 07:55:33 -08:00
console fbcon: fix lockdep warning from fbcon_deinit() 2010-09-22 17:22:39 -07:00
display include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
geode lxfb: fix incorrect __init annotation 2010-06-29 15:29:31 -07:00
i810 i2c: Remove unneeded inclusions of <linux/i2c-id.h> 2010-10-24 18:16:58 +02:00
intelfb i2c: Remove unneeded inclusions of <linux/i2c-id.h> 2010-10-24 18:16:58 +02:00
kyro
logo fbdev: move logo externs to header file 2009-06-16 19:47:57 -07:00
matrox drivers/video/matrox/matroxfb_maven.c: fix unsigned return type 2010-10-27 18:03:08 -07:00
mb862xx of/device: Replace struct of_device with struct platform_device 2010-08-06 09:25:50 -06:00
mbx llseek: automatically add .llseek fop 2010-10-15 15:53:27 +02:00
msm drivers/video/msm/mddi.c: Remove multiple KERN_<level> uses 2010-10-27 13:43:21 -07:00
nvidia include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
omap drivers/video/omap/blizzard.c: suspected typo in assignment 2010-10-27 18:03:08 -07:00
omap2 Merge branch 'for-linus' of git://gitorious.org/linux-omap-dss2/linux 2010-10-26 10:02:39 -07:00
pnx4008 include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
riva backlight: Allow properties to be passed at registration 2010-03-16 19:47:54 +00:00
savage savagefb: fix DDC for Savage 4 2010-10-27 18:03:08 -07:00
sis drivers/video/sis/sis_main.c: prevent reading uninitialized stack memory 2010-09-22 17:22:39 -07:00
vermilion include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
via Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6 2010-10-28 09:35:11 -07:00
68328fb.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
acornfb.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
acornfb.h
amba-clcd.c VIDEO: amba clcd: don't disable an already disabled clock 2010-08-17 22:15:09 +01:00
amifb.c m68k: amiga - Frame buffer platform device conversion 2010-05-17 21:37:43 +02:00
arcfb.c Update broken web addresses in the kernel. 2010-10-18 11:03:14 +02:00
arkfb.c arkfb: fix misplaced parentheses 2009-04-01 08:59:32 -07:00
asiliantfb.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
atafb_iplan2p2.c
atafb_iplan2p4.c
atafb_iplan2p8.c
atafb_mfb.c
atafb_utils.h
atafb.c fbdev: atafb - Remove undead ifdef ATAFB_FALCON 2010-10-22 09:43:25 +02:00
atafb.h
atmel_lcdfb.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
au1100fb.c VIDEO: Au1100fb: Fix section mismatch 2010-07-26 19:08:15 +01:00
au1100fb.h
au1200fb.c replace nested max/min macros with {max,min}3 macro 2010-10-26 16:52:12 -07:00
au1200fb.h
bf54x-lq043fb.c fix printk typo 'faild' 2010-08-09 11:25:17 +02:00
bfin-lq035q1-fb.c fbdev: bfin-lq035q1-fb: respect new PPI mode platform field 2010-05-25 08:07:08 -07:00
bfin-t350mcqb-fb.c fix printk typo 'faild' 2010-08-09 11:25:17 +02:00
broadsheetfb.c broadsheetfb: support storing waveform 2010-03-12 15:52:34 -08:00
bt431.h
bt455.h
bw2.c of/device: Replace struct of_device with struct platform_device 2010-08-06 09:25:50 -06:00
c2p_core.h
c2p_iplan2.c
c2p_planar.c fbdev: c2p - Rename c2p to c2p_planar 2009-01-12 20:56:32 +01:00
c2p.h fbdev: c2p - Rename c2p to c2p_planar 2009-01-12 20:56:32 +01:00
carminefb_regs.h
carminefb.c fix typos concerning "initiali[zs]e" 2010-06-16 18:05:05 +02:00
carminefb.h
cfbcopyarea.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
cfbfillrect.c fbdev: fix fillrect for 24bpp modes 2009-05-06 16:36:10 -07:00
cfbimgblt.c
cg3.c of/device: Replace struct of_device with struct platform_device 2010-08-06 09:25:50 -06:00
cg6.c of/device: Replace struct of_device with struct platform_device 2010-08-06 09:25:50 -06:00
cg14.c of/device: Replace struct of_device with struct platform_device 2010-08-06 09:25:50 -06:00
chipsfb.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
cirrusfb.c m68k: amiga - Zorro bus modalias support 2010-05-17 21:37:41 +02:00
clps711xfb.c clps711xfb: convert to proc_fops 2009-12-16 07:20:04 -08:00
cobalt_lcdfb.c cocbalt_lcdfb: correct sections 2010-05-03 15:42:58 +02:00
controlfb.c of/address: Clean up function declarations 2010-08-01 01:42:42 -06:00
controlfb.h
cyber2000fb.c cyber2000fb: fix console in truecolor modes 2010-07-30 23:29:33 +01:00
cyber2000fb.h
da8xx-fb.c fbdev: da8xx/omap-l1xx: implement double buffering 2010-05-25 08:07:09 -07:00
dnfb.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
edid.h
efifb.c efifb: support the EFI framebuffer on more Apple hardware 2010-09-22 17:22:39 -07:00
ep93xx-fb.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
epson1355fb.c Update broken web addresses in the kernel. 2010-10-18 11:03:14 +02:00
fb_ddc.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
fb_defio.c fb_defio: redo fix for non-dirty ptes 2010-06-04 15:21:45 -07:00
fb_draw.h fbdev: fix fillrect for 24bpp modes 2009-05-06 16:36:10 -07:00
fb_notify.c
fb_sys_fops.c
fbcmap.c fbmem: don't call copy_from/to_user() with mutex held 2009-02-05 12:56:46 -08:00
fbcvt.c Update broken web addresses in the kernel. 2010-10-18 11:03:14 +02:00
fbmem.c fbmem: fix fb_read, fb_write unaligned accesses 2010-10-27 18:03:08 -07:00
fbmon.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
fbsysfs.c fbdev: allow passing more than one aperture for handoff 2010-05-18 16:19:27 +10:00
ffb.c of/device: Replace struct of_device with struct platform_device 2010-08-06 09:25:50 -06:00
fm2fb.c m68k: amiga - Zorro bus modalias support 2010-05-17 21:37:41 +02:00
fsl-diu-fb.c of/device: Replace struct of_device with struct platform_device 2010-08-06 09:25:50 -06:00
g364fb.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
gbefb.c drivers/video/gbefb.c: eliminate memory leak 2010-10-27 18:03:08 -07:00
gxt4500.c
hecubafb.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
hgafb.c fbdev: section cleanup in hgafb 2010-05-25 08:07:08 -07:00
hitfb.c hitfb: fix sections 2010-05-25 08:07:09 -07:00
hpfb.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
igafb.c drivers/video/igafb.c: make igafb_setup() and igafb_init() static 2010-08-11 08:59:12 -07:00
imsttfb.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
imxfb.c ARM: 6281/1: video/imxfb.c: allow usage without BACKLIGHT_CLASS_DEVICE 2010-08-10 22:10:51 +01:00
jz4740_fb.c FBDEV: JZ4740: Add framebuffer driver 2010-08-05 13:26:17 +01:00
Kconfig Merge branch 'drm-core-next' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 2010-10-26 18:57:59 -07:00
leo.c of/device: Replace struct of_device with struct platform_device 2010-08-06 09:25:50 -06:00
macfb.c macfb: fix 24-bit visual and stuff 2010-02-27 18:31:16 +01:00
macmodes.c fbdev: add some missing mac modes 2010-02-27 18:31:14 +01:00
macmodes.h
Makefile Merge master.kernel.org:/pub/scm/linux/kernel/git/lethal/genesis-2.6 into devel-stable 2010-08-06 18:13:19 +01:00
maxinefb.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
metronomefb.c Update broken web addresses in the kernel. 2010-10-18 11:03:14 +02:00
modedb.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
mx3fb.c DMAENGINE: extend the control command to include an arg 2010-05-17 16:30:42 -07:00
n411.c
neofb.c
nuc900fb.c drivers/video/nuc900fb.c: fix lcd build error 2010-06-29 15:29:32 -07:00
nuc900fb.h NUC900 LCD Controller Driver 2010-03-12 15:52:34 -08:00
offb.c of/address: Clean up function declarations 2010-08-01 01:42:42 -06:00
output.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
p9100.c of/device: Replace struct of_device with struct platform_device 2010-08-06 09:25:50 -06:00
platinumfb.c of/device: Replace struct of_device with struct platform_device 2010-08-06 09:25:50 -06:00
platinumfb.h
pm2fb.c tree-wide: s/widht/width/g typo in comments 2010-02-05 12:22:42 +01:00
pm3fb.c
pmag-aa-fb.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
pmag-ba-fb.c VIDEO: PMAG-BA: Fix section mismatch 2010-07-26 19:08:14 +01:00
pmagb-b-fb.c VIDEO: PMAGB-B: Fix section mismatch 2010-07-26 19:08:15 +01:00
ps3fb.c powerpc/cell: Move CBE_IOPTE_* to <asm/cell-regs.h> 2009-08-20 10:29:26 +10:00
pvr2fb.c sh: Fix up more 64-bit pgprot truncation on SH-X2 TLB. 2010-02-17 13:23:00 +09:00
pxa168fb.c ARM: pxa168fb: add .remove function 2010-10-09 17:07:23 +08:00
pxa168fb.h fb: add support of LCD display controller on pxa168/910 (base layer) 2009-06-13 00:09:09 +08:00
pxafb.c [ARM] pxafb: fix building issue of incorrect reference 2009-12-29 14:11:27 +08:00
pxafb.h
q40fb.c fbdev/m68k: Fix section mismatches in q40fb.c 2010-10-22 09:43:25 +02:00
s1d13xxxfb.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
s3c2410fb.c s3c2410fb: fix sections 2010-05-25 08:07:09 -07:00
s3c2410fb.h s3c-fb: CPUFREQ frequency scaling support 2009-06-16 19:47:59 -07:00
s3c-fb.c s3c-fb: automatically calculate pixel clock when none is given 2010-08-11 08:59:12 -07:00
s3fb.c add support for S3 Trio3D/1X/2X 2010-05-27 09:12:42 -07:00
sa1100fb.c platform-drivers: move probe to .devinit.text in drivers/video 2010-03-07 17:04:50 -08:00
sa1100fb.h sa1100fb: fix color component length for pseudocolor modes 2009-04-13 15:04:29 -07:00
sbuslib.c
sbuslib.h
sgivwfb.c sgivwfb: fix sections 2010-05-25 08:07:09 -07:00
sh7760fb.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
sh_mipi_dsi.c fbdev: sh_mobile_lcdcfb: Support multiple video modes in platform data 2010-09-14 17:22:38 +09:00
sh_mobile_hdmi.c Merge master.kernel.org:/pub/scm/linux/kernel/git/lethal/genesis-2.6 into devel-stable 2010-10-28 20:14:38 +01:00
sh_mobile_lcdcfb.c Merge master.kernel.org:/pub/scm/linux/kernel/git/lethal/genesis-2.6 into devel-stable 2010-10-28 20:14:38 +01:00
sh_mobile_lcdcfb.h fbdev: sh_mobile_lcdc: reconfigure the framebuffer, when free 2010-09-16 16:36:17 +09:00
skeletonfb.c fbdev: fix color component field length documentation 2009-04-13 15:04:29 -07:00
sm501fb.c tree-wide: Assorted spelling fixes 2010-02-09 11:13:56 +01:00
sstfb.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
sticore.h
stifb.c tree-wide: fix assorted typos all over the place 2009-12-04 15:39:55 +01:00
sunxvr500.c Merge branch 'master' into export-slabh 2010-04-05 11:37:28 +09:00
sunxvr1000.c of/device: Replace struct of_device with struct platform_device 2010-08-06 09:25:50 -06:00
sunxvr2500.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
svgalib.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
syscopyarea.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
sysfillrect.c fbdev: fix fillrect for 24bpp modes 2009-05-06 16:36:10 -07:00
sysimgblt.c
tcx.c of/device: Replace struct of_device with struct platform_device 2010-08-06 09:25:50 -06:00
tdfxfb.c VIDEO: Correct use of request_region/request_mem_region 2010-08-05 13:25:38 +01:00
tgafb.c fix typos concerning "initiali[zs]e" 2010-06-16 18:05:05 +02:00
tmiofb.c drivers/video/tmiofb.c: fix uninitialised return value 2009-09-23 07:39:57 -07:00
tridentfb.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
uvesafb.c param: use ops in struct kernel_param, rather than get and set fns directly 2010-08-11 23:04:13 +09:30
valkyriefb.c valkyriefb: various fixes 2010-02-27 18:31:13 +01:00
valkyriefb.h valkyriefb: various fixes 2010-02-27 18:31:13 +01:00
vesafb.c vesafb: fix comment a typo 2010-08-16 15:14:03 +02:00
vfb.c fbdev: section cleanup in vfb 2010-05-25 08:07:08 -07:00
vga16fb.c fbdev: section cleanup in vga16fb 2010-05-25 08:07:08 -07:00
vgastate.c
vt8623fb.c param: simple locking for sysfs-writable charp parameters 2010-08-11 23:04:31 +09:30
w100fb.c drivers/video/w100fb.c: ignore void return value / fix build failure 2010-08-09 20:44:53 -07:00
w100fb.h
xen-fbfront.c xenbus: prevent warnings on unhandled enumeration values 2010-10-18 10:49:36 -04:00
xilinxfb.c fbdev/xilinxfb: Microblaze driver support 2010-10-21 16:04:51 +10:00