kernel-ark/include/video
Jaya Kumar b32bfc3843 broadsheetfb: support storing waveform
This patch adds waveform storing capability to broadsheetfb. It uses the
firmware class to retrieve the waveform, and the request to initiate the
waveform storing is done via a driver sysfs entry, loadstore_waveform.

Broadsheet is a framebuffer device.  It is slightly different from a
typical framebuffer controller that drives a normal TFT-LCD display.  Most
E-Ink display panels require a waveform in order to function.  That is, in
order to drive the state of a pixel to black, gray, or white, a specific
waveform is utilized.  Basically, that waveform represents the specific
E-field wiggling needed to get the pixel to its optimal state given
current temperature, and its previous state.  TN/IPS-LCDs use a similar
concept but the driving waveform is sufficiently simple that it is
internalized in the TFT source/gate driver.

These E-Ink waveforms are specific to a production batch.  That is, a
batch of display films are produced, then they get characterized and a
waveform is generated for that batch.  Broadsheet, typically, is attached
to its private SPI flash which is then flashed with this waveform.

Users won't be able to see the waveform and typically won't ever need to
know about it.  If however, the display panel attached to broadsheet is
changed out, then they will need to update their waveform.  That would
typically be done at a factory or repair facility rather than by a user.

[akpm@linux-foundation.org: fix printk warning]
Signed-off-by: Jaya Kumar <jayakumar.lkml@gmail.com>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2010-03-12 15:52:34 -08:00
..
atmel_lcdc.h atmel_lcdfb: change irq_base definition to allow error reporting 2008-11-12 17:17:16 -08:00
aty128.h atyfb: fix header file trailing whitespace 2009-04-01 08:59:26 -07:00
broadsheetfb.h broadsheetfb: support storing waveform 2010-03-12 15:52:34 -08:00
cirrus.h cirrusfb: Laguna chipset 8bpp fix 2009-04-01 08:59:27 -07:00
cvisionppc.h
da8xx-fb.h davinci: fb: update the driver in preparation for addition of power management features 2009-12-16 07:20:04 -08:00
edid.h
epson1355.h
gbe.h
hecubafb.h
iga.h
ili9320.h
Kbuild
kyro.h
mach64.h atyfb: fix CONFIG_ namespace violations 2009-02-05 12:56:48 -08:00
maxinefb.h
mbxfb.h
metronomefb.h [ARM] 5209/1: metronomefb: changes to use platform framebuffer 2008-08-26 17:01:12 +01:00
neomagic.h neofb: remove open_lock mutex 2008-10-16 11:21:42 -07:00
newport.h fbdev: newport: newport_*wait() return 0 on timeout 2009-04-01 08:59:31 -07:00
permedia2.h
platform_lcd.h
pm3fb.h
pmag-ba-fb.h
pmagb-b-fb.h
pxa168fb.h pxa168fb: remove useless vsync/hsync invert flag 2009-12-01 09:02:32 +08:00
radeon.h atyfb: fix header file trailing whitespace 2009-04-01 08:59:26 -07:00
s1d13xxxfb.h fbdev: s1d13xxxfb: add accelerated bitblt functions 2009-06-16 19:48:00 -07:00
sgivw.h sgivwfb: Make use of ARRAY_SIZE. 2009-12-04 15:39:52 +01:00
sh_mobile_lcdc.h video: sh_mobile_lcdcfb: Add wait for vsync. 2010-02-16 13:30:27 +09:00
sisfb.h headers_check fix: video/sisfb.h 2009-01-31 00:14:28 +05:30
sstfb.h
tdfx.h tdfxfb: move I2C functionality into the tdfxfb 2009-04-07 08:31:08 -07:00
tgafb.h
trident.h
uvesafb.h headers_check fix: video/uvesafb.h 2009-01-31 00:14:52 +05:30
vga.h
w100fb.h